@ionic/core 8.5.5-dev.11746028401.1b2f6b8c → 8.5.5-dev.11746635887.17fec492

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.
Files changed (33) hide show
  1. package/components/ion-badge.js +3 -3
  2. package/components/title.js +1 -1
  3. package/components/toolbar.js +130 -5
  4. package/css/ionic/bundle.ionic.css +1 -1
  5. package/css/ionic/bundle.ionic.css.map +1 -1
  6. package/css/ionic/core.ionic.css +1 -1
  7. package/css/ionic/core.ionic.css.map +1 -1
  8. package/dist/cjs/ion-app_8.cjs.entry.js +131 -6
  9. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  10. package/dist/collection/components/badge/badge.ionic.css +12 -76
  11. package/dist/collection/components/badge/badge.js +5 -5
  12. package/dist/collection/components/title/title.ionic.css +0 -16
  13. package/dist/collection/components/toolbar/toolbar.ionic.css +27 -22
  14. package/dist/collection/components/toolbar/toolbar.js +130 -5
  15. package/dist/docs.json +5 -17
  16. package/dist/esm/ion-app_8.entry.js +131 -6
  17. package/dist/esm/ion-avatar_3.entry.js +3 -3
  18. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  19. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  20. package/dist/html.html-data.json +1 -10
  21. package/dist/ionic/ionic.esm.js +1 -1
  22. package/dist/ionic/p-16fd70b2.entry.js +4 -0
  23. package/dist/ionic/{p-f3deab52.system.entry.js → p-ad3f30b4.system.entry.js} +1 -1
  24. package/dist/ionic/p-db8ffacb.system.js +1 -1
  25. package/dist/ionic/{p-2d8cc8b4.entry.js → p-dbbfcd15.entry.js} +1 -1
  26. package/dist/ionic/{p-a569fc14.system.entry.js → p-ed4cf0aa.system.entry.js} +1 -1
  27. package/dist/types/components/badge/badge.d.ts +3 -6
  28. package/dist/types/components/toolbar/toolbar.d.ts +16 -0
  29. package/dist/types/components.d.ts +4 -4
  30. package/hydrate/index.js +134 -9
  31. package/hydrate/index.mjs +134 -9
  32. package/package.json +1 -1
  33. package/dist/ionic/p-f10dba92.entry.js +0 -4
@@ -1162,7 +1162,7 @@ const RouterOutlet = class {
1162
1162
  };
1163
1163
  RouterOutlet.style = IonRouterOutletStyle0;
1164
1164
 
1165
- const titleIonicCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{font-size:var(--ion-font-size-450, 1.125rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-700, 28px);text-decoration:none;text-transform:none;padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context(ion-toolbar){top:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:-1}:host-context(ion-toolbar){inset-inline-start:0}:host(.title-large){font-size:var(--ion-font-size-700, 1.75rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-900, 36px);text-decoration:none;text-transform:none}";
1165
+ const titleIonicCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{font-size:var(--ion-font-size-450, 1.125rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-700, 28px);text-decoration:none;text-transform:none;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.title-large){font-size:var(--ion-font-size-700, 1.75rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-900, 36px);text-decoration:none;text-transform:none}";
1166
1166
  const IonTitleIonicStyle0 = titleIonicCss;
1167
1167
 
1168
1168
  const titleIosCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host(.ion-color){color:var(--ion-color-base)}:host{top:0;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:min(1.0625rem, 20.4px);font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host{inset-inline-start:0}:host(.title-small){-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:min(0.8125rem, 23.4px);font-weight:normal}:host(.title-large){-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:2px;padding-bottom:4px;-webkit-transform-origin:left center;transform-origin:left center;position:static;-ms-flex-align:end;align-items:flex-end;min-width:100%;font-size:min(2.125rem, 61.2px);font-weight:700;text-align:start}:host(.title-large.title-rtl){-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000);font-family:var(--ion-font-family)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit;width:auto}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}@supports selector(:dir(rtl)){:host(.title-large:dir(rtl)) .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}}";
@@ -1213,7 +1213,7 @@ ToolbarTitle.style = {
1213
1213
  md: IonTitleMdStyle0
1214
1214
  };
1215
1215
 
