@warp-ds/elements 2.4.0-next.9 → 2.5.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 (76) hide show
  1. package/dist/custom-elements.json +29 -7
  2. package/dist/index.d.ts +16 -14
  3. package/dist/packages/attention/attention.js +12 -12
  4. package/dist/packages/attention/attention.js.map +3 -3
  5. package/dist/packages/breadcrumbs/breadcrumbs.js +9 -9
  6. package/dist/packages/breadcrumbs/breadcrumbs.js.map +3 -3
  7. package/dist/packages/button/button.js +8 -8
  8. package/dist/packages/button/button.js.map +3 -3
  9. package/dist/packages/card/card.js +8 -8
  10. package/dist/packages/card/card.js.map +3 -3
  11. package/dist/packages/combobox/combobox.js +13 -13
  12. package/dist/packages/combobox/combobox.js.map +3 -3
  13. package/dist/packages/combobox/combobox.react.stories.d.ts +1 -1
  14. package/dist/packages/datepicker/datepicker.js +15 -15
  15. package/dist/packages/datepicker/datepicker.js.map +3 -3
  16. package/dist/packages/datepicker/datepicker.react.stories.d.ts +1 -1
  17. package/dist/packages/i18n.js +6 -2
  18. package/dist/packages/icon/icon.d.ts +27 -0
  19. package/dist/packages/icon/icon.js +101 -0
  20. package/dist/packages/icon/icon.react.stories.d.ts +28 -0
  21. package/dist/packages/icon/icon.react.stories.js +37 -0
  22. package/dist/packages/icon/icon.stories.d.ts +39 -0
  23. package/dist/packages/icon/icon.stories.js +43 -0
  24. package/dist/packages/icon/react.d.ts +2 -0
  25. package/dist/packages/icon/react.js +11 -0
  26. package/dist/packages/icon/style.d.ts +1 -0
  27. package/dist/packages/icon/style.js +27 -0
  28. package/dist/packages/modal-header/modal-header.js +7 -7
  29. package/dist/packages/modal-header/modal-header.js.map +3 -3
  30. package/dist/packages/page-indicator/locales/da/messages.mjs +1 -0
  31. package/dist/packages/page-indicator/locales/en/messages.mjs +1 -0
  32. package/dist/packages/page-indicator/locales/fi/messages.mjs +1 -0
  33. package/dist/packages/page-indicator/locales/nb/messages.mjs +1 -0
  34. package/dist/packages/page-indicator/locales/sv/messages.mjs +1 -0
  35. package/dist/packages/page-indicator/page-indicator.d.ts +16 -0
  36. package/dist/packages/page-indicator/page-indicator.js +14 -5
  37. package/dist/packages/page-indicator/page-indicator.js.map +4 -4
  38. package/dist/packages/page-indicator/page-indicator.stories.js +22 -6
  39. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -0
  40. package/dist/packages/page-indicator/page-indicator.test.js +118 -0
  41. package/dist/packages/pagination/pagination.js +14 -14
  42. package/dist/packages/pagination/pagination.js.map +3 -3
  43. package/dist/packages/pill/pill.js +8 -8
  44. package/dist/packages/pill/pill.js.map +3 -3
  45. package/dist/packages/select/select.js +15 -15
  46. package/dist/packages/select/select.js.map +3 -3
  47. package/dist/packages/select/select.react.stories.d.ts +1 -1
  48. package/dist/packages/slider/slider.js +17 -17
  49. package/dist/packages/slider/slider.js.map +3 -3
  50. package/dist/packages/step/locales/da/messages.d.mts +1 -0
  51. package/dist/packages/step/locales/en/messages.d.mts +1 -0
  52. package/dist/packages/step/locales/fi/messages.d.mts +1 -0
  53. package/dist/packages/step/locales/nb/messages.d.mts +1 -0
  54. package/dist/packages/step/locales/sv/messages.d.mts +1 -0
  55. package/dist/packages/step/step.js +7 -7
  56. package/dist/packages/step/step.js.map +4 -4
  57. package/dist/packages/step-indicator/step-indicator.d.ts +0 -1
  58. package/dist/packages/step-indicator/step-indicator.js +5 -14
  59. package/dist/packages/step-indicator/step-indicator.js.map +4 -4
  60. package/dist/packages/tabs/tabs.react.stories.js +6 -6
  61. package/dist/packages/textarea/textarea.react.stories.d.ts +1 -1
  62. package/dist/packages/textfield/textfield.react.stories.d.ts +1 -1
  63. package/dist/packages/toast/toast.js +8 -8
  64. package/dist/packages/toast/toast.js.map +3 -3
  65. package/dist/web-types.json +6 -6
  66. package/package.json +1 -1
  67. /package/dist/packages/{step-indicator → page-indicator}/locales/da/messages.d.mts +0 -0
  68. /package/dist/packages/{step-indicator → page-indicator}/locales/en/messages.d.mts +0 -0
  69. /package/dist/packages/{step-indicator → page-indicator}/locales/fi/messages.d.mts +0 -0
  70. /package/dist/packages/{step-indicator → page-indicator}/locales/nb/messages.d.mts +0 -0
  71. /package/dist/packages/{step-indicator → page-indicator}/locales/sv/messages.d.mts +0 -0
  72. /package/dist/packages/{step-indicator → step}/locales/da/messages.mjs +0 -0
  73. /package/dist/packages/{step-indicator → step}/locales/en/messages.mjs +0 -0
  74. /package/dist/packages/{step-indicator → step}/locales/fi/messages.mjs +0 -0
  75. /package/dist/packages/{step-indicator → step}/locales/nb/messages.mjs +0 -0
  76. /package/dist/packages/{step-indicator → step}/locales/sv/messages.mjs +0 -0
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { DatePicker } from './react';
4
4
  declare const _default: {
5
5
  title: string;
6
- render(args: Omit<React.HTMLAttributes<import("./datepicker").WarpDatepicker>, "label" | "onchange" | "onChange" | "render" | "renderOptions" | "connectedCallback" | "disconnectedCallback" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "form" | "input" | "name" | "value" | "updated" | "resetFormControl" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "month" | "locale" | "calendar" | "wrapper" | "headerFormat" | "weekdayFormat" | "isDayDisabled" | "dayFormat" | "isCalendarOpen" | "navigationDate" | "selectedDate" | "weeks" | "toggleButton" | "previousMonthButton" | "todayCell" | "selectedCell"> & {
6
+ render(args: Omit<React.HTMLAttributes<import("./datepicker").WarpDatepicker>, "label" | "onchange" | "onChange" | "render" | "renderOptions" | "connectedCallback" | "disconnectedCallback" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "form" | "input" | "name" | "value" | "updated" | "resetFormControl" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "month" | "calendar" | "wrapper" | "headerFormat" | "weekdayFormat" | "isDayDisabled" | "dayFormat" | "isCalendarOpen" | "navigationDate" | "locale" | "selectedDate" | "weeks" | "toggleButton" | "previousMonthButton" | "todayCell" | "selectedCell"> & {
7
7
  onChange?: (e: Event) => void;
8
8
  onchange?: (e: Event) => void;
9
9
  } & Partial<Omit<import("./datepicker").WarpDatepicker, keyof HTMLElement>> & React.RefAttributes<import("./datepicker").WarpDatepicker>): React.JSX.Element;
@@ -38,8 +38,12 @@ export const getMessages = (locale, enMsg, nbMsg, fiMsg, daMsg, svMsg) => {
38
38
  return enMsg;
39
39
  };
40
40
  export const activateI18n = (enMessages, nbMessages, fiMessages, daMessages, svMessages) => {
41
+ // Load all locales upfront to support dynamic locale switching
42
+ i18n.load('en', enMessages);
43
+ i18n.load('nb', nbMessages);
44
+ i18n.load('fi', fiMessages);
45
+ i18n.load('da', daMessages);
46
+ i18n.load('sv', svMessages);
41
47
  const locale = detectLocale();
42
- const messages = getMessages(locale, enMessages, nbMessages, fiMessages, daMessages, svMessages);
43
- i18n.load(locale, messages);
44
48
  i18n.activate(locale);
45
49
  };
@@ -0,0 +1,27 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ export declare class WIcon extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ /** Icon filename (without .svg) */
5
+ name: string;
6
+ /** Size: small, medium, large or pixel value (e.g. "32px") */
7
+ size: 'small' | 'medium' | 'large' | string;
8
+ /** Locale used in CDN URL */
9
+ locale: string;
10
+ /** Parsed SVG element (not reflected as attribute) */
11
+ private svg;
12
+ /**
13
+ * Fetch an icon SVG from the CDN, with caching
14
+ * @param iconName - Name of the icon file
15
+ * @returns SVGElement or null on failure
16
+ */
17
+ private fetchIcon;
18
+ protected firstUpdated(): void;
19
+ protected updated(changedProps: Map<string, unknown>): void;
20
+ private loadIcon;
21
+ render(): TemplateResult;
22
+ }
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'w-icon': WIcon;
26
+ }
27
+ }
@@ -0,0 +1,101 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { styles } from './style.js';
8
+ import { html, LitElement } from 'lit';
9
+ import { property, state } from 'lit/decorators.js';
10
+ import { classMap } from 'lit/directives/class-map.js';
11
+ const _fetchMap = new Map();
12
+ const ERROR_SVG = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';
13
+ /**
14
+ * A minimal in-memory map to de-duplicate Fetch API media requests.
15
+ *
16
+ * @param uri - Resource URL
17
+ * @param options - Optional parser for the response
18
+ * @returns Promise of parsed response
19
+ */
20
+ function cacheFetch(uri, options = {}) {
21
+ const parser = options.responseParser ?? ((res) => res.text());
22
+ if (!_fetchMap.has(uri)) {
23
+ _fetchMap.set(uri, fetch(uri).then(parser));
24
+ }
25
+ return _fetchMap.get(uri);
26
+ }
27
+ export class WIcon extends LitElement {
28
+ constructor() {
29
+ super(...arguments);
30
+ /** Icon filename (without .svg) */
31
+ this.name = '';
32
+ /** Size: small, medium, large or pixel value (e.g. "32px") */
33
+ this.size = 'medium';
34
+ /** Locale used in CDN URL */
35
+ this.locale = 'en';
36
+ /** Parsed SVG element (not reflected as attribute) */
37
+ this.svg = null;
38
+ }
39
+ static { this.styles = [styles]; }
40
+ /**
41
+ * Fetch an icon SVG from the CDN, with caching
42
+ * @param iconName - Name of the icon file
43
+ * @returns SVGElement or null on failure
44
+ */
45
+ async fetchIcon(iconName) {
46
+ const uri = `https://assets.finn.no/pkg/eikons/v1/${this.locale}/${iconName}.svg`;
47
+ try {
48
+ const svgText = await cacheFetch(uri);
49
+ const doc = new DOMParser().parseFromString(svgText, 'text/html');
50
+ return doc.body.querySelector('svg');
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ firstUpdated() {
57
+ this.loadIcon();
58
+ }
59
+ updated(changedProps) {
60
+ if (changedProps.has('name') || changedProps.has('locale')) {
61
+ this.loadIcon();
62
+ }
63
+ }
64
+ async loadIcon() {
65
+ if (!this.name) {
66
+ this.svg = null;
67
+ return;
68
+ }
69
+ let iconEl = await this.fetchIcon(this.name);
70
+ if (!iconEl) {
71
+ const doc = new DOMParser().parseFromString(ERROR_SVG, 'text/html');
72
+ iconEl = doc.body.firstElementChild;
73
+ }
74
+ this.svg = iconEl;
75
+ }
76
+ render() {
77
+ const classes = {
78
+ 'w-icon': true,
79
+ 'w-icon--s': this.size === 'small',
80
+ 'w-icon--m': this.size === 'medium',
81
+ 'w-icon--l': this.size === 'large',
82
+ };
83
+ const customStyle = typeof this.size === 'string' && this.size.endsWith('px') ? `--w-icon-size: ${this.size};` : '';
84
+ return html `<div class="${classMap(classes)}" style="${customStyle}" part="w-${this.name.toLowerCase()}">${this.svg}</div>`;
85
+ }
86
+ }
87
+ __decorate([
88
+ property({ type: String, reflect: true })
89
+ ], WIcon.prototype, "name", void 0);
90
+ __decorate([
91
+ property({ type: String, reflect: true })
92
+ ], WIcon.prototype, "size", void 0);
93
+ __decorate([
94
+ property({ type: String, reflect: true })
95
+ ], WIcon.prototype, "locale", void 0);
96
+ __decorate([
97
+ state()
98
+ ], WIcon.prototype, "svg", void 0);
99
+ if (!customElements.get('w-icon')) {
100
+ customElements.define('w-icon', WIcon);
101
+ }
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ component: import("@lit/react").ReactWebComponent<import("./icon.js").WIcon, {}>;
4
+ title: string;
5
+ argTypes: {
6
+ name: {
7
+ control: {
8
+ type: string;
9
+ };
10
+ options: string[];
11
+ };
12
+ size: {
13
+ control: {
14
+ type: string;
15
+ };
16
+ options: string[];
17
+ };
18
+ locale: {
19
+ control: {
20
+ type: string;
21
+ };
22
+ options: string[];
23
+ };
24
+ };
25
+ };
26
+ export default _default;
27
+ export declare const Default: any;
28
+ export declare const Example: () => React.JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { Icon } from './react.js';
2
+ import React from 'react';
3
+ export default {
4
+ component: Icon,
5
+ title: 'Icons',
6
+ argTypes: {
7
+ name: {
8
+ control: { type: 'select' },
9
+ options: ["ActiveAds", "Ads", "AirCon", "AirplaneBed", "AllWheelDrive", "AnimalPaw", "ArchiveBox", "Archway", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "AwardMedal", "BackWheelDrive", "Bag", "Bank", "BankIdNo", "BatteryEmpty", "BatteryFull", "BatteryHalfFull", "Beach", "Bell", "BellFilled", "Bin", "Block", "Boat", "Bolt", "Bookmark", "Briefcase", "BriefcaseUser", "Browser", "BrowserVerified", "Building", "BuildingPlot", "Bulb", "Burger", "Bus", "CabinHut", "Calculator", "Calendar", "CalendarBlank", "CalendarPlus", "Camera", "Cancel", "Car", "CarLeft", "CarPart", "CarRent", "CarRight", "Chair", "Charger", "Charter", "ChatSupport", "Check", "CheckShield", "Checklist", "ChevronDoubleLeft", "ChevronDoubleRight", "ChevronDown", "ChevronLeft", "ChevronRight", "ChevronUp", "CirclePlus", "CirclePlusFilled", "CircleUser", "CircleUserFilled", "Clock", "ClockCountdown", "Close", "Code", "Cog", "ColorPalette", "Confetti", "Cookie", "Copy", "CreditCard", "Cursor", "Delivery", "DeliveryKey", "Diner", "Discount", "Dislike", "Door", "Dots", "DotsVertical", "DoubleBed", "Download", "DragDots", "Draw", "Drawer", "Drill", "Drink", "Dumbbell", "Edit", "Energy", "Engine", "EngineBelt", "Error", "Exchange", "Expand", "EyeOff", "EyeOn", "Facebook", "Farm", "FileAdd", "FileArrowDown", "Filter", "Fireplace", "Fishing", "FrontWheelDrive", "GasDiesel", "GasFuel", "GasHybrid", "GearAutomatic", "GearManual", "GeometricShapes", "Globe", "GraphLine", "GraphPie", "Grid", "Grill", "Guitar", "Headset", "Heart", "HeartRate", "Hiking", "History", "Hotel", "House", "HouseBed", "HouseFilled", "HouseModern", "HousePerson", "IceSkater", "Image", "Info", "Instagram", "JetSki", "Key", "Lamp", "Layers", "Leaf", "Lift", "Like", "Link", "LinkExternal", "ListSort", "LockShield", "Logout", "LotusFlower", "Luggage", "Mail", "Mailbox", "Map", "Megaphone", "Messages", "MessagesFilled", "Minus", "Mixer", "Money", "Moon", "Motorcycle", "Mountain", "NoSmoking", "OfficeDesk", "Organize", "Paperclip", "Parking", "Phone", "PhoneCheck", "PhoneScratched", "PhoneUsed", "PictureStack", "PinMarker", "PinRound", "PlaneLand", "PlaneTakeOff", "Play", "Playhouse", "Plus", "ProductBump", "ProductCarousel", "ProductHighlightListing", "ProductNabolagsprofil", "ProductStarred", "ProductTop", "Propeller", "Question", "Refresh", "Road", "Rocket", "RoomService", "RotateLeft", "RotateRight", "RowingBoat", "Ruler", "Sauna", "ScrollUp", "Search", "Seat", "Send", "Share", "Shipping", "Shirt", "Shoes", "ShoppingCart", "Shower", "Shrink", "SidebarChevronLeft", "SidebarChevronRight", "SingleCylinder", "Skyscraper", "SmileyGood", "SmileyHappy", "SmileyNeutral", "SmileySad", "Sofa", "Sorting", "Sparkles", "Speedometer", "Stairs", "StarCheck", "StarEmpty", "StarFull", "StarHalf", "Store", "StoreFront", "Stove", "Stroller", "Success", "Suitcase", "SuitcaseTrolley", "Sun", "Support", "Swimming", "TV", "Tag", "TaskList", "TextBold", "TextItalic", "TextStrikethrough", "TextUnderline", "Theater", "ThreeSixty", "Ticket", "TownHouse", "Tractor", "Tree", "TrendDown", "TrendFlat", "TrendUp", "Tshirt", "Up", "Upload", "User", "UserGroup", "Users", "Vacuum", "Vase", "Verification", "Wallet", "Warning", "Warranty", "WashingMachine", "WaterPitcher", "Weight", "Wheelchair", "Wifi", "Wrench", "X", "YouTube"],
10
+ },
11
+ size: {
12
+ control: { type: 'select' },
13
+ options: ['small', 'medium', 'large', '42px', '64px', '96px', '128px'],
14
+ },
15
+ locale: {
16
+ control: { type: 'select' },
17
+ options: ['nb', 'sv', 'da', 'fi', 'en'],
18
+ },
19
+ },
20
+ };
21
+ const Template = (args) => React.createElement(Icon, { ...args });
22
+ export const Default = Template.bind({});
23
+ Default.args = {
24
+ name: 'Ads',
25
+ size: 'medium',
26
+ locale: 'nb',
27
+ };
28
+ export const Example = () => (React.createElement("div", null,
29
+ React.createElement("div", null,
30
+ React.createElement(Icon, { name: "Speedometer", size: "small", locale: "nb" }),
31
+ React.createElement(Icon, { name: "Speedometer", size: "medium", locale: "nb" }),
32
+ React.createElement(Icon, { name: "Speedometer", size: "large", locale: "nb" }),
33
+ React.createElement(Icon, { name: "Speedometer", size: "42px", locale: "nb" }),
34
+ React.createElement(Icon, { name: "Speedometer", size: "64px", locale: "nb" }),
35
+ React.createElement(Icon, { name: "Speedometer", size: "96px", locale: "nb" }),
36
+ React.createElement(Icon, { name: "Speedometer", size: "128px", locale: "nb" })),
37
+ "some text below"));
@@ -0,0 +1,39 @@
1
+ import './icon.ts';
2
+ declare const _default: {
3
+ component: string;
4
+ title: string;
5
+ render: ({ name, size, locale }: {
6
+ name: any;
7
+ size: any;
8
+ locale: any;
9
+ }) => import("lit").TemplateResult<1>;
10
+ argTypes: {
11
+ name: {
12
+ control: {
13
+ type: string;
14
+ };
15
+ options: string[];
16
+ };
17
+ size: {
18
+ control: {
19
+ type: string;
20
+ };
21
+ options: string[];
22
+ };
23
+ locale: {
24
+ control: {
25
+ type: string;
26
+ };
27
+ options: string[];
28
+ };
29
+ };
30
+ };
31
+ export default _default;
32
+ export declare const Default: {
33
+ args: {
34
+ name: string;
35
+ size: string;
36
+ locale: string;
37
+ };
38
+ };
39
+ export declare const Example: () => import("lit").TemplateResult<1>;
@@ -0,0 +1,43 @@
1
+ import { html } from 'lit';
2
+ import './icon.ts';
3
+ export default {
4
+ component: 'w-icon',
5
+ title: 'Icons',
6
+ render: ({ name, size, locale }) => html `
7
+ <w-icon name=${name} size=${size} locale=${locale} />
8
+ `,
9
+ argTypes: {
10
+ name: {
11
+ control: { type: 'select' },
12
+ options: ["ActiveAds", "Ads", "AirCon", "AirplaneBed", "AllWheelDrive", "AnimalPaw", "ArchiveBox", "Archway", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "AwardMedal", "BackWheelDrive", "Bag", "Bank", "BankIdNo", "BatteryEmpty", "BatteryFull", "BatteryHalfFull", "Beach", "Bell", "BellFilled", "Bin", "Block", "Boat", "Bolt", "Bookmark", "Briefcase", "BriefcaseUser", "Browser", "BrowserVerified", "Building", "BuildingPlot", "Bulb", "Burger", "Bus", "CabinHut", "Calculator", "Calendar", "CalendarBlank", "CalendarPlus", "Camera", "Cancel", "Car", "CarLeft", "CarPart", "CarRent", "CarRight", "Chair", "Charger", "Charter", "ChatSupport", "Check", "CheckShield", "Checklist", "ChevronDoubleLeft", "ChevronDoubleRight", "ChevronDown", "ChevronLeft", "ChevronRight", "ChevronUp", "CirclePlus", "CirclePlusFilled", "CircleUser", "CircleUserFilled", "Clock", "ClockCountdown", "Close", "Code", "Cog", "ColorPalette", "Confetti", "Cookie", "Copy", "CreditCard", "Cursor", "Delivery", "DeliveryKey", "Diner", "Discount", "Dislike", "Door", "Dots", "DotsVertical", "DoubleBed", "Download", "DragDots", "Draw", "Drawer", "Drill", "Drink", "Dumbbell", "Edit", "Energy", "Engine", "EngineBelt", "Error", "Exchange", "Expand", "EyeOff", "EyeOn", "Facebook", "Farm", "FileAdd", "FileArrowDown", "Filter", "Fireplace", "Fishing", "FrontWheelDrive", "GasDiesel", "GasFuel", "GasHybrid", "GearAutomatic", "GearManual", "GeometricShapes", "Globe", "GraphLine", "GraphPie", "Grid", "Grill", "Guitar", "Headset", "Heart", "HeartRate", "Hiking", "History", "Hotel", "House", "HouseBed", "HouseFilled", "HouseModern", "HousePerson", "IceSkater", "Image", "Info", "Instagram", "JetSki", "Key", "Lamp", "Layers", "Leaf", "Lift", "Like", "Link", "LinkExternal", "ListSort", "LockShield", "Logout", "LotusFlower", "Luggage", "Mail", "Mailbox", "Map", "Megaphone", "Messages", "MessagesFilled", "Minus", "Mixer", "Money", "Moon", "Motorcycle", "Mountain", "NoSmoking", "OfficeDesk", "Organize", "Paperclip", "Parking", "Phone", "PhoneCheck", "PhoneScratched", "PhoneUsed", "PictureStack", "PinMarker", "PinRound", "PlaneLand", "PlaneTakeOff", "Play", "Playhouse", "Plus", "ProductBump", "ProductCarousel", "ProductHighlightListing", "ProductNabolagsprofil", "ProductStarred", "ProductTop", "Propeller", "Question", "Refresh", "Road", "Rocket", "RoomService", "RotateLeft", "RotateRight", "RowingBoat", "Ruler", "Sauna", "ScrollUp", "Search", "Seat", "Send", "Share", "Shipping", "Shirt", "Shoes", "ShoppingCart", "Shower", "Shrink", "SidebarChevronLeft", "SidebarChevronRight", "SingleCylinder", "Skyscraper", "SmileyGood", "SmileyHappy", "SmileyNeutral", "SmileySad", "Sofa", "Sorting", "Sparkles", "Speedometer", "Stairs", "StarCheck", "StarEmpty", "StarFull", "StarHalf", "Store", "StoreFront", "Stove", "Stroller", "Success", "Suitcase", "SuitcaseTrolley", "Sun", "Support", "Swimming", "TV", "Tag", "TaskList", "TextBold", "TextItalic", "TextStrikethrough", "TextUnderline", "Theater", "ThreeSixty", "Ticket", "TownHouse", "Tractor", "Tree", "TrendDown", "TrendFlat", "TrendUp", "Tshirt", "Up", "Upload", "User", "UserGroup", "Users", "Vacuum", "Vase", "Verification", "Wallet", "Warning", "Warranty", "WashingMachine", "WaterPitcher", "Weight", "Wheelchair", "Wifi", "Wrench", "X", "YouTube"],
13
+ },
14
+ size: {
15
+ control: { type: 'select' },
16
+ options: ['small', 'medium', 'large', '42px', '64px', '96px', '128px'],
17
+ },
18
+ locale: {
19
+ control: { type: 'select' },
20
+ options: ['nb', 'sv', 'da', 'fi', 'en'],
21
+ },
22
+ },
23
+ };
24
+ export const Default = {
25
+ args: {
26
+ name: 'Ads',
27
+ size: 'medium',
28
+ locale: 'nb',
29
+ },
30
+ };
31
+ export const Example = () => html `
32
+ <div><div>
33
+ <w-icon name="Speedometer" size="small" locale="nb"></w-icon>
34
+ <w-icon name="Speedometer" size="medium" locale="nb"></w-icon>
35
+ <w-icon name="Speedometer" size="large" locale="nb"></w-icon>
36
+ <w-icon name="Speedometer" size="42px" locale="nb"></w-icon>
37
+ <w-icon name="Speedometer" size="64px" locale="nb"></w-icon>
38
+ <w-icon name="Speedometer" size="96px" locale="nb"></w-icon>
39
+ <w-icon name="Speedometer" size="128px" locale="nb"></w-icon>
40
+ </div>
41
+ some text below
42
+ </div>
43
+ `;
@@ -0,0 +1,2 @@
1
+ import { WIcon } from './icon.js';
2
+ export declare const Icon: import("@lit/react").ReactWebComponent<WIcon, {}>;
@@ -0,0 +1,11 @@
1
+ import { createComponent } from '@lit/react';
2
+ import { LitElement } from 'lit';
3
+ import React from 'react';
4
+ // decouple from CDN by providing a dummy class
5
+ class Component extends LitElement {
6
+ }
7
+ export const Icon = createComponent({
8
+ tagName: 'w-icon',
9
+ elementClass: Component,
10
+ react: React,
11
+ });
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,27 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: inline-block;
5
+ }
6
+ .w-icon {
7
+ --_w-icon-size: var(--w-icon-size, 24px);
8
+ height: var(--_w-icon-size);
9
+ width: var(--_w-icon-size);
10
+ display: flex;
11
+ }
12
+ .w-icon svg {
13
+ pointer-events: none;
14
+ height: var(--_w-icon-size);
15
+ width: var(--_w-icon-size);
16
+ }
17
+ .w-icon--s {
18
+ --w-icon-size: 16px;
19
+ }
20
+ .w-icon--m {
21
+ --w-icon-size: 24px;
22
+ }
23
+ .w-icon--l {
24
+ --w-icon-size: 32px;
25
+ }
26
+
27
+ `;
@@ -1,5 +1,5 @@
1
- var _e=Object.create;var _=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Ce=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Ee=(r,e,o)=>e in r?_(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o;var J=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Le=(r,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of ze(e))!Me.call(r,a)&&a!==o&&_(r,a,{get:()=>e[a],enumerable:!(t=U(e,a))||t.enumerable});return r};var Oe=(r,e,o)=>(o=r!=null?_e(Ce(r)):{},Le(e||!r||!r.__esModule?_(o,"default",{value:r,enumerable:!0}):o,r));var w=(r,e,o,t)=>{for(var a=t>1?void 0:t?U(e,o):e,i=r.length-1,n;i>=0;i--)(n=r[i])&&(a=(t?n(e,o,a):n(a))||a);return t&&a&&_(e,o,a),a};var z=(r,e,o)=>Ee(r,typeof e!="symbol"?e+"":e,o);var H=J(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.errorMessages=v.ErrorType=void 0;var x;(function(r){r.MalformedUnicode="MALFORMED_UNICODE",r.MalformedHexadecimal="MALFORMED_HEXADECIMAL",r.CodePointLimit="CODE_POINT_LIMIT",r.OctalDeprecation="OCTAL_DEPRECATION",r.EndOfString="END_OF_STRING"})(x=v.ErrorType||(v.ErrorType={}));v.errorMessages=new Map([[x.MalformedUnicode,"malformed Unicode character escape sequence"],[x.MalformedHexadecimal,"malformed hexadecimal character escape sequence"],[x.CodePointLimit,"Unicode codepoint must not be greater than 0x10FFFF in escape sequence"],[x.OctalDeprecation,'"0"-prefixed octal literals and octal escape sequences are deprecated; for octal literals use the "0o" prefix instead'],[x.EndOfString,"malformed escape sequence at end of string"]])});var V=J(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.unraw=b.errorMessages=b.ErrorType=void 0;var d=H();Object.defineProperty(b,"ErrorType",{enumerable:!0,get:function(){return d.ErrorType}});Object.defineProperty(b,"errorMessages",{enumerable:!0,get:function(){return d.errorMessages}});function Te(r){return!r.match(/[^a-f0-9]/i)?parseInt(r,16):NaN}function M(r,e,o){let t=Te(r);if(Number.isNaN(t)||o!==void 0&&o!==r.length)throw new SyntaxError(d.errorMessages.get(e));return t}function Ne(r){let e=M(r,d.ErrorType.MalformedHexadecimal,2);return String.fromCharCode(e)}function K(r,e){let o=M(r,d.ErrorType.MalformedUnicode,4);if(e!==void 0){let t=M(e,d.ErrorType.MalformedUnicode,4);return String.fromCharCode(o,t)}return String.fromCharCode(o)}function Be(r){return r.charAt(0)==="{"&&r.charAt(r.length-1)==="}"}function De(r){if(!Be(r))throw new SyntaxError(d.errorMessages.get(d.ErrorType.MalformedUnicode));let e=r.slice(1,-1),o=M(e,d.ErrorType.MalformedUnicode);try{return String.fromCodePoint(o)}catch(t){throw t instanceof RangeError?new SyntaxError(d.errorMessages.get(d.ErrorType.CodePointLimit)):t}}function je(r,e=!1){if(e)throw new SyntaxError(d.errorMessages.get(d.ErrorType.OctalDeprecation));let o=parseInt(r,8);return String.fromCharCode(o)}var Pe=new Map([["b","\b"],["f","\f"],["n",`
2
- `],["r","\r"],["t"," "],["v","\v"],["0","\0"]]);function Ae(r){return Pe.get(r)||r}var Ie=/\\(?:(\\)|x([\s\S]{0,2})|u(\{[^}]*\}?)|u([\s\S]{4})\\u([^{][\s\S]{0,3})|u([\s\S]{0,4})|([0-3]?[0-7]{1,2})|([\s\S])|$)/g;function G(r,e=!1){return r.replace(Ie,function(o,t,a,i,n,s,l,p,h){if(t!==void 0)return"\\";if(a!==void 0)return Ne(a);if(i!==void 0)return De(i);if(n!==void 0)return K(n,s);if(l!==void 0)return K(l);if(p==="0")return"\0";if(p!==void 0)return je(p,!e);if(h!==void 0)return Ae(h);throw new SyntaxError(d.errorMessages.get(d.ErrorType.EndOfString))})}b.unraw=G;b.default=G});var X=(r,e)=>({dx:r.left-e.left,dy:r.top-e.top,dw:r.width/e.width,dh:r.height/e.height,first:r,last:e}),Z=({dx:r,dy:e})=>[{transform:`translate(${r}px, ${e}px)`},{transform:"none"}],q={easing:"ease",duration:300};var T=!1,Se=typeof window!="undefined";if(Se){let r=window.matchMedia("(prefers-reduced-motion: reduce)"),e=({matches:o})=>T=o;r.addEventListener&&r.addEventListener("change",e),e(r)}var C=class{constructor(e,{animation:o={},keyframes:t,respectReduceMotion:a=!0}={}){z(this,"first");z(this,"last");z(this,"el");this.el=e,this.first={},this.last={},this.userAnimationOptions=o,this.keyframeGenerator=t||Z,this.shouldReduceMotion=a}async when(e){this.prep();let o=await e();return await this.play(),o}prep(){this.first=this.el.getBoundingClientRect()}async play(){if(this.last=this.el.getBoundingClientRect(),!this.el.animate)return;await this.el.animate(this.keyframes,this.animationOptions).finished}get keyframes(){return this.keyframeGenerator(X(this.first,this.last))}get defaults(){return q}get mergedOptions(){return{...this.defaults,...this.userAnimationOptions}}get animationOptions(){return this.shouldReduceMotion?T?{...this.mergedOptions,duration:0}:this.mergedOptions:this.mergedOptions}};var ee=Oe(V(),1);var g=r=>typeof r=="string",Ye=r=>typeof r=="function",Q=new Map,re="en";function j(r){return[...Array.isArray(r)?r:[r],re]}function P(r,e,o){let t=j(r);o||(o="default");let a;if(typeof o=="string")switch(a={day:"numeric",month:"short",year:"numeric"},o){case"full":a.weekday="long";case"long":a.month="long";break;case"short":a.month="numeric";break}else a=o;return E(()=>L("date",t,o),()=>new Intl.DateTimeFormat(t,a)).format(g(e)?new Date(e):e)}function $e(r,e,o){let t;if(o||(o="default"),typeof o=="string")switch(t={second:"numeric",minute:"numeric",hour:"numeric"},o){case"full":case"long":t.timeZoneName="short";break;case"short":delete t.second}else t=o;return P(r,e,t)}function N(r,e,o){let t=j(r);return E(()=>L("number",t,o),()=>new Intl.NumberFormat(t,o)).format(e)}function W(r,e,o,{offset:t=0,...a}){var s,l;let i=j(r),n=e?E(()=>L("plural-ordinal",i),()=>new Intl.PluralRules(i,{type:"ordinal"})):E(()=>L("plural-cardinal",i),()=>new Intl.PluralRules(i,{type:"cardinal"}));return(l=(s=a[o])!=null?s:a[n.select(o-t)])!=null?l:a.other}function E(r,e){let o=r(),t=Q.get(o);return t||(t=e(),Q.set(o,t)),t}function L(r,e,o){let t=e.join("-");return`${r}-${t}-${JSON.stringify(o)}`}var oe=/\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/,te="%__lingui_octothorpe__%",Fe=(r,e,o={})=>{let t=e||r,a=n=>typeof n=="object"?n:o[n],i=(n,s)=>{let l=Object.keys(o).length?a("number"):void 0,p=N(t,n,l);return s.replace(new RegExp(te,"g"),p)};return{plural:(n,s)=>{let{offset:l=0}=s,p=W(t,!1,n,s);return i(n-l,p)},selectordinal:(n,s)=>{let{offset:l=0}=s,p=W(t,!0,n,s);return i(n-l,p)},select:Re,number:(n,s)=>N(t,n,a(s)||{style:s}),date:(n,s)=>P(t,n,a(s)||s),time:(n,s)=>$e(t,n,a(s)||s)}},Re=(r,e)=>{var o;return(o=e[r])!=null?o:e.other};function Ue(r,e,o){return(t={},a)=>{let i=Fe(e,o,a),n=(l,p=!1)=>Array.isArray(l)?l.reduce((h,k)=>{if(k==="#"&&p)return h+te;if(g(k))return h+k;let[F,m,R]=k,O={};m==="plural"||m==="selectordinal"||m==="select"?Object.entries(R).forEach(([S,ye])=>{O[S]=n(ye,m==="plural"||m==="selectordinal")}):O=R;let y;if(m){let S=i[m];y=S(t[F],O)}else y=t[F];return y==null?h:h+y},""):l,s=n(r);return g(s)&&oe.test(s)?(0,ee.unraw)(s):g(s)?s:s?String(s):""}}var Je=Object.defineProperty,Xe=(r,e,o)=>e in r?Je(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,Ze=(r,e,o)=>(Xe(r,typeof e!="symbol"?e+"":e,o),o),B=class{constructor(){Ze(this,"_events",{})}on(e,o){var a;var t;return(a=(t=this._events)[e])!=null||(t[e]=[]),this._events[e].push(o),()=>this.removeListener(e,o)}removeListener(e,o){let t=this._getListeners(e);if(!t)return;let a=t.indexOf(o);~a&&t.splice(a,1)}emit(e,...o){let t=this._getListeners(e);t&&t.map(a=>a.apply(this,o))}_getListeners(e){let o=this._events[e];return Array.isArray(o)?o:!1}},qe=Object.defineProperty,He=(r,e,o)=>e in r?qe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,f=(r,e,o)=>(He(r,typeof e!="symbol"?e+"":e,o),o),D=class extends B{constructor(e){var o;super(),f(this,"_locale",""),f(this,"_locales"),f(this,"_localeData",{}),f(this,"_messages",{}),f(this,"_missing"),f(this,"_messageCompiler"),f(this,"t",this._.bind(this)),e.missing!=null&&(this._missing=e.missing),e.messages!=null&&this.load(e.messages),e.localeData!=null&&this.loadLocaleData(e.localeData),(typeof e.locale=="string"||e.locales)&&this.activate((o=e.locale)!=null?o:re,e.locales)}get locale(){return this._locale}get locales(){return this._locales}get messages(){var e;return(e=this._messages[this._locale])!=null?e:{}}get localeData(){var e;return(e=this._localeData[this._locale])!=null?e:{}}_loadLocaleData(e,o){let t=this._localeData[e];t?Object.assign(t,o):this._localeData[e]=o}setMessagesCompiler(e){return this._messageCompiler=e,this}loadLocaleData(e,o){typeof e=="string"?this._loadLocaleData(e,o):Object.keys(e).forEach(t=>this._loadLocaleData(t,e[t])),this.emit("change")}_load(e,o){let t=this._messages[e];t?Object.assign(t,o):this._messages[e]=o}load(e,o){typeof e=="string"&&typeof o=="object"?this._load(e,o):Object.entries(e).forEach(([t,a])=>this._load(t,a)),this.emit("change")}loadAndActivate({locale:e,locales:o,messages:t}){this._locale=e,this._locales=o||void 0,this._messages[this._locale]=t,this.emit("change")}activate(e,o){this._locale=e,this._locales=o,this.emit("change")}_(e,o,t){if(!this.locale)throw new Error("Lingui: Attempted to call a translation function without setting a locale.\nMake sure to call `i18n.activate(locale)` before using Lingui functions.\nThis issue may also occur due to a race condition in your initialization logic.");let a=t==null?void 0:t.message;e||(e=""),g(e)||(o=e.values||o,a=e.message,e=e.id);let i=this.messages[e],n=i===void 0,s=this._missing;if(s&&n)return Ye(s)?s(this._locale,e):s;n&&this.emit("missing",{id:e,locale:this._locale});let l=i||a||e;return g(l)&&(this._messageCompiler?l=this._messageCompiler(l):console.warn(`Uncompiled message detected! Message:
1
+ var _e=Object.create;var _=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Ce=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Ee=(r,e,o)=>e in r?_(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o;var J=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Le=(r,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of ze(e))!Me.call(r,a)&&a!==o&&_(r,a,{get:()=>e[a],enumerable:!(t=U(e,a))||t.enumerable});return r};var Oe=(r,e,o)=>(o=r!=null?_e(Ce(r)):{},Le(e||!r||!r.__esModule?_(o,"default",{value:r,enumerable:!0}):o,r));var w=(r,e,o,t)=>{for(var a=t>1?void 0:t?U(e,o):e,n=r.length-1,i;n>=0;n--)(i=r[n])&&(a=(t?i(e,o,a):i(a))||a);return t&&a&&_(e,o,a),a};var z=(r,e,o)=>Ee(r,typeof e!="symbol"?e+"":e,o);var H=J(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.errorMessages=v.ErrorType=void 0;var x;(function(r){r.MalformedUnicode="MALFORMED_UNICODE",r.MalformedHexadecimal="MALFORMED_HEXADECIMAL",r.CodePointLimit="CODE_POINT_LIMIT",r.OctalDeprecation="OCTAL_DEPRECATION",r.EndOfString="END_OF_STRING"})(x=v.ErrorType||(v.ErrorType={}));v.errorMessages=new Map([[x.MalformedUnicode,"malformed Unicode character escape sequence"],[x.MalformedHexadecimal,"malformed hexadecimal character escape sequence"],[x.CodePointLimit,"Unicode codepoint must not be greater than 0x10FFFF in escape sequence"],[x.OctalDeprecation,'"0"-prefixed octal literals and octal escape sequences are deprecated; for octal literals use the "0o" prefix instead'],[x.EndOfString,"malformed escape sequence at end of string"]])});var V=J(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.unraw=b.errorMessages=b.ErrorType=void 0;var d=H();Object.defineProperty(b,"ErrorType",{enumerable:!0,get:function(){return d.ErrorType}});Object.defineProperty(b,"errorMessages",{enumerable:!0,get:function(){return d.errorMessages}});function Te(r){return!r.match(/[^a-f0-9]/i)?parseInt(r,16):NaN}function M(r,e,o){let t=Te(r);if(Number.isNaN(t)||o!==void 0&&o!==r.length)throw new SyntaxError(d.errorMessages.get(e));return t}function Ne(r){let e=M(r,d.ErrorType.MalformedHexadecimal,2);return String.fromCharCode(e)}function K(r,e){let o=M(r,d.ErrorType.MalformedUnicode,4);if(e!==void 0){let t=M(e,d.ErrorType.MalformedUnicode,4);return String.fromCharCode(o,t)}return String.fromCharCode(o)}function Be(r){return r.charAt(0)==="{"&&r.charAt(r.length-1)==="}"}function De(r){if(!Be(r))throw new SyntaxError(d.errorMessages.get(d.ErrorType.MalformedUnicode));let e=r.slice(1,-1),o=M(e,d.ErrorType.MalformedUnicode);try{return String.fromCodePoint(o)}catch(t){throw t instanceof RangeError?new SyntaxError(d.errorMessages.get(d.ErrorType.CodePointLimit)):t}}function je(r,e=!1){if(e)throw new SyntaxError(d.errorMessages.get(d.ErrorType.OctalDeprecation));let o=parseInt(r,8);return String.fromCharCode(o)}var Pe=new Map([["b","\b"],["f","\f"],["n",`
2
+ `],["r","\r"],["t"," "],["v","\v"],["0","\0"]]);function Ae(r){return Pe.get(r)||r}var Ie=/\\(?:(\\)|x([\s\S]{0,2})|u(\{[^}]*\}?)|u([\s\S]{4})\\u([^{][\s\S]{0,3})|u([\s\S]{0,4})|([0-3]?[0-7]{1,2})|([\s\S])|$)/g;function G(r,e=!1){return r.replace(Ie,function(o,t,a,n,i,s,l,p,h){if(t!==void 0)return"\\";if(a!==void 0)return Ne(a);if(n!==void 0)return De(n);if(i!==void 0)return K(i,s);if(l!==void 0)return K(l);if(p==="0")return"\0";if(p!==void 0)return je(p,!e);if(h!==void 0)return Ae(h);throw new SyntaxError(d.errorMessages.get(d.ErrorType.EndOfString))})}b.unraw=G;b.default=G});var X=(r,e)=>({dx:r.left-e.left,dy:r.top-e.top,dw:r.width/e.width,dh:r.height/e.height,first:r,last:e}),Z=({dx:r,dy:e})=>[{transform:`translate(${r}px, ${e}px)`},{transform:"none"}],q={easing:"ease",duration:300};var T=!1,Se=typeof window!="undefined";if(Se){let r=window.matchMedia("(prefers-reduced-motion: reduce)"),e=({matches:o})=>T=o;r.addEventListener&&r.addEventListener("change",e),e(r)}var C=class{constructor(e,{animation:o={},keyframes:t,respectReduceMotion:a=!0}={}){z(this,"first");z(this,"last");z(this,"el");this.el=e,this.first={},this.last={},this.userAnimationOptions=o,this.keyframeGenerator=t||Z,this.shouldReduceMotion=a}async when(e){this.prep();let o=await e();return await this.play(),o}prep(){this.first=this.el.getBoundingClientRect()}async play(){if(this.last=this.el.getBoundingClientRect(),!this.el.animate)return;await this.el.animate(this.keyframes,this.animationOptions).finished}get keyframes(){return this.keyframeGenerator(X(this.first,this.last))}get defaults(){return q}get mergedOptions(){return{...this.defaults,...this.userAnimationOptions}}get animationOptions(){return this.shouldReduceMotion?T?{...this.mergedOptions,duration:0}:this.mergedOptions:this.mergedOptions}};var ee=Oe(V(),1);var g=r=>typeof r=="string",Ye=r=>typeof r=="function",Q=new Map,re="en";function j(r){return[...Array.isArray(r)?r:[r],re]}function P(r,e,o){let t=j(r);o||(o="default");let a;if(typeof o=="string")switch(a={day:"numeric",month:"short",year:"numeric"},o){case"full":a.weekday="long";case"long":a.month="long";break;case"short":a.month="numeric";break}else a=o;return E(()=>L("date",t,o),()=>new Intl.DateTimeFormat(t,a)).format(g(e)?new Date(e):e)}function $e(r,e,o){let t;if(o||(o="default"),typeof o=="string")switch(t={second:"numeric",minute:"numeric",hour:"numeric"},o){case"full":case"long":t.timeZoneName="short";break;case"short":delete t.second}else t=o;return P(r,e,t)}function N(r,e,o){let t=j(r);return E(()=>L("number",t,o),()=>new Intl.NumberFormat(t,o)).format(e)}function W(r,e,o,{offset:t=0,...a}){var s,l;let n=j(r),i=e?E(()=>L("plural-ordinal",n),()=>new Intl.PluralRules(n,{type:"ordinal"})):E(()=>L("plural-cardinal",n),()=>new Intl.PluralRules(n,{type:"cardinal"}));return(l=(s=a[o])!=null?s:a[i.select(o-t)])!=null?l:a.other}function E(r,e){let o=r(),t=Q.get(o);return t||(t=e(),Q.set(o,t)),t}function L(r,e,o){let t=e.join("-");return`${r}-${t}-${JSON.stringify(o)}`}var oe=/\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/,te="%__lingui_octothorpe__%",Fe=(r,e,o={})=>{let t=e||r,a=i=>typeof i=="object"?i:o[i],n=(i,s)=>{let l=Object.keys(o).length?a("number"):void 0,p=N(t,i,l);return s.replace(new RegExp(te,"g"),p)};return{plural:(i,s)=>{let{offset:l=0}=s,p=W(t,!1,i,s);return n(i-l,p)},selectordinal:(i,s)=>{let{offset:l=0}=s,p=W(t,!0,i,s);return n(i-l,p)},select:Re,number:(i,s)=>N(t,i,a(s)||{style:s}),date:(i,s)=>P(t,i,a(s)||s),time:(i,s)=>$e(t,i,a(s)||s)}},Re=(r,e)=>{var o;return(o=e[r])!=null?o:e.other};function Ue(r,e,o){return(t={},a)=>{let n=Fe(e,o,a),i=(l,p=!1)=>Array.isArray(l)?l.reduce((h,k)=>{if(k==="#"&&p)return h+te;if(g(k))return h+k;let[F,m,R]=k,O={};m==="plural"||m==="selectordinal"||m==="select"?Object.entries(R).forEach(([S,ye])=>{O[S]=i(ye,m==="plural"||m==="selectordinal")}):O=R;let y;if(m){let S=n[m];y=S(t[F],O)}else y=t[F];return y==null?h:h+y},""):l,s=i(r);return g(s)&&oe.test(s)?(0,ee.unraw)(s):g(s)?s:s?String(s):""}}var Je=Object.defineProperty,Xe=(r,e,o)=>e in r?Je(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,Ze=(r,e,o)=>(Xe(r,typeof e!="symbol"?e+"":e,o),o),B=class{constructor(){Ze(this,"_events",{})}on(e,o){var a;var t;return(a=(t=this._events)[e])!=null||(t[e]=[]),this._events[e].push(o),()=>this.removeListener(e,o)}removeListener(e,o){let t=this._getListeners(e);if(!t)return;let a=t.indexOf(o);~a&&t.splice(a,1)}emit(e,...o){let t=this._getListeners(e);t&&t.map(a=>a.apply(this,o))}_getListeners(e){let o=this._events[e];return Array.isArray(o)?o:!1}},qe=Object.defineProperty,He=(r,e,o)=>e in r?qe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,f=(r,e,o)=>(He(r,typeof e!="symbol"?e+"":e,o),o),D=class extends B{constructor(e){var o;super(),f(this,"_locale",""),f(this,"_locales"),f(this,"_localeData",{}),f(this,"_messages",{}),f(this,"_missing"),f(this,"_messageCompiler"),f(this,"t",this._.bind(this)),e.missing!=null&&(this._missing=e.missing),e.messages!=null&&this.load(e.messages),e.localeData!=null&&this.loadLocaleData(e.localeData),(typeof e.locale=="string"||e.locales)&&this.activate((o=e.locale)!=null?o:re,e.locales)}get locale(){return this._locale}get locales(){return this._locales}get messages(){var e;return(e=this._messages[this._locale])!=null?e:{}}get localeData(){var e;return(e=this._localeData[this._locale])!=null?e:{}}_loadLocaleData(e,o){let t=this._localeData[e];t?Object.assign(t,o):this._localeData[e]=o}setMessagesCompiler(e){return this._messageCompiler=e,this}loadLocaleData(e,o){typeof e=="string"?this._loadLocaleData(e,o):Object.keys(e).forEach(t=>this._loadLocaleData(t,e[t])),this.emit("change")}_load(e,o){let t=this._messages[e];t?Object.assign(t,o):this._messages[e]=o}load(e,o){typeof e=="string"&&typeof o=="object"?this._load(e,o):Object.entries(e).forEach(([t,a])=>this._load(t,a)),this.emit("change")}loadAndActivate({locale:e,locales:o,messages:t}){this._locale=e,this._locales=o||void 0,this._messages[this._locale]=t,this.emit("change")}activate(e,o){this._locale=e,this._locales=o,this.emit("change")}_(e,o,t){if(!this.locale)throw new Error("Lingui: Attempted to call a translation function without setting a locale.\nMake sure to call `i18n.activate(locale)` before using Lingui functions.\nThis issue may also occur due to a race condition in your initialization logic.");let a=t==null?void 0:t.message;e||(e=""),g(e)||(o=e.values||o,a=e.message,e=e.id);let n=this.messages[e],i=n===void 0,s=this._missing;if(s&&i)return Ye(s)?s(this._locale,e):s;i&&this.emit("missing",{id:e,locale:this._locale});let l=n||a||e;return g(l)&&(this._messageCompiler?l=this._messageCompiler(l):console.warn(`Uncompiled message detected! Message:
3
3
 
4
4
  > ${l}
5
5
 
@@ -7,7 +7,7 @@ That means you use raw catalog or your catalog doesn't have a translation for th
7
7
  ICU features such as interpolation and plurals will not work properly for that message.
8
8
 
9
9
  Please compile your catalog first.
10
- `)),g(l)&&oe.test(l)?JSON.parse(`"${l}"`):g(l)?l:Ue(l,this._locale,this._locales)(o,t==null?void 0:t.formats)}date(e,o){return P(this._locales||this._locale,e,o)}number(e,o){return N(this._locales||this._locale,e,o)}};function Ke(r={}){return new D(r)}var c=Ke();import{css as Cr,html as Y,LitElement as Mr,nothing as ke}from"lit";import{property as $,query as Er,state as Lr}from"lit/decorators.js";import{LitElement as Ge}from"lit";import{unsafeStatic as Ve,html as Qe}from"lit/static-html.js";var We=JSON.parse('{"icon.title.arrow-left":["Pil som peker mot venstre"]}'),er=JSON.parse('{"icon.title.arrow-left":["Leftward-pointing arrow"]}'),rr=JSON.parse('{"icon.title.arrow-left":["Vasemmalle osoittava nuoli"]}'),or=JSON.parse('{"icon.title.arrow-left":["Pil til venstre"]}'),tr=JSON.parse('{"icon.title.arrow-left":["Pil som pekar v\xE4nster"]}'),ae=["en","nb","fi","da","sv"],ie="en",ar=()=>{var r;let e;switch((r=process==null?void 0:process.env)==null?void 0:r.NMP_BRAND){case"FINN":e="nb";break;case"TORI":e="fi";break;case"BLOCKET":e="sv";break;case"DBA":e="da";break;default:e="en"}return e},ne=()=>{var r;let e=(r=document==null?void 0:document.location)==null?void 0:r.hostname;return e!=null&&e.includes("finn")?"nb":e.includes("tori")?"fi":e.includes("blocket")?"sv":e.includes("dba")?"da":ie},A=r=>ae.find(e=>r===e||r.toLowerCase().includes(e))||ne();function ir(){var r;if(typeof window=="undefined"){let e=ar();return A(e)}try{let e=(r=document==null?void 0:document.documentElement)==null?void 0:r.lang,o=ne();return ae.includes(e)?A(e!=null?e:o):(console.warn("Unsupported locale set in html lang tag, falling back to detection by hostname"),A(o))}catch(e){return console.warn("could not detect locale, falling back to source locale",e),ie}}var nr=(r,e,o,t,a,i)=>r==="nb"?o:r==="fi"?t:r==="da"?a:r==="sv"?i:e,sr=(r,e,o,t,a)=>{let i=ir(),n=nr(i,r,e,o,t,a);c.load(i,n),c.activate(i)};sr(er,We,rr,or,tr);var lr=class extends Ge{render(){let r=c.t({message:"Leftward-pointing arrow",id:"icon.title.arrow-left",comment:"Title for table arrow left icon"});return Qe`<svg xmlns="http://www.w3.org/2000/svg"width="16"height="16"fill="none"viewBox="0 0 16 16" part="w-icon-arrow-left-16-part">${Ve(`<title>${r}</title>`)}<path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M5.222 8h6.667"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M7.444 11.75 4.111 8l3.333-3.75"></path></svg>`}};customElements.get("w-icon-arrow-left-16")||customElements.define("w-icon-arrow-left-16",lr);import{LitElement as cr}from"lit";import{unsafeStatic as dr,html as pr}from"lit/static-html.js";var br=JSON.parse('{"icon.title.close":["Kryss"]}'),ur=JSON.parse('{"icon.title.close":["Cross"]}'),gr=JSON.parse('{"icon.title.close":["Rasti"]}'),hr=JSON.parse('{"icon.title.close":["Kryds"]}'),mr=JSON.parse('{"icon.title.close":["Kryss"]}'),se=["en","nb","fi","da","sv"],le="en",vr=()=>{var r;let e;switch((r=process==null?void 0:process.env)==null?void 0:r.NMP_BRAND){case"FINN":e="nb";break;case"TORI":e="fi";break;case"BLOCKET":e="sv";break;case"DBA":e="da";break;default:e="en"}return e},ce=()=>{var r;let e=(r=document==null?void 0:document.location)==null?void 0:r.hostname;return e!=null&&e.includes("finn")?"nb":e.includes("tori")?"fi":e.includes("blocket")?"sv":e.includes("dba")?"da":le},I=r=>se.find(e=>r===e||r.toLowerCase().includes(e))||ce();function fr(){var r;if(typeof window=="undefined"){let e=vr();return I(e)}try{let e=(r=document==null?void 0:document.documentElement)==null?void 0:r.lang,o=ce();return se.includes(e)?I(e!=null?e:o):(console.warn("Unsupported locale set in html lang tag, falling back to detection by hostname"),I(o))}catch(e){return console.warn("could not detect locale, falling back to source locale",e),le}}var wr=(r,e,o,t,a,i)=>r==="nb"?o:r==="fi"?t:r==="da"?a:r==="sv"?i:e,xr=(r,e,o,t,a)=>{let i=fr(),n=wr(i,r,e,o,t,a);c.load(i,n),c.activate(i)};xr(ur,br,gr,hr,mr);var kr=class extends cr{render(){let r=c.t({message:"Cross",id:"icon.title.close",comment:"Title for close icon"});return pr`<svg xmlns="http://www.w3.org/2000/svg"width="16"height="16"fill="none"viewBox="0 0 16 16" part="w-icon-close-16-part">${dr(`<title>${r}</title>`)}<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m12.5 3.5-9 9m0-9 9 9"></path></svg>`}};customElements.get("w-icon-close-16")||customElements.define("w-icon-close-16",kr);var yr=["en","nb","fi","da","sv"],pe="en",de=r=>yr.find(e=>r===e||r.toLowerCase().includes(e))||pe;function _r(){if(typeof window=="undefined"){let r=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return de(r)}try{let r=document.documentElement.lang;return de(r)}catch(r){return console.warn("could not detect locale, falling back to source locale",r),pe}}var zr=(r,e,o,t,a,i)=>r==="nb"?o:r==="fi"?t:r==="da"?a:r==="sv"?i:e,be=(r,e,o,t,a)=>{let i=_r(),n=zr(i,r,e,o,t,a);c.load(i,n),c.activate(i)};var ue=JSON.parse('{"modal.aria.back":["Tilbage"],"modal.aria.close":["Luk"]}');var ge=JSON.parse('{"modal.aria.back":["Back"],"modal.aria.close":["Close"]}');var he=JSON.parse('{"modal.aria.back":["Takaisin"],"modal.aria.close":["Sulje"]}');var me=JSON.parse('{"modal.aria.back":["Tilbake"],"modal.aria.close":["Lukk"]}');var ve=JSON.parse('{"modal.aria.back":["Tillbaka"],"modal.aria.close":["St\xE4ng"]}');var fe=r=>class extends r{constructor(){super(...arguments);this.patchClose=!0;this._close=null}close(){this._close()}};import{css as we}from"lit";var xe=we`
10
+ `)),g(l)&&oe.test(l)?JSON.parse(`"${l}"`):g(l)?l:Ue(l,this._locale,this._locales)(o,t==null?void 0:t.formats)}date(e,o){return P(this._locales||this._locale,e,o)}number(e,o){return N(this._locales||this._locale,e,o)}};function Ke(r={}){return new D(r)}var c=Ke();import{css as zr,html as Y,LitElement as Cr,nothing as ke}from"lit";import{property as $,query as Mr,state as Er}from"lit/decorators.js";import{LitElement as Ge}from"lit";import{unsafeStatic as Ve,html as Qe}from"lit/static-html.js";var We=JSON.parse('{"icon.title.arrow-left":["Pil som peker mot venstre"]}'),er=JSON.parse('{"icon.title.arrow-left":["Leftward-pointing arrow"]}'),rr=JSON.parse('{"icon.title.arrow-left":["Vasemmalle osoittava nuoli"]}'),or=JSON.parse('{"icon.title.arrow-left":["Pil til venstre"]}'),tr=JSON.parse('{"icon.title.arrow-left":["Pil som pekar v\xE4nster"]}'),ae=["en","nb","fi","da","sv"],ie="en",ar=()=>{var r;let e;switch((r=process==null?void 0:process.env)==null?void 0:r.NMP_BRAND){case"FINN":e="nb";break;case"TORI":e="fi";break;case"BLOCKET":e="sv";break;case"DBA":e="da";break;default:e="en"}return e},ne=()=>{var r;let e=(r=document==null?void 0:document.location)==null?void 0:r.hostname;return e!=null&&e.includes("finn")?"nb":e.includes("tori")?"fi":e.includes("blocket")?"sv":e.includes("dba")?"da":ie},A=r=>ae.find(e=>r===e||r.toLowerCase().includes(e))||ne();function ir(){var r;if(typeof window=="undefined"){let e=ar();return A(e)}try{let e=(r=document==null?void 0:document.documentElement)==null?void 0:r.lang,o=ne();return ae.includes(e)?A(e!=null?e:o):(console.warn("Unsupported locale set in html lang tag, falling back to detection by hostname"),A(o))}catch(e){return console.warn("could not detect locale, falling back to source locale",e),ie}}var nr=(r,e,o,t,a,n)=>r==="nb"?o:r==="fi"?t:r==="da"?a:r==="sv"?n:e,sr=(r,e,o,t,a)=>{let n=ir(),i=nr(n,r,e,o,t,a);c.load(n,i),c.activate(n)};sr(er,We,rr,or,tr);var lr=class extends Ge{render(){let r=c.t({message:"Leftward-pointing arrow",id:"icon.title.arrow-left",comment:"Title for table arrow left icon"});return Qe`<svg xmlns="http://www.w3.org/2000/svg"width="16"height="16"fill="none"viewBox="0 0 16 16" part="w-icon-arrow-left-16-part">${Ve(`<title>${r}</title>`)}<path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M5.222 8h6.667"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M7.444 11.75 4.111 8l3.333-3.75"></path></svg>`}};customElements.get("w-icon-arrow-left-16")||customElements.define("w-icon-arrow-left-16",lr);import{LitElement as cr}from"lit";import{unsafeStatic as dr,html as pr}from"lit/static-html.js";var br=JSON.parse('{"icon.title.close":["Kryss"]}'),ur=JSON.parse('{"icon.title.close":["Cross"]}'),gr=JSON.parse('{"icon.title.close":["Rasti"]}'),hr=JSON.parse('{"icon.title.close":["Kryds"]}'),mr=JSON.parse('{"icon.title.close":["Kryss"]}'),se=["en","nb","fi","da","sv"],le="en",vr=()=>{var r;let e;switch((r=process==null?void 0:process.env)==null?void 0:r.NMP_BRAND){case"FINN":e="nb";break;case"TORI":e="fi";break;case"BLOCKET":e="sv";break;case"DBA":e="da";break;default:e="en"}return e},ce=()=>{var r;let e=(r=document==null?void 0:document.location)==null?void 0:r.hostname;return e!=null&&e.includes("finn")?"nb":e.includes("tori")?"fi":e.includes("blocket")?"sv":e.includes("dba")?"da":le},I=r=>se.find(e=>r===e||r.toLowerCase().includes(e))||ce();function fr(){var r;if(typeof window=="undefined"){let e=vr();return I(e)}try{let e=(r=document==null?void 0:document.documentElement)==null?void 0:r.lang,o=ce();return se.includes(e)?I(e!=null?e:o):(console.warn("Unsupported locale set in html lang tag, falling back to detection by hostname"),I(o))}catch(e){return console.warn("could not detect locale, falling back to source locale",e),le}}var wr=(r,e,o,t,a,n)=>r==="nb"?o:r==="fi"?t:r==="da"?a:r==="sv"?n:e,xr=(r,e,o,t,a)=>{let n=fr(),i=wr(n,r,e,o,t,a);c.load(n,i),c.activate(n)};xr(ur,br,gr,hr,mr);var kr=class extends cr{render(){let r=c.t({message:"Cross",id:"icon.title.close",comment:"Title for close icon"});return pr`<svg xmlns="http://www.w3.org/2000/svg"width="16"height="16"fill="none"viewBox="0 0 16 16" part="w-icon-close-16-part">${dr(`<title>${r}</title>`)}<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m12.5 3.5-9 9m0-9 9 9"></path></svg>`}};customElements.get("w-icon-close-16")||customElements.define("w-icon-close-16",kr);var yr=["en","nb","fi","da","sv"],pe="en",de=r=>yr.find(e=>r===e||r.toLowerCase().includes(e))||pe;function _r(){if(typeof window=="undefined"){let r=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return de(r)}try{let r=document.documentElement.lang;return de(r)}catch(r){return console.warn("could not detect locale, falling back to source locale",r),pe}}var be=(r,e,o,t,a)=>{c.load("en",r),c.load("nb",e),c.load("fi",o),c.load("da",t),c.load("sv",a);let n=_r();c.activate(n)};var ue=JSON.parse('{"modal.aria.back":["Tilbage"],"modal.aria.close":["Luk"]}');var ge=JSON.parse('{"modal.aria.back":["Back"],"modal.aria.close":["Close"]}');var he=JSON.parse('{"modal.aria.back":["Takaisin"],"modal.aria.close":["Sulje"]}');var me=JSON.parse('{"modal.aria.back":["Tilbake"],"modal.aria.close":["Lukk"]}');var ve=JSON.parse('{"modal.aria.back":["Tillbaka"],"modal.aria.close":["St\xE4ng"]}');var fe=r=>class extends r{constructor(){super(...arguments);this.patchClose=!0;this._close=null}close(){this._close()}};import{css as we}from"lit";var xe=we`
11
11
  *,
12
12
  :before,
13
13
  :after {
@@ -280,7 +280,7 @@ Please compile your catalog first.
280
280
  svg {
281
281
  pointer-events: none;
282
282
  }
283
- `,lo=we`*, :before, :after {
283
+ `,so=we`*, :before, :after {
284
284
  --w-rotate: 0;
285
285
  --w-rotate-x: 0;
286
286
  --w-rotate-y: 0;
@@ -2446,7 +2446,7 @@ Please compile your catalog first.
2446
2446
  display: none
2447
2447
  }
2448
2448
  }
2449
- `;var u=class extends fe(Mr){constructor(){super();this._hasTopContent=!1;be(ge,me,he,ue,ve)}render(){return Y`
2449
+ `;var u=class extends fe(Cr){constructor(){super();this._hasTopContent=!1;be(ge,me,he,ue,ve)}render(){return Y`
2450
2450
  <div class="header">
2451
2451
  <slot name="top" @slotchange=${this.handleTopSlotChange}></slot>
2452
2452
  <div class="${this._hasTopContent?"":"header-title-bar"}">
@@ -2470,7 +2470,7 @@ Please compile your catalog first.
2470
2470
  @click="${this.close}">
2471
2471
  <w-icon-close-16 style="display: flex;"></w-icon-close-16>
2472
2472
  </w-button>
2473
- </div>`}emitBack(){this.dispatchEvent(new CustomEvent("backClicked",{bubbles:!0,composed:!0}))}handleTopSlotChange(o){let t=o.target.assignedElements({flatten:!0});this._hasTopContent=!!t.length}};u.styles=[xe,Cr`
2473
+ </div>`}emitBack(){this.dispatchEvent(new CustomEvent("backClicked",{bubbles:!0,composed:!0}))}handleTopSlotChange(o){let t=o.target.assignedElements({flatten:!0});this._hasTopContent=!!t.length}};u.styles=[xe,zr`
2474
2474
  .header {
2475
2475
  position: relative;
2476
2476
  padding-bottom: 0.8rem;
@@ -2563,5 +2563,5 @@ Please compile your catalog first.
2563
2563
  min-width: 32px;
2564
2564
  }
2565
2565
  }
2566
- `],w([$({type:String})],u.prototype,"title",2),w([$({type:Boolean})],u.prototype,"back",2),w([$({type:Boolean,attribute:"no-close"})],u.prototype,"noClose",2),w([Lr()],u.prototype,"_hasTopContent",2),w([Er(".title-el")],u.prototype,"titleEl",2);customElements.get("w-modal-header")||customElements.define("w-modal-header",u);export{u as ModalHeader};
2566
+ `],w([$({type:String})],u.prototype,"title",2),w([$({type:Boolean})],u.prototype,"back",2),w([$({type:Boolean,attribute:"no-close"})],u.prototype,"noClose",2),w([Er()],u.prototype,"_hasTopContent",2),w([Mr(".title-el")],u.prototype,"titleEl",2);customElements.get("w-modal-header")||customElements.define("w-modal-header",u);export{u as ModalHeader};
2567
2567
  //# sourceMappingURL=modal-header.js.map