capacitor-extended-dialog 0.0.11 → 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/dist/plugin.js CHANGED
@@ -198,7 +198,7 @@ var capacitorExtendedDialog = (function (exports, core) {
198
198
  }
199
199
  async sheet(options) {
200
200
  return new Promise((resolve) => {
201
- var _a, _b, _c, _d;
201
+ var _a, _b, _c, _d, _e, _f;
202
202
  const overlay = this.createOverlay();
203
203
  const dialog = this.createSheetDialogContainer(options);
204
204
  // Header section with logo and title
@@ -229,6 +229,14 @@ var capacitorExtendedDialog = (function (exports, core) {
229
229
  const titleColor = (_b = options.titleColor) !== null && _b !== void 0 ? _b : 'inherit';
230
230
  titleEl.style.cssText = `margin: 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor}; text-align: center;`;
231
231
  headerSection.appendChild(titleEl);
232
+ if (options.subtitle) {
233
+ const subtitleEl = document.createElement('p');
234
+ subtitleEl.textContent = options.subtitle;
235
+ const subtitleFontSize = (_c = options.messageFontSize) !== null && _c !== void 0 ? _c : 14;
236
+ const subtitleColor = (_d = options.messageColor) !== null && _d !== void 0 ? _d : '#666';
237
+ subtitleEl.style.cssText = `margin: 4px 0 0 0; font-size: ${subtitleFontSize}px; font-weight: 400; color: ${subtitleColor}; text-align: center;`;
238
+ headerSection.appendChild(subtitleEl);
239
+ }
232
240
  dialog.appendChild(headerSection);
233
241
  // Rows container
234
242
  const rowsContainer = document.createElement('div');
@@ -279,11 +287,11 @@ var capacitorExtendedDialog = (function (exports, core) {
279
287
  }
280
288
  // Button container
281
289
  const buttonContainer = this.createButtonContainer(sheetSpacing);
282
- const cancelButton = this.createButton((_c = options.cancelButtonTitle) !== null && _c !== void 0 ? _c : 'Cancel', false, () => {
290
+ const cancelButton = this.createButton((_e = options.cancelButtonTitle) !== null && _e !== void 0 ? _e : 'Cancel', false, () => {
283
291
  this.removeOverlay(overlay);
284
292
  resolve({ confirmed: false });
285
293
  }, options);
286
- const confirmButton = this.createButton((_d = options.confirmButtonTitle) !== null && _d !== void 0 ? _d : 'Confirm', true, () => {
294
+ const confirmButton = this.createButton((_f = options.confirmButtonTitle) !== null && _f !== void 0 ? _f : 'Confirm', true, () => {
287
295
  this.removeOverlay(overlay);
288
296
  resolve({ confirmed: true });
289
297
  }, options);
@@ -296,7 +304,7 @@ var capacitorExtendedDialog = (function (exports, core) {
296
304
  }
297
305
  async messageSheet(options) {
298
306
  return new Promise((resolve) => {
299
- var _a, _b, _c, _d, _e, _f, _g;
307
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
300
308
  const overlay = this.createOverlay();
301
309
  const dialog = this.createMessageSheetDialogContainer(options);
302
310
  const content = document.createElement('div');
@@ -325,27 +333,34 @@ var capacitorExtendedDialog = (function (exports, core) {
325
333
  titleEl.textContent = options.title;
326
334
  const titleFontSize = (_a = options.titleFontSize) !== null && _a !== void 0 ? _a : 20;
327
335
  const titleColor = (_b = options.titleColor) !== null && _b !== void 0 ? _b : 'inherit';
328
- titleEl.style.cssText = `margin: 0 0 16px 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor}; text-align: center;`;
336
+ titleEl.style.cssText = `margin: 0 0 ${options.subtitle ? '4px' : '16px'} 0; font-size: ${titleFontSize}px; font-weight: 600; color: ${titleColor}; text-align: center;`;
329
337
  content.appendChild(titleEl);
338
+ if (options.subtitle) {
339
+ const subtitleEl = document.createElement('p');
340
+ subtitleEl.textContent = options.subtitle;
341
+ const subtitleFontSize = (_c = options.messageFontSize) !== null && _c !== void 0 ? _c : 14;
342
+ const subtitleColor = (_d = options.messageColor) !== null && _d !== void 0 ? _d : '#666';
343
+ subtitleEl.style.cssText = `margin: 0 0 16px 0; font-size: ${subtitleFontSize}px; font-weight: 400; color: ${subtitleColor}; text-align: center;`;
344
+ content.appendChild(subtitleEl);
345
+ }
330
346
  const messageEl = document.createElement('p');
331
347
  messageEl.textContent = options.message;
332
- const messageFontSize = (_c = options.messageFontSize) !== null && _c !== void 0 ? _c : 16;
333
- const messageColor = (_d = options.messageColor) !== null && _d !== void 0 ? _d : '#666';
348
+ const messageFontSize = (_e = options.messageFontSize) !== null && _e !== void 0 ? _e : 16;
349
+ const messageColor = (_f = options.messageColor) !== null && _f !== void 0 ? _f : '#666';
334
350
  messageEl.style.cssText = `margin: 0; font-size: ${messageFontSize}px; color: ${messageColor}; white-space: pre-wrap; word-break: break-word;`;
335
351
  const messageContainer = document.createElement('div');
336
- messageContainer.style.cssText =
337
- 'background: #E5E5EA; border-radius: 12px; padding: 16px; margin: 0;';
352
+ messageContainer.style.cssText = 'background: #E5E5EA; border-radius: 12px; padding: 16px; margin: 0;';
338
353
  messageContainer.appendChild(messageEl);
339
354
  content.appendChild(messageContainer);
340
355
  dialog.appendChild(content);
341
- const spacing = (_e = options.contentButtonSpacing) !== null && _e !== void 0 ? _e : 24;
356
+ const spacing = (_g = options.contentButtonSpacing) !== null && _g !== void 0 ? _g : 24;
342
357
  const buttonContainer = document.createElement('div');
343
358
  buttonContainer.style.cssText = `display: flex; flex-direction: column; gap: 12px; margin-top: ${spacing}px;`;
344
- const confirmButton = this.createButton((_f = options.confirmButtonTitle) !== null && _f !== void 0 ? _f : 'Confirm', true, () => {
359
+ const confirmButton = this.createButton((_h = options.confirmButtonTitle) !== null && _h !== void 0 ? _h : 'Confirm', true, () => {
345
360
  this.removeOverlay(overlay);
346
361
  resolve({ confirmed: true });
347
362
  }, options);
348
- const cancelButton = this.createButton((_g = options.cancelButtonTitle) !== null && _g !== void 0 ? _g : 'Cancel', false, () => {
363
+ const cancelButton = this.createButton((_j = options.cancelButtonTitle) !== null && _j !== void 0 ? _j : 'Cancel', false, () => {
349
364
  this.removeOverlay(overlay);
350
365
  resolve({ confirmed: false });
351
366
  }, options);
@@ -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
- sheetContainer.setCustomSpacing(24, after: sheetTitleLabel)
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
- sheetContainer.setCustomSpacing(16, after: sheetTitleLabel)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "capacitor-extended-dialog",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Show native dialogs and sheets in Capacitor with Material 3 and Liquid Glass UI",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",