1216
- const toolbarIonicCss = ":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);contain:content;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-container{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));pointer-events:none}::slotted(ion-progress-bar){right:0;left:0;bottom:0;position:absolute}:host{--background:var(--ion-primitives-base-white, #ffffff);--color:var(--ion-primitives-neutral-1200, #242424);--border-color:currentColor;--padding-top:var(--ion-space-200, 8px);--padding-bottom:var(--ion-space-200, 8px);--padding-start:var(--ion-space-200, 8px);--padding-end:var(--ion-space-200, 8px);--min-height:var(--ion-scale-1400, 56px)}.toolbar-container{gap:var(--ion-space-400, 16px)}.toolbar-content{-ms-flex:2;flex:2;-ms-flex-order:3;order:3;min-width:0}:host(.toolbar-searchbar) ::slotted(ion-searchbar){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}::slotted(ion-title){-webkit-padding-start:var(--padding-top);padding-inline-start:var(--padding-top);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}:host(.toolbar-title-default) ::slotted(ion-title){text-align:center}:host(.toolbar-title-large) ::slotted(ion-title){-webkit-padding-start:var(--ion-space-400, 16px);padding-inline-start:var(--ion-space-400, 16px);-webkit-padding-end:var(--ion-space-400, 16px);padding-inline-end:var(--ion-space-400, 16px)}::slotted([slot=secondary]){-ms-flex-order:2;order:2}::slotted([slot=primary]){-ms-flex-order:4;order:4;text-align:end}::slotted([slot=start]){-ms-flex-order:1;order:1}::slotted([slot=start]),::slotted([slot=end]){display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;gap:var(--ion-space-200, 8px)}::slotted([slot=end]){-ms-flex-pack:end;justify-content:end;-ms-flex-order:5;order:5;font-size:var(--ion-font-size-600, 1.5rem)}";
1216
+ const toolbarIonicCss = ":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);contain:content;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-container{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));pointer-events:none}::slotted(ion-progress-bar){right:0;left:0;bottom:0;position:absolute}:host{--background:var(--ion-primitives-base-white, #ffffff);--color:var(--ion-primitives-neutral-1200, #242424);--border-color:currentColor;--padding-top:var(--ion-space-200, 8px);--padding-bottom:var(--ion-space-200, 8px);--padding-start:var(--ion-space-200, 8px);--padding-end:var(--ion-space-200, 8px);--min-height:var(--ion-scale-1400, 56px)}.toolbar-container{gap:var(--ion-space-400, 16px)}.toolbar-content{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0}:host(.toolbar-searchbar) ::slotted(ion-searchbar){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}::slotted(ion-buttons){gap:var(--ion-space-200, 8px)}::slotted(ion-title){-webkit-padding-start:var(--ion-space-200, 8px);padding-inline-start:var(--ion-space-200, 8px);-webkit-padding-end:var(--ion-space-200, 8px);padding-inline-end:var(--ion-space-200, 8px)}:host(.toolbar-title-default) ::slotted(ion-title){text-align:center}:host(.toolbar-title-large) ::slotted(ion-title){-webkit-padding-start:var(--ion-space-400, 16px);padding-inline-start:var(--ion-space-400, 16px);-webkit-padding-end:var(--ion-space-400, 16px);padding-inline-end:var(--ion-space-400, 16px)}:host(.has-end-content) slot[name=end],:host(.show-end) slot[name=end]{display:-ms-flexbox;display:flex;-ms-flex:0 0 var(--start-end-size, 0);flex:0 0 var(--start-end-size, 0);-ms-flex-pack:end;justify-content:flex-end;text-align:end}:host(.has-start-content) slot[name=start],:host(.show-start) slot[name=start]{display:-ms-flexbox;display:flex;-ms-flex:0 0 var(--start-end-size, 0);flex:0 0 var(--start-end-size, 0)}:host(.has-primary-content) slot[name=primary],:host(.show-primary) slot[name=primary]{display:-ms-flexbox;display:flex;-ms-flex:0 0 var(--primary-secondary-size, 0);flex:0 0 var(--primary-secondary-size, 0);-ms-flex-pack:end;justify-content:flex-end;text-align:end}:host(.has-secondary-content) slot[name=secondary],:host(.show-secondary) slot[name=secondary]{display:-ms-flexbox;display:flex;-ms-flex:0 0 var(--primary-secondary-size, 0);flex:0 0 var(--primary-secondary-size, 0)}";
1217
1217
  const IonToolbarIonicStyle0 = toolbarIonicCss;
1218
1218
 
1219
1219
  const toolbarIosCss = ":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);contain:content;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-container{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));pointer-events:none}::slotted(ion-progress-bar){right:0;left:0;bottom:0;position:absolute}:host{font-family:var(--ion-font-family, inherit);z-index:10}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{z-index:10}.toolbar-background{z-index:-1}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, var(--ion-background-color-step-50, #f7f7f7)));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.2)))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}";
