@warp-ds/elements 1.2.3-next.2 → 1.3.0-next.1

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 (34) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.js +412 -296
  3. package/dist/index.js.map +4 -4
  4. package/dist/packages/affix/index.js +72 -58
  5. package/dist/packages/affix/index.js.map +4 -4
  6. package/dist/packages/alert/index.js +80 -66
  7. package/dist/packages/alert/index.js.map +4 -4
  8. package/dist/packages/attention/index.js +71 -57
  9. package/dist/packages/attention/index.js.map +4 -4
  10. package/dist/packages/badge/index.js +3 -3
  11. package/dist/packages/badge/index.js.map +2 -2
  12. package/dist/packages/box/index.js +3 -3
  13. package/dist/packages/box/index.js.map +2 -2
  14. package/dist/packages/breadcrumbs/index.js +67 -53
  15. package/dist/packages/breadcrumbs/index.js.map +4 -4
  16. package/dist/packages/button/index.js +66 -52
  17. package/dist/packages/button/index.js.map +4 -4
  18. package/dist/packages/card/index.js +3 -3
  19. package/dist/packages/card/index.js.map +2 -2
  20. package/dist/packages/expandable/index.js +72 -58
  21. package/dist/packages/expandable/index.js.map +4 -4
  22. package/dist/packages/pill/index.d.ts +34 -0
  23. package/dist/packages/pill/index.js +1810 -0
  24. package/dist/packages/pill/index.js.map +7 -0
  25. package/dist/packages/pill/locales/en/messages.d.mts +1 -0
  26. package/dist/packages/pill/locales/fi/messages.d.mts +1 -0
  27. package/dist/packages/pill/locales/nb/messages.d.mts +1 -0
  28. package/dist/packages/select/index.js +70 -56
  29. package/dist/packages/select/index.js.map +4 -4
  30. package/dist/packages/textfield/index.js +3 -3
  31. package/dist/packages/textfield/index.js.map +2 -2
  32. package/dist/packages/toast/index.js +83 -69
  33. package/dist/packages/toast/index.js.map +4 -4
  34. package/package.json +6 -6
@@ -1054,7 +1054,7 @@ var r = function() {
1054
1054
  }, []).join(" ");
1055
1055
  };
1056
1056
 
1057
- // node_modules/.pnpm/@warp-ds+css@1.6.1/node_modules/@warp-ds/css/component-classes/index.js
1057
+ // node_modules/.pnpm/@warp-ds+css@1.7.0/node_modules/@warp-ds/css/component-classes/index.js
1058
1058
  var box = {
1059
1059
  box: "group block relative break-words last-child:mb-0 p-16 rounded-8",
1060
1060
  // Relative here enables w-clickable
@@ -1214,9 +1214,9 @@ var modal = {
1214
1214
  content: "block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",
1215
1215
  footer: "flex justify-end shrink-0 px-16 sm:px-32",
1216
1216
  transitionTitle: "transition-all duration-300",
1217
- transitionTitleCenter: "justify-self-center",
1217
+ transitionTitleCenter: "justify-self-center self-center",
1218
1218
  transitionTitleColSpan: "col-span-2",
1219
- title: "-mt-4 sm:-mt-8 h-40 sm:h-48 grid gap-8 sm:gap-16 grid-cols-[auto_1fr_auto] items-center px-16 sm:px-32 border-b sm:border-b-0 shrink-0",
1219
+ title: "py-8 sm:py-0 -mt-4 sm:-mt-8 min-h-40 sm:min-h-48 grid gap-8 sm:gap-16 grid-cols-[auto_1fr_auto] items-start px-16 sm:px-32 border-b sm:border-b-0 shrink-0",
1220
1220
  titleText: "mb-0 h4 sm:h3",
1221
1221
  titleButton: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} sm:min-h-[44px] sm:min-w-[44px] min-h-[32px] min-w-[32px]`,
1222
1222
  titleButtonLeft: "-ml-8 sm:-ml-12 justify-self-start",
@@ -1303,10 +1303,10 @@ function kebabCaseAttributes(constructor) {
1303
1303
  // packages/select/index.js
1304
1304
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
1305
1305
 
1306
- // node_modules/.pnpm/@lingui+core@4.5.0/node_modules/@lingui/core/dist/index.mjs
1306
+ // node_modules/.pnpm/@lingui+core@4.7.0/node_modules/@lingui/core/dist/index.mjs
1307
1307
  var import_unraw = __toESM(require_dist(), 1);
1308
1308
 
1309
- // node_modules/.pnpm/@lingui+message-utils@4.5.0/node_modules/@lingui/message-utils/dist/compileMessage.mjs
1309
+ // node_modules/.pnpm/@lingui+message-utils@4.7.0/node_modules/@lingui/message-utils/dist/compileMessage.mjs
1310
1310
  var import_parser = __toESM(require_parser(), 1);
1311
1311
  function processTokens(tokens, mapText) {
1312
1312
  if (!tokens.filter((token) => token.type !== "content").length) {
@@ -1356,13 +1356,14 @@ Message: ${message}`);
1356
1356
  }
