capacitor-extended-dialog 0.0.12 → 0.0.13
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/README.md +2 -0
- package/android/src/main/java/com/albermonte/extendeddialog/DialogStyleOptions.java +3 -1
- package/android/src/main/java/com/albermonte/extendeddialog/ExtendedDialog.java +4 -0
- package/android/src/main/java/com/albermonte/extendeddialog/ExtendedDialogPlugin.java +4 -0
- package/android/src/main/java/com/albermonte/extendeddialog/SheetBottomDialogFragment.java +69 -46
- package/dist/docs.json +14 -0
- package/dist/esm/definitions.d.ts +4 -0
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/web.js +27 -12
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +27 -12
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +27 -12
- package/dist/plugin.js.map +1 -1
- package/ios/Sources/ExtendedDialogPlugin/ExtendedDialog.swift +9 -4
- package/ios/Sources/ExtendedDialogPlugin/ExtendedDialogPlugin.swift +4 -0
- package/ios/Sources/ExtendedDialogPlugin/FullScreenDialogViewController.swift +43 -2
- package/package.json +1 -1
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst ExtendedDialog = registerPlugin('ExtendedDialog', {\n web: () => import('./web').then((m) => new m.ExtendedDialogWeb()),\n});\nexport * from './definitions';\nexport { ExtendedDialog };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class ExtendedDialogWeb extends WebPlugin {\n async alert(options) {\n const message = options.title ? `${options.title}\\n\\n${options.message}` : options.message;\n window.alert(message);\n }\n async confirm(options) {\n const message = options.title ? `${options.title}\\n\\n${options.message}` : options.message;\n const result = window.confirm(message);\n return { value: result };\n }\n async prompt(options) {\n var _a;\n // Note: focusInput option is ignored on web as window.prompt() handles focus automatically\n // and does not provide programmatic control over keyboard/focus behavior\n const message = options.title ? `${options.title}\\n\\n${options.message}` : options.message;\n const result = window.prompt(message, (_a = options.inputText) !== null && _a !== void 0 ? _a : '');\n return {\n value: result !== null && result !== void 0 ? result : '',\n cancelled: result === null,\n };\n }\n async singleSelect(options) {\n return new Promise((resolve) => {\n var _a, _b, _c;\n const overlay = this.createOverlay();\n const dialog = this.createDialogContainer(options.title, options.message, options);\n const optionsContainer = document.createElement('div');\n optionsContainer.style.cssText = 'max-height: 300px; overflow-y: auto; margin: 16px 0;';\n let selectedValue = (_a = options.selectedValue) !== null && _a !== void 0 ? _a : null;\n options.options.forEach((option) => {\n const label = document.createElement('label');\n label.style.cssText =\n 'display: flex; align-items: center; padding: 12px 0; cursor: pointer; border-bottom: 1px solid #e0e0e0;';\n const radio = document.createElement('input');\n radio.type = 'radio';\n radio.name = 'singleSelect';\n radio.value = option.value;\n radio.checked = option.value === selectedValue;\n radio.style.cssText = 'margin-right: 12px; width: 20px; height: 20px;';\n radio.addEventListener('change', () => {\n selectedValue = option.value;\n });\n const text = document.createElement('span');\n text.textContent = option.label;\n text.style.cssText = 'font-size: 16px;';\n label.appendChild(radio);\n label.appendChild(text);\n optionsContainer.appendChild(label);\n });\n dialog.appendChild(optionsContainer);\n const buttonContainer = this.createButtonContainer(options.contentButtonSpacing);\n const cancelButton = this.createButton((_b = options.cancelButtonTitle) !== null && _b !== void 0 ? _b : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ value: null, cancelled: true });\n }, options);\n const okButton = this.createButton((_c = options.okButtonTitle) !== null && _c !== void 0 ? _c : 'OK', true, () => {\n this.removeOverlay(overlay);\n resolve({ value: selectedValue, cancelled: false });\n }, options);\n buttonContainer.appendChild(cancelButton);\n buttonContainer.appendChild(okButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n async multiSelect(options) {\n return new Promise((resolve) => {\n var _a, _b, _c;\n const overlay = this.createOverlay();\n const dialog = this.createDialogContainer(options.title, options.message, options);\n const optionsContainer = document.createElement('div');\n optionsContainer.style.cssText = 'max-height: 300px; overflow-y: auto; margin: 16px 0;';\n const selectedValues = new Set((_a = options.selectedValues) !== null && _a !== void 0 ? _a : []);\n options.options.forEach((option) => {\n const label = document.createElement('label');\n label.style.cssText =\n 'display: flex; align-items: center; padding: 12px 0; cursor: pointer; border-bottom: 1px solid #e0e0e0;';\n const checkbox = document.createElement('input');\n checkbox.type = 'checkbox';\n checkbox.value = option.value;\n checkbox.checked = selectedValues.has(option.value);\n checkbox.style.cssText = 'margin-right: 12px; width: 20px; height: 20px;';\n checkbox.addEventListener('change', () => {\n if (checkbox.checked) {\n selectedValues.add(option.value);\n }\n else {\n selectedValues.delete(option.value);\n }\n });\n const text = document.createElement('span');\n text.textContent = option.label;\n text.style.cssText = 'font-size: 16px;';\n label.appendChild(checkbox);\n label.appendChild(text);\n optionsContainer.appendChild(label);\n });\n dialog.appendChild(optionsContainer);\n const buttonContainer = this.createButtonContainer(options.contentButtonSpacing);\n const cancelButton = this.createButton((_b = options.cancelButtonTitle) !== null && _b !== void 0 ? _b : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ values: [], cancelled: true });\n }, options);\n const okButton = this.createButton((_c = options.okButtonTitle) !== null && _c !== void 0 ? _c : 'OK', true, () => {\n this.removeOverlay(overlay);\n resolve({ values: Array.from(selectedValues), cancelled: false });\n }, options);\n buttonContainer.appendChild(cancelButton);\n buttonContainer.appendChild(okButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n createOverlay() {\n const overlay = document.createElement('div');\n overlay.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 999999;\n `;\n return overlay;\n }\n createDialogContainer(title, message, styleOptions) {\n var _a, _b, _c, _d, _e;\n const dialog = document.createElement('div');\n const bgColor = (_a = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.backgroundColor) !== null && _a !== void 0 ? _a : 'white';\n dialog.style.cssText = `\n background: ${bgColor};\n border-radius: 16px;\n padding: 24px;\n min-width: 300px;\n max-width: 400px;\n max-height: 80vh;\n overflow-y: auto;\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);\n `;\n if (title) {\n const titleEl = document.createElement('h2');\n titleEl.textContent = title;\n const titleFontSize = (_b = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.titleFontSize) !== null && _b !== void 0 ? _b : 20;\n const titleColor = (_c = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.titleColor) !== null && _c !== void 0 ? _c : 'inherit';\n titleEl.style.cssText = `margin: 0 0 8px 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor};`;\n dialog.appendChild(titleEl);\n }\n if (message) {\n const messageEl = document.createElement('p');\n messageEl.textContent = message;\n const messageFontSize = (_d = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.messageFontSize) !== null && _d !== void 0 ? _d : 14;\n const messageColor = (_e = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.messageColor) !== null && _e !== void 0 ? _e : '#666';\n messageEl.style.cssText = `margin: 0; font-size: ${messageFontSize}px; color: ${messageColor};`;\n dialog.appendChild(messageEl);\n }\n return dialog;\n }\n createButtonContainer(contentButtonSpacing) {\n const container = document.createElement('div');\n const spacing = contentButtonSpacing !== null && contentButtonSpacing !== void 0 ? contentButtonSpacing : 24;\n container.style.cssText = `display: flex; justify-content: flex-end; gap: 8px; margin-top: ${spacing}px;`;\n return container;\n }\n createButton(text, primary, onClick, styleOptions) {\n var _a, _b, _c;\n const button = document.createElement('button');\n button.textContent = text;\n const fontSize = (_a = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.buttonFontSize) !== null && _a !== void 0 ? _a : 14;\n const primaryColor = (_b = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.buttonColor) !== null && _b !== void 0 ? _b : '#6750A4';\n const cancelColor = (_c = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.cancelButtonColor) !== null && _c !== void 0 ? _c : '#6750A4';\n button.style.cssText = `\n padding: 10px 24px;\n border-radius: 8px;\n font-size: ${fontSize}px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n ${primary ? `background: ${primaryColor}; color: white;` : `background: transparent; color: ${cancelColor};`}\n `;\n button.addEventListener('click', onClick);\n return button;\n }\n removeOverlay(overlay) {\n overlay.remove();\n }\n async sheet(options) {\n return new Promise((resolve) => {\n var _a, _b, _c, _d;\n const overlay = this.createOverlay();\n const dialog = this.createSheetDialogContainer(options);\n // Header section with logo and title\n const headerSection = document.createElement('div');\n headerSection.style.cssText = 'display: flex; flex-direction: column; align-items: center; margin-bottom: 24px;';\n if (options.headerLogo) {\n const headerLogo = document.createElement('img');\n headerLogo.src = options.headerLogo;\n // Apply corner radius (default 8px, -1 for circle)\n const radiusPx = options.headerLogoCornerRadius;\n let borderRadius;\n if (radiusPx !== undefined && radiusPx < 0) {\n // -1 means full circle\n borderRadius = '50%';\n }\n else {\n borderRadius = `${radiusPx !== null && radiusPx !== void 0 ? radiusPx : 8}px`;\n }\n headerLogo.style.cssText = `width: 48px; height: 48px; object-fit: contain; margin-bottom: 12px; border-radius: ${borderRadius};`;\n headerLogo.onerror = () => {\n headerLogo.style.display = 'none';\n };\n headerSection.appendChild(headerLogo);\n }\n const titleEl = document.createElement('h2');\n titleEl.textContent = options.title;\n const titleFontSize = (_a = options.titleFontSize) !== null && _a !== void 0 ? _a : 20;\n const titleColor = (_b = options.titleColor) !== null && _b !== void 0 ? _b : 'inherit';\n titleEl.style.cssText = `margin: 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor}; text-align: center;`;\n headerSection.appendChild(titleEl);\n dialog.appendChild(headerSection);\n // Rows container\n const rowsContainer = document.createElement('div');\n rowsContainer.style.cssText = 'display: flex; flex-direction: column; gap: 0; margin-bottom: 24px;';\n options.rows.forEach((row, index) => {\n var _a, _b;\n const rowEl = document.createElement('div');\n rowEl.style.cssText = `\n display: flex;\n align-items: center;\n padding: 16px 0;\n ${index < options.rows.length - 1 ? 'border-bottom: 1px solid #e0e0e0;' : ''}\n `;\n if (row.logo) {\n const rowLogo = document.createElement('img');\n rowLogo.src = row.logo;\n rowLogo.style.cssText =\n 'width: 24px; height: 24px; object-fit: contain; margin-right: 12px; border-radius: 4px; flex-shrink: 0;';\n rowLogo.onerror = () => {\n rowLogo.style.display = 'none';\n };\n rowEl.appendChild(rowLogo);\n }\n const rowTitle = document.createElement('span');\n rowTitle.textContent = row.title;\n const messageFontSize = (_a = options.messageFontSize) !== null && _a !== void 0 ? _a : 16;\n const messageColor = (_b = options.messageColor) !== null && _b !== void 0 ? _b : '#333';\n rowTitle.style.cssText = `font-size: ${messageFontSize}px; color: ${messageColor}; flex: 1;`;\n rowEl.appendChild(rowTitle);\n if (row.value) {\n const rowValue = document.createElement('span');\n rowValue.textContent = row.value;\n rowValue.style.cssText = `font-size: ${messageFontSize}px; color: #666; text-align: right; margin-left: 12px;`;\n rowEl.appendChild(rowValue);\n }\n rowsContainer.appendChild(rowEl);\n });\n dialog.appendChild(rowsContainer);\n // For sheets with ≤4 rows and no explicit spacing, add extra spacing to reach ~50% viewport height\n let sheetSpacing = options.contentButtonSpacing;\n if (sheetSpacing === undefined && options.rows.length <= 4) {\n const targetHeight = window.innerHeight * 0.5;\n // Estimate content: padding(48) + header(~80) + rows(~49 each) + buttons(~44) + default spacing(24)\n const estimatedHeight = 48 + 80 + options.rows.length * 49 + 44 + 24;\n if (targetHeight > estimatedHeight) {\n sheetSpacing = 24 + (targetHeight - estimatedHeight);\n }\n }\n // Button container\n const buttonContainer = this.createButtonContainer(sheetSpacing);\n const cancelButton = this.createButton((_c = options.cancelButtonTitle) !== null && _c !== void 0 ? _c : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: false });\n }, options);\n const confirmButton = this.createButton((_d = options.confirmButtonTitle) !== null && _d !== void 0 ? _d : 'Confirm', true, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: true });\n }, options);\n buttonContainer.appendChild(cancelButton);\n buttonContainer.appendChild(confirmButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n async messageSheet(options) {\n return new Promise((resolve) => {\n var _a, _b, _c, _d, _e, _f, _g;\n const overlay = this.createOverlay();\n const dialog = this.createMessageSheetDialogContainer(options);\n const content = document.createElement('div');\n content.style.cssText = 'display: flex; flex-direction: column; flex: 1 1 auto; overflow-y: auto;';\n if (options.headerLogo) {\n const headerLogo = document.createElement('img');\n headerLogo.src = options.headerLogo;\n const logoSize = options.mode === 'fullscreen' ? 64 : 48;\n // Apply corner radius (default 8px, -1 for circle)\n const radiusPx = options.headerLogoCornerRadius;\n let borderRadius;\n if (radiusPx !== undefined && radiusPx < 0) {\n // -1 means full circle\n borderRadius = '50%';\n }\n else {\n borderRadius = `${radiusPx !== null && radiusPx !== void 0 ? radiusPx : 8}px`;\n }\n headerLogo.style.cssText = `width: ${logoSize}px; height: ${logoSize}px; object-fit: contain; margin: 0 auto 16px auto; border-radius: ${borderRadius};`;\n headerLogo.onerror = () => {\n headerLogo.style.display = 'none';\n };\n content.appendChild(headerLogo);\n }\n const titleEl = document.createElement('h2');\n titleEl.textContent = options.title;\n const titleFontSize = (_a = options.titleFontSize) !== null && _a !== void 0 ? _a : 20;\n const titleColor = (_b = options.titleColor) !== null && _b !== void 0 ? _b : 'inherit';\n titleEl.style.cssText = `margin: 0 0 16px 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor}; text-align: center;`;\n content.appendChild(titleEl);\n const messageEl = document.createElement('p');\n messageEl.textContent = options.message;\n const messageFontSize = (_c = options.messageFontSize) !== null && _c !== void 0 ? _c : 16;\n const messageColor = (_d = options.messageColor) !== null && _d !== void 0 ? _d : '#666';\n messageEl.style.cssText = `margin: 0; font-size: ${messageFontSize}px; color: ${messageColor}; white-space: pre-wrap; word-break: break-word;`;\n const messageContainer = document.createElement('div');\n messageContainer.style.cssText =\n 'background: #E5E5EA; border-radius: 12px; padding: 16px; margin: 0;';\n messageContainer.appendChild(messageEl);\n content.appendChild(messageContainer);\n dialog.appendChild(content);\n const spacing = (_e = options.contentButtonSpacing) !== null && _e !== void 0 ? _e : 24;\n const buttonContainer = document.createElement('div');\n buttonContainer.style.cssText = `display: flex; flex-direction: column; gap: 12px; margin-top: ${spacing}px;`;\n const confirmButton = this.createButton((_f = options.confirmButtonTitle) !== null && _f !== void 0 ? _f : 'Confirm', true, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: true });\n }, options);\n const cancelButton = this.createButton((_g = options.cancelButtonTitle) !== null && _g !== void 0 ? _g : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: false });\n }, options);\n buttonContainer.appendChild(confirmButton);\n buttonContainer.appendChild(cancelButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n createSheetDialogContainer(options) {\n var _a;\n const dialog = document.createElement('div');\n const bgColor = (_a = options.backgroundColor) !== null && _a !== void 0 ? _a : 'white';\n dialog.style.cssText = `\n background: ${bgColor};\n border-radius: 16px;\n padding: 24px;\n min-width: 320px;\n max-width: 420px;\n max-height: 80vh;\n overflow-y: auto;\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);\n `;\n return dialog;\n }\n createMessageSheetDialogContainer(options) {\n var _a;\n const dialog = document.createElement('div');\n const bgColor = (_a = options.backgroundColor) !== null && _a !== void 0 ? _a : 'white';\n const isFullscreen = options.mode === 'fullscreen';\n dialog.style.cssText = `\n background: ${bgColor};\n border-radius: ${isFullscreen ? '0' : '16px'};\n padding: 24px;\n width: ${isFullscreen ? '100%' : 'min(90vw, 420px)'};\n height: ${isFullscreen ? '100%' : 'auto'};\n max-height: ${isFullscreen ? '100vh' : '80vh'};\n display: flex;\n flex-direction: column;\n box-shadow: ${isFullscreen ? 'none' : '0 4px 24px rgba(0, 0, 0, 0.2)'};\n `;\n return dialog;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst ExtendedDialog = registerPlugin('ExtendedDialog', {\n web: () => import('./web').then((m) => new m.ExtendedDialogWeb()),\n});\nexport * from './definitions';\nexport { ExtendedDialog };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class ExtendedDialogWeb extends WebPlugin {\n async alert(options) {\n const message = options.title ? `${options.title}\\n\\n${options.message}` : options.message;\n window.alert(message);\n }\n async confirm(options) {\n const message = options.title ? `${options.title}\\n\\n${options.message}` : options.message;\n const result = window.confirm(message);\n return { value: result };\n }\n async prompt(options) {\n var _a;\n // Note: focusInput option is ignored on web as window.prompt() handles focus automatically\n // and does not provide programmatic control over keyboard/focus behavior\n const message = options.title ? `${options.title}\\n\\n${options.message}` : options.message;\n const result = window.prompt(message, (_a = options.inputText) !== null && _a !== void 0 ? _a : '');\n return {\n value: result !== null && result !== void 0 ? result : '',\n cancelled: result === null,\n };\n }\n async singleSelect(options) {\n return new Promise((resolve) => {\n var _a, _b, _c;\n const overlay = this.createOverlay();\n const dialog = this.createDialogContainer(options.title, options.message, options);\n const optionsContainer = document.createElement('div');\n optionsContainer.style.cssText = 'max-height: 300px; overflow-y: auto; margin: 16px 0;';\n let selectedValue = (_a = options.selectedValue) !== null && _a !== void 0 ? _a : null;\n options.options.forEach((option) => {\n const label = document.createElement('label');\n label.style.cssText =\n 'display: flex; align-items: center; padding: 12px 0; cursor: pointer; border-bottom: 1px solid #e0e0e0;';\n const radio = document.createElement('input');\n radio.type = 'radio';\n radio.name = 'singleSelect';\n radio.value = option.value;\n radio.checked = option.value === selectedValue;\n radio.style.cssText = 'margin-right: 12px; width: 20px; height: 20px;';\n radio.addEventListener('change', () => {\n selectedValue = option.value;\n });\n const text = document.createElement('span');\n text.textContent = option.label;\n text.style.cssText = 'font-size: 16px;';\n label.appendChild(radio);\n label.appendChild(text);\n optionsContainer.appendChild(label);\n });\n dialog.appendChild(optionsContainer);\n const buttonContainer = this.createButtonContainer(options.contentButtonSpacing);\n const cancelButton = this.createButton((_b = options.cancelButtonTitle) !== null && _b !== void 0 ? _b : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ value: null, cancelled: true });\n }, options);\n const okButton = this.createButton((_c = options.okButtonTitle) !== null && _c !== void 0 ? _c : 'OK', true, () => {\n this.removeOverlay(overlay);\n resolve({ value: selectedValue, cancelled: false });\n }, options);\n buttonContainer.appendChild(cancelButton);\n buttonContainer.appendChild(okButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n async multiSelect(options) {\n return new Promise((resolve) => {\n var _a, _b, _c;\n const overlay = this.createOverlay();\n const dialog = this.createDialogContainer(options.title, options.message, options);\n const optionsContainer = document.createElement('div');\n optionsContainer.style.cssText = 'max-height: 300px; overflow-y: auto; margin: 16px 0;';\n const selectedValues = new Set((_a = options.selectedValues) !== null && _a !== void 0 ? _a : []);\n options.options.forEach((option) => {\n const label = document.createElement('label');\n label.style.cssText =\n 'display: flex; align-items: center; padding: 12px 0; cursor: pointer; border-bottom: 1px solid #e0e0e0;';\n const checkbox = document.createElement('input');\n checkbox.type = 'checkbox';\n checkbox.value = option.value;\n checkbox.checked = selectedValues.has(option.value);\n checkbox.style.cssText = 'margin-right: 12px; width: 20px; height: 20px;';\n checkbox.addEventListener('change', () => {\n if (checkbox.checked) {\n selectedValues.add(option.value);\n }\n else {\n selectedValues.delete(option.value);\n }\n });\n const text = document.createElement('span');\n text.textContent = option.label;\n text.style.cssText = 'font-size: 16px;';\n label.appendChild(checkbox);\n label.appendChild(text);\n optionsContainer.appendChild(label);\n });\n dialog.appendChild(optionsContainer);\n const buttonContainer = this.createButtonContainer(options.contentButtonSpacing);\n const cancelButton = this.createButton((_b = options.cancelButtonTitle) !== null && _b !== void 0 ? _b : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ values: [], cancelled: true });\n }, options);\n const okButton = this.createButton((_c = options.okButtonTitle) !== null && _c !== void 0 ? _c : 'OK', true, () => {\n this.removeOverlay(overlay);\n resolve({ values: Array.from(selectedValues), cancelled: false });\n }, options);\n buttonContainer.appendChild(cancelButton);\n buttonContainer.appendChild(okButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n createOverlay() {\n const overlay = document.createElement('div');\n overlay.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 999999;\n `;\n return overlay;\n }\n createDialogContainer(title, message, styleOptions) {\n var _a, _b, _c, _d, _e;\n const dialog = document.createElement('div');\n const bgColor = (_a = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.backgroundColor) !== null && _a !== void 0 ? _a : 'white';\n dialog.style.cssText = `\n background: ${bgColor};\n border-radius: 16px;\n padding: 24px;\n min-width: 300px;\n max-width: 400px;\n max-height: 80vh;\n overflow-y: auto;\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);\n `;\n if (title) {\n const titleEl = document.createElement('h2');\n titleEl.textContent = title;\n const titleFontSize = (_b = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.titleFontSize) !== null && _b !== void 0 ? _b : 20;\n const titleColor = (_c = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.titleColor) !== null && _c !== void 0 ? _c : 'inherit';\n titleEl.style.cssText = `margin: 0 0 8px 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor};`;\n dialog.appendChild(titleEl);\n }\n if (message) {\n const messageEl = document.createElement('p');\n messageEl.textContent = message;\n const messageFontSize = (_d = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.messageFontSize) !== null && _d !== void 0 ? _d : 14;\n const messageColor = (_e = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.messageColor) !== null && _e !== void 0 ? _e : '#666';\n messageEl.style.cssText = `margin: 0; font-size: ${messageFontSize}px; color: ${messageColor};`;\n dialog.appendChild(messageEl);\n }\n return dialog;\n }\n createButtonContainer(contentButtonSpacing) {\n const container = document.createElement('div');\n const spacing = contentButtonSpacing !== null && contentButtonSpacing !== void 0 ? contentButtonSpacing : 24;\n container.style.cssText = `display: flex; justify-content: flex-end; gap: 8px; margin-top: ${spacing}px;`;\n return container;\n }\n createButton(text, primary, onClick, styleOptions) {\n var _a, _b, _c;\n const button = document.createElement('button');\n button.textContent = text;\n const fontSize = (_a = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.buttonFontSize) !== null && _a !== void 0 ? _a : 14;\n const primaryColor = (_b = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.buttonColor) !== null && _b !== void 0 ? _b : '#6750A4';\n const cancelColor = (_c = styleOptions === null || styleOptions === void 0 ? void 0 : styleOptions.cancelButtonColor) !== null && _c !== void 0 ? _c : '#6750A4';\n button.style.cssText = `\n padding: 10px 24px;\n border-radius: 8px;\n font-size: ${fontSize}px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n ${primary ? `background: ${primaryColor}; color: white;` : `background: transparent; color: ${cancelColor};`}\n `;\n button.addEventListener('click', onClick);\n return button;\n }\n removeOverlay(overlay) {\n overlay.remove();\n }\n async sheet(options) {\n return new Promise((resolve) => {\n var _a, _b, _c, _d, _e, _f;\n const overlay = this.createOverlay();\n const dialog = this.createSheetDialogContainer(options);\n // Header section with logo and title\n const headerSection = document.createElement('div');\n headerSection.style.cssText = 'display: flex; flex-direction: column; align-items: center; margin-bottom: 24px;';\n if (options.headerLogo) {\n const headerLogo = document.createElement('img');\n headerLogo.src = options.headerLogo;\n // Apply corner radius (default 8px, -1 for circle)\n const radiusPx = options.headerLogoCornerRadius;\n let borderRadius;\n if (radiusPx !== undefined && radiusPx < 0) {\n // -1 means full circle\n borderRadius = '50%';\n }\n else {\n borderRadius = `${radiusPx !== null && radiusPx !== void 0 ? radiusPx : 8}px`;\n }\n headerLogo.style.cssText = `width: 48px; height: 48px; object-fit: contain; margin-bottom: 12px; border-radius: ${borderRadius};`;\n headerLogo.onerror = () => {\n headerLogo.style.display = 'none';\n };\n headerSection.appendChild(headerLogo);\n }\n const titleEl = document.createElement('h2');\n titleEl.textContent = options.title;\n const titleFontSize = (_a = options.titleFontSize) !== null && _a !== void 0 ? _a : 20;\n const titleColor = (_b = options.titleColor) !== null && _b !== void 0 ? _b : 'inherit';\n titleEl.style.cssText = `margin: 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor}; text-align: center;`;\n headerSection.appendChild(titleEl);\n if (options.subtitle) {\n const subtitleEl = document.createElement('p');\n subtitleEl.textContent = options.subtitle;\n const subtitleFontSize = (_c = options.messageFontSize) !== null && _c !== void 0 ? _c : 14;\n const subtitleColor = (_d = options.messageColor) !== null && _d !== void 0 ? _d : '#666';\n subtitleEl.style.cssText = `margin: 4px 0 0 0; font-size: ${subtitleFontSize}px; font-weight: 400; color: ${subtitleColor}; text-align: center;`;\n headerSection.appendChild(subtitleEl);\n }\n dialog.appendChild(headerSection);\n // Rows container\n const rowsContainer = document.createElement('div');\n rowsContainer.style.cssText = 'display: flex; flex-direction: column; gap: 0; margin-bottom: 24px;';\n options.rows.forEach((row, index) => {\n var _a, _b;\n const rowEl = document.createElement('div');\n rowEl.style.cssText = `\n display: flex;\n align-items: center;\n padding: 16px 0;\n ${index < options.rows.length - 1 ? 'border-bottom: 1px solid #e0e0e0;' : ''}\n `;\n if (row.logo) {\n const rowLogo = document.createElement('img');\n rowLogo.src = row.logo;\n rowLogo.style.cssText =\n 'width: 24px; height: 24px; object-fit: contain; margin-right: 12px; border-radius: 4px; flex-shrink: 0;';\n rowLogo.onerror = () => {\n rowLogo.style.display = 'none';\n };\n rowEl.appendChild(rowLogo);\n }\n const rowTitle = document.createElement('span');\n rowTitle.textContent = row.title;\n const messageFontSize = (_a = options.messageFontSize) !== null && _a !== void 0 ? _a : 16;\n const messageColor = (_b = options.messageColor) !== null && _b !== void 0 ? _b : '#333';\n rowTitle.style.cssText = `font-size: ${messageFontSize}px; color: ${messageColor}; flex: 1;`;\n rowEl.appendChild(rowTitle);\n if (row.value) {\n const rowValue = document.createElement('span');\n rowValue.textContent = row.value;\n rowValue.style.cssText = `font-size: ${messageFontSize}px; color: #666; text-align: right; margin-left: 12px;`;\n rowEl.appendChild(rowValue);\n }\n rowsContainer.appendChild(rowEl);\n });\n dialog.appendChild(rowsContainer);\n // For sheets with ≤4 rows and no explicit spacing, add extra spacing to reach ~50% viewport height\n let sheetSpacing = options.contentButtonSpacing;\n if (sheetSpacing === undefined && options.rows.length <= 4) {\n const targetHeight = window.innerHeight * 0.5;\n // Estimate content: padding(48) + header(~80) + rows(~49 each) + buttons(~44) + default spacing(24)\n const estimatedHeight = 48 + 80 + options.rows.length * 49 + 44 + 24;\n if (targetHeight > estimatedHeight) {\n sheetSpacing = 24 + (targetHeight - estimatedHeight);\n }\n }\n // Button container\n const buttonContainer = this.createButtonContainer(sheetSpacing);\n const cancelButton = this.createButton((_e = options.cancelButtonTitle) !== null && _e !== void 0 ? _e : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: false });\n }, options);\n const confirmButton = this.createButton((_f = options.confirmButtonTitle) !== null && _f !== void 0 ? _f : 'Confirm', true, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: true });\n }, options);\n buttonContainer.appendChild(cancelButton);\n buttonContainer.appendChild(confirmButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n async messageSheet(options) {\n return new Promise((resolve) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n const overlay = this.createOverlay();\n const dialog = this.createMessageSheetDialogContainer(options);\n const content = document.createElement('div');\n content.style.cssText = 'display: flex; flex-direction: column; flex: 1 1 auto; overflow-y: auto;';\n if (options.headerLogo) {\n const headerLogo = document.createElement('img');\n headerLogo.src = options.headerLogo;\n const logoSize = options.mode === 'fullscreen' ? 64 : 48;\n // Apply corner radius (default 8px, -1 for circle)\n const radiusPx = options.headerLogoCornerRadius;\n let borderRadius;\n if (radiusPx !== undefined && radiusPx < 0) {\n // -1 means full circle\n borderRadius = '50%';\n }\n else {\n borderRadius = `${radiusPx !== null && radiusPx !== void 0 ? radiusPx : 8}px`;\n }\n headerLogo.style.cssText = `width: ${logoSize}px; height: ${logoSize}px; object-fit: contain; margin: 0 auto 16px auto; border-radius: ${borderRadius};`;\n headerLogo.onerror = () => {\n headerLogo.style.display = 'none';\n };\n content.appendChild(headerLogo);\n }\n const titleEl = document.createElement('h2');\n titleEl.textContent = options.title;\n const titleFontSize = (_a = options.titleFontSize) !== null && _a !== void 0 ? _a : 20;\n const titleColor = (_b = options.titleColor) !== null && _b !== void 0 ? _b : 'inherit';\n titleEl.style.cssText = `margin: 0 0 ${options.subtitle ? '4px' : '16px'} 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor}; text-align: center;`;\n content.appendChild(titleEl);\n if (options.subtitle) {\n const subtitleEl = document.createElement('p');\n subtitleEl.textContent = options.subtitle;\n const subtitleFontSize = (_c = options.messageFontSize) !== null && _c !== void 0 ? _c : 14;\n const subtitleColor = (_d = options.messageColor) !== null && _d !== void 0 ? _d : '#666';\n subtitleEl.style.cssText = `margin: 0 0 16px 0; font-size: ${subtitleFontSize}px; font-weight: 400; color: ${subtitleColor}; text-align: center;`;\n content.appendChild(subtitleEl);\n }\n const messageEl = document.createElement('p');\n messageEl.textContent = options.message;\n const messageFontSize = (_e = options.messageFontSize) !== null && _e !== void 0 ? _e : 16;\n const messageColor = (_f = options.messageColor) !== null && _f !== void 0 ? _f : '#666';\n messageEl.style.cssText = `margin: 0; font-size: ${messageFontSize}px; color: ${messageColor}; white-space: pre-wrap; word-break: break-word;`;\n const messageContainer = document.createElement('div');\n messageContainer.style.cssText = 'background: #E5E5EA; border-radius: 12px; padding: 16px; margin: 0;';\n messageContainer.appendChild(messageEl);\n content.appendChild(messageContainer);\n dialog.appendChild(content);\n const spacing = (_g = options.contentButtonSpacing) !== null && _g !== void 0 ? _g : 24;\n const buttonContainer = document.createElement('div');\n buttonContainer.style.cssText = `display: flex; flex-direction: column; gap: 12px; margin-top: ${spacing}px;`;\n const confirmButton = this.createButton((_h = options.confirmButtonTitle) !== null && _h !== void 0 ? _h : 'Confirm', true, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: true });\n }, options);\n const cancelButton = this.createButton((_j = options.cancelButtonTitle) !== null && _j !== void 0 ? _j : 'Cancel', false, () => {\n this.removeOverlay(overlay);\n resolve({ confirmed: false });\n }, options);\n buttonContainer.appendChild(confirmButton);\n buttonContainer.appendChild(cancelButton);\n dialog.appendChild(buttonContainer);\n overlay.appendChild(dialog);\n document.body.appendChild(overlay);\n });\n }\n createSheetDialogContainer(options) {\n var _a;\n const dialog = document.createElement('div');\n const bgColor = (_a = options.backgroundColor) !== null && _a !== void 0 ? _a : 'white';\n dialog.style.cssText = `\n background: ${bgColor};\n border-radius: 16px;\n padding: 24px;\n min-width: 320px;\n max-width: 420px;\n max-height: 80vh;\n overflow-y: auto;\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);\n `;\n return dialog;\n }\n createMessageSheetDialogContainer(options) {\n var _a;\n const dialog = document.createElement('div');\n const bgColor = (_a = options.backgroundColor) !== null && _a !== void 0 ? _a : 'white';\n const isFullscreen = options.mode === 'fullscreen';\n dialog.style.cssText = `\n background: ${bgColor};\n border-radius: ${isFullscreen ? '0' : '16px'};\n padding: 24px;\n width: ${isFullscreen ? '100%' : 'min(90vw, 420px)'};\n height: ${isFullscreen ? '100%' : 'auto'};\n max-height: ${isFullscreen ? '100vh' : '80vh'};\n display: flex;\n flex-direction: column;\n box-shadow: ${isFullscreen ? 'none' : '0 4px 24px rgba(0, 0, 0, 0.2)'};\n `;\n return dialog;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
@@ -422,6 +422,7 @@ public struct DialogStyleOptions {
|
|
|
422
422
|
|
|
423
423
|
public func showSheet(
|
|
424
424
|
title: String,
|
|
425
|
+
subtitle: String?,
|
|
425
426
|
headerLogo: String?,
|
|
426
427
|
rows: [[String: String]],
|
|
427
428
|
confirmButtonTitle: String?,
|
|
@@ -437,15 +438,16 @@ public struct DialogStyleOptions {
|
|
|
437
438
|
}
|
|
438
439
|
|
|
439
440
|
if fullscreen {
|
|
440
|
-
self.showFullScreenSheet(title: title, headerLogo: headerLogo, rows: sheetRows, confirmButtonTitle: confirmButtonTitle, cancelButtonTitle: cancelButtonTitle, styleOptions: styleOptions, callback: callback)
|
|
441
|
+
self.showFullScreenSheet(title: title, subtitle: subtitle, headerLogo: headerLogo, rows: sheetRows, confirmButtonTitle: confirmButtonTitle, cancelButtonTitle: cancelButtonTitle, styleOptions: styleOptions, callback: callback)
|
|
441
442
|
} else {
|
|
442
|
-
self.showBasicSheet(title: title, headerLogo: headerLogo, rows: sheetRows, confirmButtonTitle: confirmButtonTitle, cancelButtonTitle: cancelButtonTitle, styleOptions: styleOptions, callback: callback)
|
|
443
|
+
self.showBasicSheet(title: title, subtitle: subtitle, headerLogo: headerLogo, rows: sheetRows, confirmButtonTitle: confirmButtonTitle, cancelButtonTitle: cancelButtonTitle, styleOptions: styleOptions, callback: callback)
|
|
443
444
|
}
|
|
444
445
|
}
|
|
445
446
|
}
|
|
446
447
|
|
|
447
448
|
public func showMessageSheet(
|
|
448
449
|
title: String,
|
|
450
|
+
subtitle: String?,
|
|
449
451
|
message: String,
|
|
450
452
|
headerLogo: String?,
|
|
451
453
|
confirmButtonTitle: String?,
|
|
@@ -470,6 +472,7 @@ public struct DialogStyleOptions {
|
|
|
470
472
|
)
|
|
471
473
|
vc.sheetCallback = callback
|
|
472
474
|
vc.headerLogo = headerLogo
|
|
475
|
+
vc.subtitle = subtitle
|
|
473
476
|
|
|
474
477
|
if fullscreen {
|
|
475
478
|
self.presentFullScreen(vc)
|
|
@@ -479,7 +482,7 @@ public struct DialogStyleOptions {
|
|
|
479
482
|
}
|
|
480
483
|
}
|
|
481
484
|
|
|
482
|
-
private func showBasicSheet(title: String, headerLogo: String?, rows: [SheetRow], confirmButtonTitle: String?, cancelButtonTitle: String?, styleOptions: DialogStyleOptions?, callback: @escaping SheetCallback) {
|
|
485
|
+
private func showBasicSheet(title: String, subtitle: String?, headerLogo: String?, rows: [SheetRow], confirmButtonTitle: String?, cancelButtonTitle: String?, styleOptions: DialogStyleOptions?, callback: @escaping SheetCallback) {
|
|
483
486
|
// Use FullScreenDialogViewController in sheet presentation mode for basic sheet
|
|
484
487
|
let vc = FullScreenDialogViewController(
|
|
485
488
|
dialogType: .sheet,
|
|
@@ -496,11 +499,12 @@ public struct DialogStyleOptions {
|
|
|
496
499
|
)
|
|
497
500
|
vc.sheetCallback = callback
|
|
498
501
|
vc.headerLogo = headerLogo
|
|
502
|
+
vc.subtitle = subtitle
|
|
499
503
|
vc.sheetRows = rows
|
|
500
504
|
presentBasicSheet(vc)
|
|
501
505
|
}
|
|
502
506
|
|
|
503
|
-
private func showFullScreenSheet(title: String, headerLogo: String?, rows: [SheetRow], confirmButtonTitle: String?, cancelButtonTitle: String?, styleOptions: DialogStyleOptions?, callback: @escaping SheetCallback) {
|
|
507
|
+
private func showFullScreenSheet(title: String, subtitle: String?, headerLogo: String?, rows: [SheetRow], confirmButtonTitle: String?, cancelButtonTitle: String?, styleOptions: DialogStyleOptions?, callback: @escaping SheetCallback) {
|
|
504
508
|
let vc = FullScreenDialogViewController(
|
|
505
509
|
dialogType: .sheet,
|
|
506
510
|
dialogTitle: title,
|
|
@@ -516,6 +520,7 @@ public struct DialogStyleOptions {
|
|
|
516
520
|
)
|
|
517
521
|
vc.sheetCallback = callback
|
|
518
522
|
vc.headerLogo = headerLogo
|
|
523
|
+
vc.subtitle = subtitle
|
|
519
524
|
vc.sheetRows = rows
|
|
520
525
|
presentFullScreen(vc)
|
|
521
526
|
}
|
|
@@ -188,6 +188,7 @@ public class ExtendedDialogPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
188
188
|
call.reject("rows is required")
|
|
189
189
|
return
|
|
190
190
|
}
|
|
191
|
+
let subtitle = call.getString("subtitle")
|
|
191
192
|
let headerLogo = call.getString("headerLogo")
|
|
192
193
|
let confirmButtonTitle = call.getString("confirmButtonTitle")
|
|
193
194
|
let cancelButtonTitle = call.getString("cancelButtonTitle")
|
|
@@ -197,6 +198,7 @@ public class ExtendedDialogPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
197
198
|
|
|
198
199
|
implementation.showSheet(
|
|
199
200
|
title: title,
|
|
201
|
+
subtitle: subtitle,
|
|
200
202
|
headerLogo: headerLogo,
|
|
201
203
|
rows: rowsArray,
|
|
202
204
|
confirmButtonTitle: confirmButtonTitle,
|
|
@@ -217,6 +219,7 @@ public class ExtendedDialogPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
217
219
|
call.reject("message is required")
|
|
218
220
|
return
|
|
219
221
|
}
|
|
222
|
+
let subtitle = call.getString("subtitle")
|
|
220
223
|
let headerLogo = call.getString("headerLogo")
|
|
221
224
|
let confirmButtonTitle = call.getString("confirmButtonTitle")
|
|
222
225
|
let cancelButtonTitle = call.getString("cancelButtonTitle")
|
|
@@ -226,6 +229,7 @@ public class ExtendedDialogPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
|
226
229
|
|
|
227
230
|
implementation.showMessageSheet(
|
|
228
231
|
title: title,
|
|
232
|
+
subtitle: subtitle,
|
|
229
233
|
message: message,
|
|
230
234
|
headerLogo: headerLogo,
|
|
231
235
|
confirmButtonTitle: confirmButtonTitle,
|
|
@@ -24,6 +24,7 @@ public class FullScreenDialogViewController: UIViewController {
|
|
|
24
24
|
// MARK: - Sheet Properties
|
|
25
25
|
|
|
26
26
|
var headerLogo: String?
|
|
27
|
+
var subtitle: String?
|
|
27
28
|
var sheetRows: [SheetRow]?
|
|
28
29
|
|
|
29
30
|
// MARK: - Properties
|
|
@@ -656,7 +657,27 @@ public class FullScreenDialogViewController: UIViewController {
|
|
|
656
657
|
sheetTitleLabel.textColor = titleColor
|
|
657
658
|
}
|
|
658
659
|
sheetContainer.addArrangedSubview(sheetTitleLabel)
|
|
659
|
-
|
|
660
|
+
|
|
661
|
+
if let subtitleText = subtitle, !subtitleText.isEmpty {
|
|
662
|
+
sheetContainer.setCustomSpacing(4, after: sheetTitleLabel)
|
|
663
|
+
|
|
664
|
+
let subtitleLabel = UILabel()
|
|
665
|
+
subtitleLabel.translatesAutoresizingMaskIntoConstraints = false
|
|
666
|
+
subtitleLabel.text = subtitleText
|
|
667
|
+
let subtitleFontSize = styleOptions?.messageFontSize ?? 14
|
|
668
|
+
subtitleLabel.font = .systemFont(ofSize: subtitleFontSize, weight: .regular)
|
|
669
|
+
subtitleLabel.textAlignment = .center
|
|
670
|
+
subtitleLabel.numberOfLines = 0
|
|
671
|
+
if let messageColor = styleOptions?.messageColor {
|
|
672
|
+
subtitleLabel.textColor = messageColor
|
|
673
|
+
} else {
|
|
674
|
+
subtitleLabel.textColor = .secondaryLabel
|
|
675
|
+
}
|
|
676
|
+
sheetContainer.addArrangedSubview(subtitleLabel)
|
|
677
|
+
sheetContainer.setCustomSpacing(24, after: subtitleLabel)
|
|
678
|
+
} else {
|
|
679
|
+
sheetContainer.setCustomSpacing(24, after: sheetTitleLabel)
|
|
680
|
+
}
|
|
660
681
|
|
|
661
682
|
// Rows container with rounded background
|
|
662
683
|
let rowsBackground = UIView()
|
|
@@ -770,7 +791,27 @@ public class FullScreenDialogViewController: UIViewController {
|
|
|
770
791
|
sheetTitleLabel.textColor = titleColor
|
|
771
792
|
}
|
|
772
793
|
sheetContainer.addArrangedSubview(sheetTitleLabel)
|
|
773
|
-
|
|
794
|
+
|
|
795
|
+
if let subtitleText = subtitle, !subtitleText.isEmpty {
|
|
796
|
+
sheetContainer.setCustomSpacing(4, after: sheetTitleLabel)
|
|
797
|
+
|
|
798
|
+
let subtitleLabel = UILabel()
|
|
799
|
+
subtitleLabel.translatesAutoresizingMaskIntoConstraints = false
|
|
800
|
+
subtitleLabel.text = subtitleText
|
|
801
|
+
let subtitleFontSize = styleOptions?.messageFontSize ?? 14
|
|
802
|
+
subtitleLabel.font = .systemFont(ofSize: subtitleFontSize, weight: .regular)
|
|
803
|
+
subtitleLabel.textAlignment = .center
|
|
804
|
+
subtitleLabel.numberOfLines = 0
|
|
805
|
+
if let messageColor = styleOptions?.messageColor {
|
|
806
|
+
subtitleLabel.textColor = messageColor
|
|
807
|
+
} else {
|
|
808
|
+
subtitleLabel.textColor = .secondaryLabel
|
|
809
|
+
}
|
|
810
|
+
sheetContainer.addArrangedSubview(subtitleLabel)
|
|
811
|
+
sheetContainer.setCustomSpacing(16, after: subtitleLabel)
|
|
812
|
+
} else {
|
|
813
|
+
sheetContainer.setCustomSpacing(16, after: sheetTitleLabel)
|
|
814
|
+
}
|
|
774
815
|
|
|
775
816
|
// Message container with background
|
|
776
817
|
let messageBackground = UIView()
|
package/package.json
CHANGED