@@ -1243,6 +1243,131 @@ const Toolbar = class {
1243
1243
  if (lastButtons) {
1244
1244
  lastButtons.classList.add('buttons-last-slot');
1245
1245
  }
1246
+ this.updateSlotClasses();
1247
+ }
1248
+ componentDidLoad() {
1249
+ this.updateSlotClasses();
1250
+ this.updateSlotWidths();
1251
+ }
1252
+ /**
1253
+ * Updates the CSS custom properties for slot widths
1254
+ * This ensures that slots shown by their met conditions
1255
+ * have a minimum width matching their required slot
1256
+ */
1257
+ updateSlotWidths(tries = 0) {
1258
+ // Set timeout to try to execute after everything is rendered
1259
+ setTimeout(() => {
1260
+ // Attempt to measure and update
1261
+ const success = this.measureAndUpdateSlots();
1262
+ // If not all measurements were successful, try again in 100 ms
1263
+ // cap recursion at 5 tries for safety
1264
+ if (!success && tries < 5) {
1265
+ setTimeout(() => {
1266
+ this.updateSlotWidths(tries + 1);
1267
+ }, 100);
1268
+ }
1269
+ });
1270
+ }
1271
+ /**
1272
+ * Measure the widths of the slots and update the CSS custom properties
1273
+ * for the minimum width of each pair of slots based on the largest width in each pair.
1274
+ * Returns whether we successfully measured all of the slots we expect to have content.
1275
+ * If not, the content probably hasn't rendered yet and we need to try again.
1276
+ */
1277
+ measureAndUpdateSlots() {
1278
+ // Define the relationship between slots based on the conditions array
1279
+ // Group slots that should have the same width
1280
+ const slotPairs = [
1281
+ { name: 'start-end', slots: ['start', 'end'] },
1282
+ { name: 'primary-secondary', slots: ['primary', 'secondary'] },
1283
+ ];
1284
+ // First, measure all slot widths
1285
+ const slotWidths = new Map();
1286
+ let allMeasurementsSuccessful = true;
1287
+ // Measure all slots with content
1288
+ const slots = ['start', 'end', 'primary', 'secondary'];
1289
+ slots.forEach((slot) => {
1290
+ var _a;
1291
+ if (this.el.classList.contains(`has-${slot}-content`)) {
1292
+ const slotElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`slot[name="${slot}"]`);
1293
+ if (slotElement) {
1294
+ const width = slotElement.offsetWidth;
1295
+ if (width > 0) {
1296
+ slotWidths.set(slot, width);
1297
+ }
1298
+ else {
1299
+ allMeasurementsSuccessful = false;
1300
+ }
1301
+ }
1302
+ }
1303
+ });
1304
+ // Then set the CSS custom properties based on the largest width in each pair
1305
+ slotPairs.forEach(({ name, slots }) => {
1306
+ // Find the maximum width among the slots in this pair
1307
+ let maxWidth = 0;
1308
+ let hasAnyContent = false;
1309
+ slots.forEach((slot) => {
1310
+ var _a;
1311
+ if (slotWidths.has(slot)) {
1312
+ hasAnyContent = true;
1313
+ maxWidth = Math.max(maxWidth, (_a = slotWidths.get(slot)) !== null && _a !== void 0 ? _a : 0);
1314
+ }
1315
+ });
1316
+ // If at least one slot in the pair has content, set the min-width for the pair
1317
+ if (hasAnyContent && maxWidth > 0) {
1318
+ // Set a single CSS variable for the pair
1319
+ this.el.style.setProperty(`--${name}-size`, `${maxWidth}px`);
1320
+ }
1321
+ });
1322
+ return allMeasurementsSuccessful;
1323
+ }
1324
+ updateSlotClasses() {
1325
+ // Check if slots have content
1326
+ const slots = ['start', 'end', 'primary', 'secondary'];
1327
+ const classesToAdd = [];
1328
+ const classesToRemove = [];
1329
+ slots.forEach((slot) => {
1330
+ const slotHasContent = this.hasSlotContent(slot);
1331
+ const slotClass = `has-${slot}-content`;
1332
+ if (slotHasContent) {
1333
+ classesToAdd.push(slotClass);
1334
+ }
1335
+ else {
1336
+ classesToRemove.push(slotClass);
1337
+ }
1338
+ });
1339
+ // Force visibilities in certain conditions. This works by adding a class to the toolbar
1340
+ // named `show-{slot}`. This class will be added if the toolbar has the required slots
1341
+ // and does not have any of the excluded slots, otherwise it will be removed.
1342
+ // This is useful to enforce centering of the toolbar content when there are different amounts
1343
+ // of slots on either side of the toolbar.
1344
+ const conditions = [
1345
+ { name: 'end', requiredSlots: ['start'], excludeSlots: ['end', 'primary'] },
1346
+ { name: 'start', requiredSlots: ['end'], excludeSlots: ['start', 'secondary'] },
1347
+ { name: 'secondary', requiredSlots: ['primary'], excludeSlots: ['secondary', 'start'] },
1348
+ { name: 'primary', requiredSlots: ['secondary'], excludeSlots: ['primary', 'end'] },
1349
+ ];
1350
+ conditions.forEach((condition) => {
1351
+ const hasRequiredSlots = condition.requiredSlots.every((slot) => classesToAdd.includes(`has-${slot}-content`));
1352
+ const hasExcludedSlots = condition.excludeSlots.some((slot) => classesToAdd.includes(`has-${slot}-content`));
1353
+ const className = `show-${condition.name}`;
1354
+ if (hasRequiredSlots && !hasExcludedSlots) {
1355
+ classesToAdd.push(className);
1356
+ }
1357
+ else {
1358
+ classesToRemove.push(className);
1359
+ }
1360
+ });
1361
+ // Add classes to the toolbar element
1362
+ this.el.classList.add(...classesToAdd);
1363
+ this.el.classList.remove(...classesToRemove);
1364
+ // Update slot widths after classes have been updated
1365
+ this.updateSlotWidths();
1366
+ }
1367
+ hasSlotContent(slotName) {
1368
+ var _a;
1369
+ const slotNode = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`slot[name="${slotName}"]`);
1370
+ return !!slotNode && slotNode.assignedNodes().length > 0;
1246
1371
  }