1357
1357
  }
1358
1358
 
1359
- // node_modules/.pnpm/@lingui+core@4.5.0/node_modules/@lingui/core/dist/index.mjs
1359
+ // node_modules/.pnpm/@lingui+core@4.7.0/node_modules/@lingui/core/dist/index.mjs
1360
1360
  var isString = (s) => typeof s === "string";
1361
1361
  var isFunction = (f) => typeof f === "function";
1362
1362
  var cache = /* @__PURE__ */ new Map();
1363
+ var defaultLocale = "en";
1363
1364
  function normalizeLocales(locales) {
1364
1365
  const out = Array.isArray(locales) ? locales : [locales];
1365
- return [...out, "en"];
1366
+ return [...out, defaultLocale];
1366
1367
  }
1367
1368
  function date(locales, value, format) {
1368
1369
  const _locales = normalizeLocales(locales);
@@ -1407,11 +1408,13 @@ function cacheKey(type, locales, options) {
1407
1408
  return `${type}-${localeKey}-${JSON.stringify(options)}`;
1408
1409
  }
1409
1410
  var UNICODE_REGEX = /\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/g;
1410
- var getDefaultFormats = (locale, locales, formats = {}) => {
1411
- locales = locales || locale;
1412
- const style = (format) => isString(format) ? formats[format] || { style: format } : format;
1411
+ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
1412
+ const locales = passedLocales || locale;
1413
+ const style = (format) => {
1414
+ return typeof format === "object" ? format : formats[format] || { style: format };
1415
+ };
1413
1416
  const replaceOctothorpe = (value, message) => {
1414
- const numberFormat = Object.keys(formats).length ? style("number") : {};
1417
+ const numberFormat = Object.keys(formats).length ? style("number") : void 0;
1415
1418
  const valueStr = number(locales, value, numberFormat);
1416
1419
  return message.replace("#", valueStr);
1417
1420
  };
@@ -1426,17 +1429,19 @@ var getDefaultFormats = (locale, locales, formats = {}) => {
1426
1429
  const message = plural(locales, true, value, cases);
1427
1430
  return replaceOctothorpe(value - offset, message);
1428
1431
  },
1429
- select: (value, rules) => {
1430
- var _a;
1431
- return (_a = rules[value]) != null ? _a : rules.other;
1432
- },
1432
+ select: selectFormatter,
1433
1433
  number: (value, format) => number(locales, value, style(format)),
1434
1434
  date: (value, format) => date(locales, value, style(format)),
1435
- undefined: (value) => value
1435
+ undefined: undefinedFormatter
1436
1436
  };
1437
1437
  };
