@warp-ds/elements 2.0.0 → 2.0.1-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.
@@ -1370,10 +1370,6 @@ var Move = class {
1370
1370
  }
1371
1371
  };
1372
1372
 
1373
- // node_modules/.pnpm/@warp-ds+icons@2.0.2/node_modules/@warp-ds/icons/dist/elements/arrow-left-16.js
1374
- import { LitElement } from "lit";
1375
- import { unsafeStatic, html as html2 } from "lit/static-html.js";
1376
-
1377
1373
  // node_modules/.pnpm/@lingui+core@4.11.2/node_modules/@lingui/core/dist/index.mjs
1378
1374
  var import_unraw = __toESM(require_dist(), 1);
1379
1375
 
@@ -1658,17 +1654,17 @@ var I18n = class extends EventEmitter {
1658
1654
  }
1659
1655
  this.emit("change");
1660
1656
  }
1661
- _load(locale, messages5) {
1657
+ _load(locale, messages9) {
1662
1658
  const maybeMessages = this._messages[locale];
1663
1659
  if (!maybeMessages) {
1664
- this._messages[locale] = messages5;
1660
+ this._messages[locale] = messages9;
1665
1661
  } else {
1666
- Object.assign(maybeMessages, messages5);
1662
+ Object.assign(maybeMessages, messages9);
1667
1663
  }
1668
1664
  }
1669
- load(localeOrMessages, messages5) {
1670
- if (typeof localeOrMessages == "string" && typeof messages5 === "object") {
1671
- this._load(localeOrMessages, messages5);
1665
+ load(localeOrMessages, messages9) {
1666
+ if (typeof localeOrMessages == "string" && typeof messages9 === "object") {
1667
+ this._load(localeOrMessages, messages9);
1672
1668
  } else {
1673
1669
  Object.entries(localeOrMessages).forEach(
1674
1670
  ([locale, messages23]) => this._load(locale, messages23)
@@ -1679,10 +1675,10 @@ var I18n = class extends EventEmitter {
1679
1675
  /**
1680
1676
  * @param options {@link LoadAndActivateOptions}
1681
1677
  */
1682
- loadAndActivate({ locale, locales, messages: messages5 }) {
1678
+ loadAndActivate({ locale, locales, messages: messages9 }) {
1683
1679
  this._locale = locale;
1684
1680
  this._locales = locales || void 0;
1685
- this._messages[this._locale] = messages5;
1681
+ this._messages[this._locale] = messages9;
1686
1682
  this.emit("change");
1687
1683
  }
1688
1684
  activate(locale, locales) {
@@ -1741,6 +1737,8 @@ function setupI18n(params = {}) {
1741
1737
  var i18n = setupI18n();
1742
1738
 
1743
1739
  // node_modules/.pnpm/@warp-ds+icons@2.0.2/node_modules/@warp-ds/icons/dist/elements/arrow-left-16.js
1740
+ import { LitElement } from "lit";
1741
+ import { unsafeStatic, html as html2 } from "lit/static-html.js";
1744
1742
  var messages = JSON.parse('{"icon.title.arrow-left":"Pil som peker mot venstre"}');
1745
1743
  var messages2 = JSON.parse('{"icon.title.arrow-left":"Leftward-pointing arrow"}');
1746
1744
  var messages3 = JSON.parse('{"icon.title.arrow-left":"Vasemmalle osoittava nuoli"}');
@@ -1923,11 +1921,60 @@ if (!customElements.get("w-icon-close-16")) {
1923
1921
  // packages/modal/modal-header.js
1924
1922
  import WarpElement2 from "@warp-ds/elements-core";
1925
1923
  import { createRef, ref } from "lit/directives/ref.js";
1924
+
1925
+ // packages/i18n.ts
1926
+ var supportedLocales3 = ["en", "nb", "fi", "da"];
1927
+ var defaultLocale4 = "en";
1928
+ var getSupportedLocale3 = (usedLocale) => {
1929
+ return supportedLocales3.find(
1930
+ (locale) => usedLocale === locale || usedLocale.toLowerCase().includes(locale)
1931
+ ) || defaultLocale4;
1932
+ };
1933
+ function detectLocale3() {
1934
+ if (typeof window === "undefined") {
1935
+ const serverLocale = process.env.NMP_LANGUAGE || Intl.DateTimeFormat().resolvedOptions().locale;
1936
+ return getSupportedLocale3(serverLocale);
1937
+ }
1938
+ try {
1939
+ const htmlLocale = document.documentElement.lang;
1940
+ return getSupportedLocale3(htmlLocale);
1941
+ } catch (e) {
1942
+ console.warn("could not detect locale, falling back to source locale", e);
1943
+ return defaultLocale4;
1944
+ }
1945
+ }
1946
+ var getMessages3 = (locale, enMsg, nbMsg, fiMsg, daMsg) => {
1947
+ if (locale === "nb") return nbMsg;
1948
+ if (locale === "fi") return fiMsg;
1949
+ if (locale === "da") return daMsg;
1950
+ return enMsg;
1951
+ };
1952
+ var activateI18n3 = (enMessages, nbMessages, fiMessages, daMessages) => {
1953
+ const locale = detectLocale3();
1954
+ const messages9 = getMessages3(locale, enMessages, nbMessages, fiMessages, daMessages);
1955
+ i18n.load(locale, messages9);
1956
+ i18n.activate(locale);
1957
+ };
1958
+
1959
+ // packages/modal/locales/da/messages.mjs
1960
+ var messages5 = JSON.parse('{"modal.aria.back":"Tilbage","modal.aria.close":"Luk"}');
1961
+
1962
+ // packages/modal/locales/en/messages.mjs
1963
+ var messages6 = JSON.parse('{"modal.aria.back":"Back","modal.aria.close":"Close"}');
1964
+
1965
+ // packages/modal/locales/fi/messages.mjs
1966
+ var messages7 = JSON.parse('{"modal.aria.back":"Takaisin","modal.aria.close":"Sulje"}');
1967
+
1968
+ // packages/modal/locales/nb/messages.mjs
1969
+ var messages8 = JSON.parse('{"modal.aria.back":"Tilbake","modal.aria.close":"Lukk"}');
1970
+
1971
+ // packages/modal/modal-header.js
1926
1972
  var NO_CLOSE_BUTTON = "no-close";
1927
1973
  var ModalHeader = class extends CanCloseMixin(WarpElement2) {
1928
1974
  constructor() {
1929
1975
  super();
1930
1976
  __publicField(this, "titleEl", createRef());
1977
+ activateI18n3(messages6, messages8, messages7, messages5);
1931
1978
  this._hasTopContent = false;
1932
1979
  }
1933
1980
  render() {
@@ -1958,14 +2005,27 @@ var ModalHeader = class extends CanCloseMixin(WarpElement2) {
1958
2005
  ].join(" ");
1959
2006
  }
1960
2007
  get backButton() {
1961
- return this.back && !this._hasTopContent ? html4` <button type="button" class="${modalElement.headerButton} ${modalElement.headerButtonLeft}" @click="${this.emitBack}">
2008
+ return this.back && !this._hasTopContent ? html4`<button
2009
+ type="button"
2010
+ aria-label="${i18n._({
2011
+ id: "modal.aria.back",
2012
+ message: "Back",
2013
+ comment: "Aria label for the back button in modal"
2014
+ })}"
2015
+ class="${modalElement.headerButton} ${modalElement.headerButtonLeft}"
2016
+ @click="${this.emitBack}">
1962
2017
  <w-icon-arrow-left-16></w-icon-arrow-left-16>
1963
2018
  </button>` : nothing;
1964
2019
  }
1965
2020
  get closeButton() {
1966
2021
  if (this[NO_CLOSE_BUTTON]) return nothing;
1967
- return html4` <button
2022
+ return html4`<button
1968
2023
  type="button"
2024
+ aria-label="${i18n._({
2025
+ id: "modal.aria.close",
2026
+ message: "Close",
2027
+ comment: "Aria label for the close button in modal"
2028
+ })}"
1969
2029
  class="${modalElement.headerButton} ${this._hasTopContent ? modalElement.headerCloseButtonOnImage : modalElement.headerCloseButton}"
1970
2030
  @click="${this.close}">
1971
2031
  <w-icon-close-16></w-icon-close-16>