1247
1372
  childrenStyle(ev) {
1248
1373
  ev.stopPropagation();
@@ -1269,13 +1394,13 @@ const Toolbar = class {
1269
1394
  render() {
1270
1395
  const theme$1 = ionicGlobal.getIonTheme(this);
1271
1396
  const childStyles = {};
1272
- this.childrenStyles.forEach((value) => {
1273
- Object.assign(childStyles, value);
1397
+ this.childrenStyles.forEach((style) => {
1398
+ Object.assign(childStyles, style);
1274
1399
  });
1275
- return (index.h(index.Host, { key: '6368640c5bcc3515d628c24116912e7ba1e79a00', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1400
+ return (index.h(index.Host, { key: '9cf12f7133f19ef24ec4818e5334850b7315b602', class: Object.assign(Object.assign({}, theme.createColorClasses(this.color, {
1276
1401
  [theme$1]: true,
1277
1402
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1278
- })) }, index.h("div", { key: '139edd9fb7a7c42d94dd79e783d841b052abb245', class: "toolbar-background", part: "background" }), index.h("div", { key: '72716d4a9af0191d6083d1a2444cea42e4521127', class: "toolbar-container", part: "container" }, index.h("slot", { key: '5049c3e4235dd52b80b50f87b74f58c03fc53c00', name: "start" }), index.h("slot", { key: 'cf43c31b7d81dfb49e0fdf987978c621fc563213', name: "secondary" }), index.h("div", { key: '34bd76bdb954adcecb4a9c263584733d617e5988', class: "toolbar-content", part: "content" }, index.h("slot", { key: 'a63dfc76eb070c680426e3fe6b8efc9bec9a69ac' })), index.h("slot", { key: 'bb0a4cb83c30d206489c2dcfb6238481ccfc51af', name: "primary" }), index.h("slot", { key: 'e3c632b6810493f714ec632d17b878740874e919', name: "end" }))));
1403
+ })), childStyles) }, index.h("div", { key: 'ba137a3b6cc68902ec93b469968885de6746a7e6', class: "toolbar-background", part: "background" }), index.h("div", { key: 'd3a278f4d7e50a1b3c93a8e9412df81e6e6387bc', class: "toolbar-container", part: "container" }, index.h("slot", { key: '7ac00536a8fe5ecbf695d21a51f62079ff0262e0', name: "start", onSlotchange: () => this.updateSlotClasses }), index.h("slot", { key: 'f641e8b71125023f7dd71f4080c6b37ef33f9639', name: "secondary", onSlotchange: () => this.updateSlotClasses }), index.h("div", { key: 'a785319051166ac161069df114387ccc3e499822', class: "toolbar-content", part: "content" }, index.h("slot", { key: '4930bfc6a5425f923f4f23c27f9312d506463b0c' })), index.h("slot", { key: 'd0e78019181ff220bfb54110bdbe0d12be330374', name: "primary", onSlotchange: () => this.updateSlotClasses }), index.h("slot", { key: '5c4a39a0764001ca90e96ccb9a9b7eba158fe5e6', name: "end", onSlotchange: () => this.updateSlotClasses }))));
1279
1404
  }
1280
1405
  get el() { return index.getElement(this); }
1281
1406
  };
@@ -78,7 +78,7 @@ Avatar.style = {
78
78
  md: IonAvatarMdStyle0
79
79
  };
80
80
 