1438
+ var selectFormatter = (value, rules) => {
1439
+ var _a;
1440
+ return (_a = rules[value]) != null ? _a : rules.other;
1441
+ };
1442
+ var undefinedFormatter = (value) => value;
1438
1443
  function interpolate(translation, locale, locales) {
1439
- return (values, formats = {}) => {
1444
+ return (values = {}, formats) => {
1440
1445
  const formatters = getDefaultFormats(locale, locales, formats);
1441
1446
  const formatMessage = (message) => {
1442
1447
  if (!Array.isArray(message))
@@ -1446,14 +1451,15 @@ function interpolate(translation, locale, locales) {
1446
1451
  return message2 + token;
1447
1452
  const [name, type, format] = token;
1448
1453
  let interpolatedFormat = {};
1449
- if (format != null && !isString(format)) {
1450
- Object.keys(format).forEach((key) => {
1451
- interpolatedFormat[key] = formatMessage(format[key]);
1454
+ if (format != null && typeof format === "object") {
1455
+ Object.entries(format).forEach(([key, value2]) => {
1456
+ interpolatedFormat[key] = formatMessage(value2);
1452
1457
  });
1453
1458
  } else {
1454
1459
  interpolatedFormat = format;
1455
1460
  }
1456
- const value = formatters[type](values[name], interpolatedFormat);
1461
+ const formatter = formatters[type];
1462
+ const value = formatter(values[name], interpolatedFormat);
1457
1463
  if (value == null)
1458
1464
  return message2;
1459
1465
  return message2 + value;
@@ -1465,7 +1471,7 @@ function interpolate(translation, locale, locales) {
1465
1471
  }
1466
1472
  if (isString(result))
1467
1473
  return result.trim();
1468
- return result;
1474
+ return result ? String(result) : "";
1469
1475
  };
1470
1476
  }
1471
1477
  var __defProp$1 = Object.defineProperty;
@@ -1479,25 +1485,29 @@ var EventEmitter = class {
1479
1485
  __publicField$1(this, "_events", {});
1480
1486
  }
1481
1487
  on(event, listener) {
1482
- if (!this._hasEvent(event))
1483
- this._events[event] = [];
1488
+ var _a2;
1489
+ var _a;
1490
+ (_a2 = (_a = this._events)[event]) != null ? _a2 : _a[event] = [];
1484
1491
  this._events[event].push(listener);
1485
1492
  return () => this.removeListener(event, listener);
1486
1493
  }
1487
1494
  removeListener(event, listener) {
1488
- if (!this._hasEvent(event))
1495
+ const maybeListeners = this._getListeners(event);
1496
+ if (!maybeListeners)
1489
1497
  return;
1490
- const index = this._events[event].indexOf(listener);
1498
+ const index = maybeListeners.indexOf(listener);
1491
1499
  if (~index)
1492
- this._events[event].splice(index, 1);
1500
+ maybeListeners.splice(index, 1);
1493
1501
  }
1494
1502
  emit(event, ...args) {
1495
- if (!this._hasEvent(event))
1503
+ const maybeListeners = this._getListeners(event);
1504
+ if (!maybeListeners)
1496
1505
  return;
1497
- this._events[event].map((listener) => listener.apply(this, args));
1506
+ maybeListeners.map((listener) => listener.apply(this, args));
1498
1507
  }
1499
- _hasEvent(event) {
1500
- return Array.isArray(this._events[event]);
1508
+ _getListeners(event) {
1509
+ const maybeListeners = this._events[event];
1510
+ return Array.isArray(maybeListeners) ? maybeListeners : false;
1501
1511
  }
1502
1512
  };
1503
1513
  var __defProp2 = Object.defineProperty;
@@ -1508,23 +1518,22 @@ var __publicField2 = (obj, key, value) => {
1508
1518
  };
1509
1519
  var I18n = class extends EventEmitter {
1510
1520
  constructor(params) {
1521
+ var _a;
1511
1522
  super();
1512
- __publicField2(this, "_locale");
1523
+ __publicField2(this, "_locale", "");
1513
1524
  __publicField2(this, "_locales");
1514
- __publicField2(this, "_localeData");
1515
- __publicField2(this, "_messages");
1525
+ __publicField2(this, "_localeData", {});
1526
+ __publicField2(this, "_messages", {});
1516
1527
  __publicField2(this, "_missing");
1517
1528
  __publicField2(this, "t", this._.bind(this));
1518
- this._messages = {};
1519
- this._localeData = {};
1520
1529
  if (params.missing != null)
1521
1530
  this._missing = params.missing;
1522
1531
  if (params.messages != null)
1523
1532
  this.load(params.messages);
1524
1533
  if (params.localeData != null)
1525
1534
  this.loadLocaleData(params.localeData);
1526
- if (params.locale != null || params.locales != null) {
1527
- this.activate(params.locale, params.locales);
1535
+ if (typeof params.locale === "string" || params.locales) {
1536
+ this.activate((_a = params.locale) != null ? _a : defaultLocale, params.locales);
1528
1537
  }
1529
1538
  }
1530
1539
  get locale() {
@@ -1545,15 +1554,17 @@ var I18n = class extends EventEmitter {
1545
1554
  return (_a = this._localeData[this._locale]) != null ? _a : {};
1546
1555
  }
1547
1556
  _loadLocaleData(locale, localeData) {
1548
- if (this._localeData[locale] == null) {
1557
+ const maybeLocaleData = this._localeData[locale];
1558
+ if (!maybeLocaleData) {
1549
1559
  this._localeData[locale] = localeData;
1550
1560
  } else {
1551
- Object.assign(this._localeData[locale], localeData);
1561
+ Object.assign(maybeLocaleData, localeData);
1552
1562
  }
1553
1563
  }
1554
1564
  /**
1555
1565
  * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4
1556
1566
  */
1567
+ // @ts-ignore deprecated, so ignore the reported error
1557
1568
  loadLocaleData(localeOrAllData, localeData) {
1558
1569
  if (localeData != null) {
1559
1570
  this._loadLocaleData(localeOrAllData, localeData);
@@ -1565,18 +1576,19 @@ var I18n = class extends EventEmitter {
1565
1576
  this.emit("change");
1566
1577
  }
1567
1578
  _load(locale, messages5) {
1568
- if (this._messages[locale] == null) {
1579
+ const maybeMessages = this._messages[locale];
1580
+ if (!maybeMessages) {
1569
1581
  this._messages[locale] = messages5;
1570
1582
  } else {
1571
- Object.assign(this._messages[locale], messages5);
1583
+ Object.assign(maybeMessages, messages5);
1572
1584
  }
1573
1585
  }
1574
1586
  load(localeOrMessages, messages5) {
1575
- if (messages5 != null) {
1587
+ if (typeof localeOrMessages == "string" && typeof messages5 === "object") {
1576
1588
  this._load(localeOrMessages, messages5);
1577
1589
  } else {
1578
- Object.keys(localeOrMessages).forEach(
1579
- (locale) => this._load(locale, localeOrMessages[locale])
1590
+ Object.entries(localeOrMessages).forEach(
1591
+ ([locale, messages23]) => this._load(locale, messages23)
1580
1592
  );
1581
1593
  }
1582
1594
  this.emit("change");
@@ -1600,13 +1612,15 @@ var I18n = class extends EventEmitter {
1600
1612
  this._locales = locales;
1601
1613
  this.emit("change");
1602
1614
  }
1603
- _(id, values = {}, { message, formats } = {}) {
1615
+ _(id, values, options) {
1616
+ let message = options == null ? void 0 : options.message;
1604
1617
  if (!isString(id)) {
1605
1618
  values = id.values || values;
1606
1619
  message = id.message;
1607
1620
  id = id.id;
1608
1621
  }
1609
- const messageMissing = !this.messages[id];
1622
+ const messageForId = this.messages[id];
1623
+ const messageMissing = messageForId === void 0;
1610
1624
  const missing = this._missing;
1611
1625
  if (missing && messageMissing) {
1612
1626
  return isFunction(missing) ? missing(this._locale, id) : missing;
@@ -1614,7 +1628,7 @@ var I18n = class extends EventEmitter {
1614
1628
  if (messageMissing) {
1615
1629
  this.emit("missing", { id, locale: this._locale });
1616
1630
  }
1617
- let translation = this.messages[id] || message || id;
1631
+ let translation = messageForId || message || id;
1618
1632
  if (true) {
1619
1633
  translation = isString(translation) ? compileMessage(translation) : translation;
1620
1634
  }
@@ -1626,7 +1640,7 @@ var I18n = class extends EventEmitter {
1626
1640
  translation,
1627
1641
  this._locale,
1628
1642
  this._locales
1629
- )(values, formats);
1643
+ )(values, options == null ? void 0 : options.formats);
1630
1644
  }
1631
1645
  date(value, format) {
1632
1646
  return date(this._locales || this._locale, value, format);
@@ -1651,11 +1665,11 @@ var messages3 = JSON.parse('{"select.label.optional":"(vapaaehtoinen)"}');
1651
1665
 
1652
1666
  // packages/i18n.ts
1653
1667
  var supportedLocales = ["en", "nb", "fi"];
1654
- var defaultLocale = "en";
1668
+ var defaultLocale2 = "en";
1655
1669
  var getSupportedLocale = (usedLocale) => {
1656
1670
  return supportedLocales.find(
1657
1671
  (locale) => usedLocale === locale || usedLocale.toLowerCase().includes(locale)
1658
- ) || defaultLocale;
1672
+ ) || defaultLocale2;
1659
1673
  };
1660
1674
  function detectLocale() {
1661
1675
  if (typeof window === "undefined") {
@@ -1667,7 +1681,7 @@ function detectLocale() {
1667
1681
  return getSupportedLocale(htmlLocale);
1668
1682
  } catch (e) {
1669
1683
  console.warn("could not detect locale, falling back to source locale", e);
1670
- return defaultLocale;
1684
+ return defaultLocale2;
1671
1685
  }
1672
1686
  }
1673
1687
  var getMessages = (locale, enMsg, nbMsg, fiMsg) => {
@@ -1684,18 +1698,18 @@ var activateI18n = (enMessages, nbMessages, fiMessages) => {
1684
1698
  i18n.activate(locale);
1685
1699
  };
1686
1700
 
1687
- // node_modules/.pnpm/@warp-ds+icons@1.3.0/node_modules/@warp-ds/icons/dist/elements/chevron-down-16.js
1701
+ // node_modules/.pnpm/@warp-ds+icons@1.4.0/node_modules/@warp-ds/icons/dist/elements/chevron-down-16.js
1688
1702
  import { LitElement } from "lit";
1689
1703
  import { unsafeStatic, html } from "lit/static-html.js";
1690
1704
  var messages4 = JSON.parse('{"icon.title.chevron-down":"Nedoverpil"}');
1691
1705
  var messages22 = JSON.parse('{"icon.title.chevron-down":"Downward arrow"}');
1692
1706
  var messages32 = JSON.parse('{"icon.title.chevron-down":"Nuoli alasp\xE4in"}');
1693
1707
  var supportedLocales2 = ["en", "nb", "fi"];
1694
- var defaultLocale2 = "en";
1708
+ var defaultLocale3 = "en";
1695
1709
  var getSupportedLocale2 = (usedLocale) => {
1696
1710
  return supportedLocales2.find(
1697
1711
  (locale) => usedLocale === locale || usedLocale.toLowerCase().includes(locale)
1698
- ) || defaultLocale2;
1712
+ ) || defaultLocale3;
1699
1713
  };
1700
1714
  function detectLocale2() {
1701
1715
  if (typeof window === "undefined") {
@@ -1707,7 +1721,7 @@ function detectLocale2() {
1707
1721
  return getSupportedLocale2(htmlLocale);
1708
1722
  } catch (e) {
1709
1723
  console.warn("could not detect locale, falling back to source locale", e);
1710
- return defaultLocale2;
1724
+ return defaultLocale3;
1711
1725
  }
1712
1726
  }
1713
1727
  var getMessages2 = (locale, enMsg, nbMsg, fiMsg) => {