81
- const badgeIonicCss = ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;background:var(--background);color:var(--color);text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host([vertical]:not(.in-tab-button)){position:absolute}:host([vertical]:not(.in-tab-button)){inset-inline-end:0}:host(:not(.in-tab-button)[vertical].badge-vertical-top){top:0}:host(:not(.in-tab-button)[vertical].badge-vertical-bottom){bottom:0}:host{--padding-start:var(--ion-space-200, 8px);--padding-end:var(--ion-space-200, 8px);--padding-top:var(--ion-space-0, 0px);--padding-bottom:var(--ion-space-0, 0px);font-size:var(--ion-font-size-300, 0.75rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-500, 20px);text-decoration:none;text-transform:none;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--ion-scale-250, 10px)}:host(.badge-bold){--background:var(--ion-color-primary, var(--ion-bg-primary-base-default, #105cef));--color:var(--ion-color-primary-contrast, var(--ion-text-inverse, #ffffff))}:host(.badge-bold.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.badge-subtle){--background:var(--ion-color-primary-subtle, var(--ion-bg-primary-subtle-default, #f2f4fd));--color:var(--ion-color-primary-subtle-contrast, var(--ion-text-primary, #0d4bc3))}:host(.badge-subtle.ion-color){background:var(--ion-color-subtle-base);color:var(--ion-color-subtle-contrast)}:host(.badge-soft){border-radius:var(--ion-border-radius-200, 8px)}:host(.badge-xxsmall.badge-soft),:host(.badge-xsmall.badge-soft),:host(.badge-small.badge-soft){border-radius:var(--ion-border-radius-100, 4px)}:host(.badge-round){border-radius:var(--ion-border-radius-full, 999px)}:host(.badge-rectangular){border-radius:var(--ion-border-radius-0, 0px)}:host(.badge-xxsmall){--padding-start:var(--ion-space-050, 2px);--padding-end:var(--ion-space-050, 2px);min-width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px);font-size:var(--ion-font-size-300, 0.75rem);line-height:var(--ion-font-line-height-400, 16px)}:host(.badge-xxsmall) ::slotted(ion-icon){width:var(--ion-scale-300, 12px);height:var(--ion-scale-300, 12px)}:host(.badge-xsmall){--padding-start:var(--ion-space-100, 4px);--padding-end:var(--ion-space-100, 4px);min-width:var(--ion-scale-600, 24px);height:var(--ion-scale-600, 24px);font-size:var(--ion-font-size-350, 0.875rem);line-height:var(--ion-font-line-height-600, 24px)}:host(.badge-xsmall) ::slotted(ion-icon){width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px)}:host(.badge-small){--padding-start:var(--ion-space-100, 4px);--padding-end:var(--ion-space-100, 4px);min-width:var(--ion-scale-800, 32px);height:var(--ion-scale-800, 32px)}:host(.badge-small) ::slotted(ion-icon){width:var(--ion-scale-500, 20px);height:var(--ion-scale-500, 20px)}:host(.badge-medium){font-size:var(--ion-font-size-350, 0.875rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-600, 24px);text-decoration:none;text-transform:none;min-width:var(--ion-scale-1000, 40px);height:var(--ion-scale-1000, 40px)}:host(.badge-medium) ::slotted(ion-icon){width:var(--ion-scale-600, 24px);height:var(--ion-scale-600, 24px)}:host(.badge-large){font-size:var(--ion-font-size-400, 1rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-600, 24px);text-decoration:none;text-transform:none;min-width:var(--ion-scale-1200, 48px);height:var(--ion-scale-1200, 48px)}:host(.badge-large) ::slotted(ion-icon){width:var(--ion-scale-800, 32px);height:var(--ion-scale-800, 32px)}:host(.badge-xlarge){font-size:var(--ion-font-size-550, 1.375rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-700, 28px);text-decoration:none;text-transform:none;min-width:var(--ion-scale-1400, 56px);height:var(--ion-scale-1400, 56px)}:host(.badge-xlarge) ::slotted(ion-icon){width:var(--ion-scale-1000, 40px);height:var(--ion-scale-1000, 40px)}:host(:empty){--padding-start:0;--padding-end:0}:host([vertical]:not(:empty)){--padding-start:var(--ion-scale-100, 4px);--padding-end:var(--ion-scale-100, 4px);--padding-top:var(--ion-scale-100, 4px);--padding-bottom:var(--ion-scale-100, 4px)}:host(.badge-small:empty){min-width:var(--ion-scale-200, 8px);height:var(--ion-scale-200, 8px)}:host(.badge-medium:empty){min-width:var(--ion-scale-300, 12px);height:var(--ion-scale-300, 12px)}:host(.badge-large:empty){min-width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px)}:host([vertical].in-tab-button){position:relative}:host([vertical]) ::slotted(ion-icon){top:50%;position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host([vertical]) ::slotted(ion-icon){inset-inline-start:50%}:host([vertical]:not(.in-tab-button).in-button.badge-xxsmall),:host([vertical]:not(.in-tab-button).in-button.badge-xsmall),:host([vertical]:not(.in-tab-button).in-button.badge-small){inset-inline-end:calc(-1 * var(var(--ion-space-050, 2px)))}:host([vertical]:not(.in-tab-button).in-button.badge-medium),:host([vertical]:not(.in-tab-button).in-button.badge-large),:host([vertical]:not(.in-tab-button).in-button.badge-xlarge){inset-inline-end:var(--ion-space-050, 2px)}:host(:not(:empty).in-button){font-size:var(--ion-font-size-300, 0.75rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-1, 1%);line-height:var(--ion-font-line-height-500, 20px);text-decoration:none;text-transform:none;min-width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px)}:host(:not(:empty).in-button) ::slotted(ion-icon){width:var(--ion-scale-300, 12px);height:var(--ion-scale-300, 12px)}";
81
+ const badgeIonicCss = ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;background:var(--background);color:var(--color);text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host([vertical]:not(.in-tab-button)){position:absolute}:host([vertical]:not(.in-tab-button)){inset-inline-end:0}:host(:not(.in-tab-button)[vertical].badge-vertical-top){top:0}:host(:not(.in-tab-button)[vertical].badge-vertical-bottom){bottom:0}:host{--padding-start:var(--ion-space-200, 8px);--padding-end:var(--ion-space-200, 8px);--padding-top:var(--ion-space-0, 0px);--padding-bottom:var(--ion-space-0, 0px);font-size:var(--ion-font-size-300, 0.75rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-500, 20px);text-decoration:none;text-transform:none;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--ion-scale-250, 10px)}:host(.badge-bold){--background:var(--ion-color-primary, var(--ion-bg-primary-base-default, #105cef));--color:var(--ion-color-primary-contrast, var(--ion-text-inverse, #ffffff))}:host(.badge-bold.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.badge-subtle){--background:var(--ion-color-primary-subtle, var(--ion-bg-primary-subtle-default, #f2f4fd));--color:var(--ion-color-primary-subtle-contrast, var(--ion-text-primary, #0d4bc3))}:host(.badge-subtle.ion-color){background:var(--ion-color-subtle-base);color:var(--ion-color-subtle-contrast)}:host(.badge-soft){border-radius:var(--ion-border-radius-200, 8px)}:host(.badge-small.badge-soft){border-radius:var(--ion-border-radius-100, 4px)}:host(.badge-round){border-radius:var(--ion-border-radius-full, 999px)}:host(.badge-rectangular){border-radius:var(--ion-border-radius-0, 0px)}:host(.badge-small){--padding-start:var(--ion-space-050, 2px);--padding-end:var(--ion-space-050, 2px);min-width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px)}:host(.badge-small) ::slotted(ion-icon){width:var(--ion-scale-300, 12px);height:var(--ion-scale-300, 12px)}:host(.badge-medium),:host(.badge-large){--padding-start:var(--ion-space-100, 4px);--padding-end:var(--ion-space-100, 4px);font-size:var(--ion-font-size-350, 0.875rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-0, 0%);line-height:var(--ion-font-line-height-600, 24px);text-decoration:none;text-transform:none;min-width:var(--ion-scale-600, 24px);height:var(--ion-scale-600, 24px)}:host(.badge-medium) ::slotted(ion-icon),:host(.badge-large) ::slotted(ion-icon){width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px)}:host(:empty){--padding-start:0;--padding-end:0}:host([vertical]:not(:empty)){--padding-start:var(--ion-scale-100, 4px);--padding-end:var(--ion-scale-100, 4px);--padding-top:var(--ion-scale-100, 4px);--padding-bottom:var(--ion-scale-100, 4px)}:host(.badge-small:empty){min-width:var(--ion-scale-200, 8px);height:var(--ion-scale-200, 8px)}:host(.badge-medium:empty){min-width:var(--ion-scale-300, 12px);height:var(--ion-scale-300, 12px)}:host(.badge-large:empty){min-width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px)}:host([vertical].in-tab-button){position:relative}:host([vertical]) ::slotted(ion-icon){top:50%;position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host([vertical]) ::slotted(ion-icon){inset-inline-start:50%}:host([vertical]:not(.in-tab-button).in-button.badge-small){inset-inline-end:calc(-1 * var(var(--ion-space-050, 2px)))}:host([vertical]:not(.in-tab-button).in-button.badge-medium),:host([vertical]:not(.in-tab-button).in-button.badge-large){inset-inline-end:var(--ion-space-050, 2px)}:host(:not(:empty).in-button){font-size:var(--ion-font-size-300, 0.75rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-1, 1%);line-height:var(--ion-font-line-height-500, 20px);text-decoration:none;text-transform:none;min-width:var(--ion-scale-400, 16px);height:var(--ion-scale-400, 16px)}:host(:not(:empty).in-button) ::slotted(ion-icon){width:var(--ion-scale-300, 12px);height:var(--ion-scale-300, 12px)}";
82
82
  const IonBadgeIonicStyle0 = badgeIonicCss;
83
83
 
84
84
  const badgeIosCss = ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;background:var(--background);color:var(--color);text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host([vertical]:not(.in-tab-button)){position:absolute}:host([vertical]:not(.in-tab-button)){inset-inline-end:0}:host(:not(.in-tab-button)[vertical].badge-vertical-top){top:0}:host(:not(.in-tab-button)[vertical].badge-vertical-bottom){bottom:0}:host{--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);min-width:10px;font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host([vertical]:not(.in-button):not(.in-tab-button)),:host(:empty){--padding-start:0;--padding-end:0;--padding-bottom:0;--padding-top:0;border-radius:999px;width:10px;height:10px;font-size:0.5rem;line-height:10px}:host(:not(:empty).in-button){min-width:16px;height:16px;font-size:0.75rem;line-height:20px}:host(:not(:empty).in-button) ::slotted(ion-icon){width:12px;height:12px}:host{border-radius:10px;font-size:max(13px, 0.8125rem)}:host([vertical].in-tab-button){position:relative;min-width:8px}:host([vertical].in-tab-button) ::slotted(ion-icon){top:50%;position:absolute;width:12px;height:12px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host([vertical].in-tab-button) ::slotted(ion-icon){inset-inline-start:50%}";
@@ -146,7 +146,7 @@ const Badge = class {
146
146
  const shape = this.getShape();
147
147
  const size = this.getSize();
148
148
  const theme$1 = ionicGlobal.getIonTheme(this);
149
- return (index.h(index.Host, { key: '3ec4768d90cf6916e4e6fc709eb923ec7fbd80c6', class: theme.createColorClasses(this.color, {
149
+ return (index.h(index.Host, { key: 'f723ed2998c9933299c4bf65b27b20f4a337ae1c', class: theme.createColorClasses(this.color, {
150
150
  [theme$1]: true,
151
151
  [`badge-${hue}`]: hue !== undefined,
152
152
  [`badge-${shape}`]: shape !== undefined,
@@ -154,7 +154,7 @@ const Badge = class {
154
154
  [`badge-vertical-${this.vertical}`]: this.vertical !== undefined,
155
155
  'in-button': theme.hostContext('ion-button', this.el),
156
156
  'in-tab-button': theme.hostContext('ion-tab-button', this.el),
157
- }) }, index.h("slot", { key: '0527cd120de62f52ef6d080a37689768a15dea4c' })));
157
+ }) }, index.h("slot", { key: '25b75adc30d75ab73523976019fa8a9db3c97972' })));
158
158
  }
159
159
  get el() { return index.getElement(this); }
160
160
  };
@@ -167,8 +167,6 @@ Do not edit directly, this file was auto-generated.
167
167
  border-radius: var(--ion-border-radius-200, 8px);
168
168
  }
169
169
 
170
- :host(.badge-xxsmall.badge-soft),
171
- :host(.badge-xsmall.badge-soft),
172
170
  :host(.badge-small.badge-soft) {
173
171
  border-radius: var(--ion-border-radius-100, 4px);
174
172
  }
@@ -183,98 +181,39 @@ Do not edit directly, this file was auto-generated.
183
181
  border-radius: var(--ion-border-radius-0, 0px);
184
182
  }
185
183
 
186
- /* 2-Extra Small Badge */
187
- :host(.badge-xxsmall) {
184
+ /* Small Badge */
185
+ :host(.badge-small) {
188
186
  --padding-start: var(--ion-space-050, 2px);
189
187
  --padding-end: var(--ion-space-050, 2px);
190
188
  min-width: var(--ion-scale-400, 16px);
191
189
  height: var(--ion-scale-400, 16px);
192
- font-size: var(--ion-font-size-300, 0.75rem);
193
- line-height: var(--ion-font-line-height-400, 16px);
194
190
  }
195
191
 
196
- :host(.badge-xxsmall) ::slotted(ion-icon) {
192
+ :host(.badge-small) ::slotted(ion-icon) {
197
193
  width: var(--ion-scale-300, 12px);
198
194
  height: var(--ion-scale-300, 12px);
199
195
  }
200
196
 
201
- /* Extra Small Badge */
202
- :host(.badge-xsmall) {
197
+ /* Medium Badge */
198
+ /* Large size defaults to the medium size to avoid styles breakage */
199
+ :host(.badge-medium),
200
+ :host(.badge-large) {
203
201
  --padding-start: var(--ion-space-100, 4px);
204
202
  --padding-end: var(--ion-space-100, 4px);
205
- min-width: var(--ion-scale-600, 24px);
206
- height: var(--ion-scale-600, 24px);
207
- font-size: var(--ion-font-size-350, 0.875rem);
208
- line-height: var(--ion-font-line-height-600, 24px);
209
- }
210
-
211
- :host(.badge-xsmall) ::slotted(ion-icon) {
212
- width: var(--ion-scale-400, 16px);
213
- height: var(--ion-scale-400, 16px);
214
- }
215
-
216
- /* Small Badge */
217
- :host(.badge-small) {
218
- --padding-start: var(--ion-space-100, 4px);
219
- --padding-end: var(--ion-space-100, 4px);
220
- min-width: var(--ion-scale-800, 32px);
221
- height: var(--ion-scale-800, 32px);
222
- }
223
-
224
- :host(.badge-small) ::slotted(ion-icon) {
225
- width: var(--ion-scale-500, 20px);
226
- height: var(--ion-scale-500, 20px);
227
- }
228
-
229
- /* Medium Badge */
230
- :host(.badge-medium) {
231
203
  font-size: var(--ion-font-size-350, 0.875rem);
232
204
  font-weight: var(--ion-font-weight-medium, 500);
233
205
  letter-spacing: var(--ion-font-letter-spacing-0, 0%);
234
206
  line-height: var(--ion-font-line-height-600, 24px);
235
207
  text-decoration: none;
236
208
  text-transform: none;
237
- min-width: var(--ion-scale-1000, 40px);
238
- height: var(--ion-scale-1000, 40px);
239
- }
240
-
241
- :host(.badge-medium) ::slotted(ion-icon) {
242
- width: var(--ion-scale-600, 24px);
209
+ min-width: var(--ion-scale-600, 24px);
243
210
  height: var(--ion-scale-600, 24px);
244
211
  }
245
212
 
246
- /* Large Badge */
247
- :host(.badge-large) {
248
- font-size: var(--ion-font-size-400, 1rem);
249
- font-weight: var(--ion-font-weight-medium, 500);
250
- letter-spacing: var(--ion-font-letter-spacing-0, 0%);
251
- line-height: var(--ion-font-line-height-600, 24px);
252
- text-decoration: none;
253
- text-transform: none;
254
- min-width: var(--ion-scale-1200, 48px);
255
- height: var(--ion-scale-1200, 48px);
256
- }
257
-
213
+ :host(.badge-medium) ::slotted(ion-icon),
258
214
  :host(.badge-large) ::slotted(ion-icon) {
259
- width: var(--ion-scale-800, 32px);
260
- height: var(--ion-scale-800, 32px);
261
- }
262
-
263
- /* Extra Large Badge */
264
- :host(.badge-xlarge) {
265
- font-size: var(--ion-font-size-550, 1.375rem);
266
- font-weight: var(--ion-font-weight-medium, 500);
267
- letter-spacing: var(--ion-font-letter-spacing-0, 0%);
268
- line-height: var(--ion-font-line-height-700, 28px);
269
- text-decoration: none;
270
- text-transform: none;
271
- min-width: var(--ion-scale-1400, 56px);
272
- height: var(--ion-scale-1400, 56px);
273
- }
274
-
275
- :host(.badge-xlarge) ::slotted(ion-icon) {
276
- width: var(--ion-scale-1000, 40px);
277
- height: var(--ion-scale-1000, 40px);
215
+ width: var(--ion-scale-400, 16px);
216
+ height: var(--ion-scale-400, 16px);
278
217
  }
279
218
 
280
219
  :host(:empty) {
@@ -320,15 +259,12 @@ Do not edit directly, this file was auto-generated.
320
259
  inset-inline-start: 50%;
321
260
  }
322
261
 
323
- :host([vertical]:not(.in-tab-button).in-button.badge-xxsmall),
324
- :host([vertical]:not(.in-tab-button).in-button.badge-xsmall),
325
262
  :host([vertical]:not(.in-tab-button).in-button.badge-small) {
326
263
  inset-inline-end: calc(-1 * var(var(--ion-space-050, 2px)));
327
264
  }
328
265
 
329
266
  :host([vertical]:not(.in-tab-button).in-button.badge-medium),
330
- :host([vertical]:not(.in-tab-button).in-button.badge-large),
331
- :host([vertical]:not(.in-tab-button).in-button.badge-xlarge) {
267
+ :host([vertical]:not(.in-tab-button).in-button.badge-large) {
332
268
  inset-inline-end: var(--ion-space-050, 2px);
333
269
  }
334
270
 
@@ -66,7 +66,7 @@ export class Badge {
66
66
  const shape = this.getShape();
67
67
  const size = this.getSize();
68
68
  const theme = getIonTheme(this);
69
- return (h(Host, { key: '3ec4768d90cf6916e4e6fc709eb923ec7fbd80c6', class: createColorClasses(this.color, {
69
+ return (h(Host, { key: 'f723ed2998c9933299c4bf65b27b20f4a337ae1c', class: createColorClasses(this.color, {
70
70
  [theme]: true,
71
71
  [`badge-${hue}`]: hue !== undefined,
72
72
  [`badge-${shape}`]: shape !== undefined,
@@ -74,7 +74,7 @@ export class Badge {
74
74
  [`badge-vertical-${this.vertical}`]: this.vertical !== undefined,
75
75
  'in-button': hostContext('ion-button', this.el),
76
76
  'in-tab-button': hostContext('ion-tab-button', this.el),
77
- }) }, h("slot", { key: '0527cd120de62f52ef6d080a37689768a15dea4c' })));
77
+ }) }, h("slot", { key: '25b75adc30d75ab73523976019fa8a9db3c97972' })));
78
78
  }
79
79
  static get is() { return "ion-badge"; }
80
80
  static get encapsulation() { return "shadow"; }
@@ -155,15 +155,15 @@ export class Badge {
155
155
  "type": "string",
156
156
  "mutable": false,
157
157
  "complexType": {
158
- "original": "'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'",
159
- "resolved": "\"large\" | \"medium\" | \"small\" | \"xlarge\" | \"xsmall\" | \"xxsmall\" | undefined",
158
+ "original": "'small' | 'medium' | 'large'",
159
+ "resolved": "\"large\" | \"medium\" | \"small\" | undefined",
160
160
  "references": {}
161
161
  },
162
162
  "required": false,
163
163
  "optional": true,
164
164
  "docs": {
165
165
  "tags": [],
166
- "text": "Set to `\"xxsmall\"` for the smallest badge.\nSet to \"xsmall\" for a very small badge.\nSet to `\"small\"` for a small badge.\nSet to \"medium\" for a medium badge.\nSet to \"large\" for a large badge.\nSet to `\"xlarge\"` for the largest badge.\n\nDefaults to `\"small\"` for the `ionic` theme, undefined for all other themes."
166
+ "text": "Set to `\"small\"` for a small badge.\nSet to `\"medium\"` for a medium badge.\nSet to `\"large\"` for a large badge, when it is empty (no text or icon).\n\nDefaults to `\"small\"` for the `ionic` theme, undefined for all other themes."
167
167
  },
168
168
  "attribute": "size",
169
169
  "reflect": false
@@ -115,26 +115,10 @@ Do not edit directly, this file was auto-generated.
115
115
  line-height: var(--ion-font-line-height-700, 28px);
116
116
  text-decoration: none;
117
117
  text-transform: none;
118
- padding-left: 0;
119
- padding-right: 0;
120
- padding-top: var(--padding-top);
121
- padding-bottom: var(--padding-bottom);
122
118
  box-sizing: border-box;
123
119
  pointer-events: none;
124
120
  }
125
121
 
126
- :host-context(ion-toolbar) {
127
- top: 0;
128
- position: absolute;
129
- width: 100%;
130
- height: 100%;
131
- transform: translateZ(0);
132
- z-index: -1;
133
- }
134
- :host-context(ion-toolbar) {
135
- inset-inline-start: 0;
136
- }
137
-
138
122
  :host(.title-large) {
139
123
  font-size: var(--ion-font-size-700, 1.75rem);
140
124
  font-weight: var(--ion-font-weight-medium, 500);
@@ -176,8 +176,7 @@ Do not edit directly, this file was auto-generated.
176
176
  }
177
177
 
178
178
  .toolbar-content {
179
- flex: 2;
180
- order: 3;
179
+ flex: 1 1 auto;
181
180
  min-width: 0;
182
181
  }
183
182
 
@@ -188,11 +187,15 @@ Do not edit directly, this file was auto-generated.
188
187
  padding-bottom: 0;
189
188
  }
190
189
 
190
+ ::slotted(ion-buttons) {
191
+ gap: var(--ion-space-200, 8px);
192
+ }
193
+
191
194
  ::slotted(ion-title) {
192
- -webkit-padding-start: var(--padding-top);
193
- padding-inline-start: var(--padding-top);
194
- -webkit-padding-end: var(--padding-end);
195
- padding-inline-end: var(--padding-end);
195
+ -webkit-padding-start: var(--ion-space-200, 8px);
196
+ padding-inline-start: var(--ion-space-200, 8px);
197
+ -webkit-padding-end: var(--ion-space-200, 8px);
198
+ padding-inline-end: var(--ion-space-200, 8px);
196
199
  }
197
200
 
198
201
  :host(.toolbar-title-default) ::slotted(ion-title) {
@@ -206,28 +209,30 @@ Do not edit directly, this file was auto-generated.
206
209
  padding-inline-end: var(--ion-space-400, 16px);
207
210
  }
208
211
 
209
- ::slotted([slot=secondary]) {
210
- order: 2;
211
- }
212
-
213
- ::slotted([slot=primary]) {
214
- order: 4;
212
+ :host(.has-end-content) slot[name=end],
213
+ :host(.show-end) slot[name=end] {
214
+ display: flex;
215
+ flex: 0 0 var(--start-end-size, 0);
216
+ justify-content: flex-end;
215
217
  text-align: end;
216
218
  }
217
219
 
218
- ::slotted([slot=start]) {
219
- order: 1;
220
+ :host(.has-start-content) slot[name=start],
221
+ :host(.show-start) slot[name=start] {
222
+ display: flex;
223
+ flex: 0 0 var(--start-end-size, 0);
220
224
  }
221
225
 
222
- ::slotted([slot=start]),
223
- ::slotted([slot=end]) {
226
+ :host(.has-primary-content) slot[name=primary],
227
+ :host(.show-primary) slot[name=primary] {
224
228
  display: flex;
225
- flex: 1;
226
- gap: var(--ion-space-200, 8px);
229
+ flex: 0 0 var(--primary-secondary-size, 0);
230
+ justify-content: flex-end;
231
+ text-align: end;
227
232
  }
228
233
 
229
- ::slotted([slot=end]) {
230
- justify-content: end;
231
- order: 5;
232
- font-size: var(--ion-font-size-600, 1.5rem);
234
+ :host(.has-secondary-content) slot[name=secondary],
235
+ :host(.show-secondary) slot[name=secondary] {
236
+ display: flex;
237
+ flex: 0 0 var(--primary-secondary-size, 0);
233
238
  }