@warp-ds/elements 2.0.0-next.3 → 2.0.0-next.5

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 (45) hide show
  1. package/dist/index.js +345 -377
  2. package/dist/index.js.map +4 -4
  3. package/dist/packages/affix/index.d.ts +13 -6
  4. package/dist/packages/affix/index.js +32 -65
  5. package/dist/packages/affix/index.js.map +4 -4
  6. package/dist/packages/alert/index.js +10 -60
  7. package/dist/packages/alert/index.js.map +3 -3
  8. package/dist/packages/attention/index.js +39 -80
  9. package/dist/packages/attention/index.js.map +4 -4
  10. package/dist/packages/badge/index.js +26 -72
  11. package/dist/packages/badge/index.js.map +4 -4
  12. package/dist/packages/box/index.d.ts +1 -1
  13. package/dist/packages/box/index.js +25 -64
  14. package/dist/packages/box/index.js.map +4 -4
  15. package/dist/packages/breadcrumbs/index.js +8 -52
  16. package/dist/packages/breadcrumbs/index.js.map +3 -3
  17. package/dist/packages/button/index.d.ts +6 -0
  18. package/dist/packages/button/index.js +66 -103
  19. package/dist/packages/button/index.js.map +3 -3
  20. package/dist/packages/card/index.d.ts +5 -5
  21. package/dist/packages/card/index.js +1461 -91
  22. package/dist/packages/card/index.js.map +4 -4
  23. package/dist/packages/card/locales/da/messages.d.mts +1 -0
  24. package/dist/packages/card/locales/en/messages.d.mts +1 -0
  25. package/dist/packages/card/locales/fi/messages.d.mts +1 -0
  26. package/dist/packages/card/locales/nb/messages.d.mts +1 -0
  27. package/dist/packages/expandable/index.d.ts +1 -6
  28. package/dist/packages/expandable/index.js +70 -85
  29. package/dist/packages/expandable/index.js.map +4 -4
  30. package/dist/packages/modal/index.js +7 -51
  31. package/dist/packages/modal/index.js.map +3 -3
  32. package/dist/packages/pill/index.js +16 -64
  33. package/dist/packages/pill/index.js.map +3 -3
  34. package/dist/packages/select/index.d.ts +10 -0
  35. package/dist/packages/select/index.js +42 -72
  36. package/dist/packages/select/index.js.map +3 -3
  37. package/dist/packages/textfield/index.d.ts +9 -5
  38. package/dist/packages/textfield/index.js +49 -76
  39. package/dist/packages/textfield/index.js.map +4 -4
  40. package/dist/packages/toast/index.js +55 -90
  41. package/dist/packages/toast/index.js.map +4 -4
  42. package/dist/packages/toast/toast.d.ts +1 -2
  43. package/dist/packages/utils/index.d.ts +1 -1
  44. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  45. package/package.json +4 -4
@@ -8,6 +8,9 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
8
  var __getProtoOf = Object.getPrototypeOf;
9
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
10
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __typeError = (msg) => {
12
+ throw TypeError(msg);
13
+ };
11
14
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
15
  var __spreadValues = (a, b) => {
13
16
  for (var prop in b || (b = {}))
@@ -53,6 +56,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
53
56
  mod
54
57
  ));
55
58
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
59
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
60
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
61
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
56
62
 
57
63
  // node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/errors.js
58
64
  var require_errors = __commonJS({
@@ -1012,6 +1018,16 @@ var require_parser = __commonJS({
1012
1018
  // packages/toast/toast.js
1013
1019
  import { css, html as html5 } from "lit";
1014
1020
 
1021
+ // node_modules/.pnpm/@chbphone55+classnames@2.0.0/node_modules/@chbphone55/classnames/dist/index.m.js
1022
+ var r = function() {
1023
+ for (var t = [], n = arguments.length; n--; ) t[n] = arguments[n];
1024
+ return t.reduce(function(t2, n2) {
1025
+ return t2.concat("string" == typeof n2 ? n2 : Array.isArray(n2) ? r.apply(void 0, n2) : "object" == typeof n2 && n2 ? Object.keys(n2).map(function(r2) {
1026
+ return n2[r2] ? r2 : "";
1027
+ }) : "");
1028
+ }, []).join(" ");
1029
+ };
1030
+
1015
1031
  // node_modules/.pnpm/@lingui+core@4.11.2/node_modules/@lingui/core/dist/index.mjs
1016
1032
  var import_unraw = __toESM(require_dist(), 1);
1017
1033
 
@@ -1378,28 +1394,19 @@ function setupI18n(params = {}) {
1378
1394
  }
1379
1395
  var i18n = setupI18n();
1380
1396
 
1381
- // node_modules/.pnpm/@warp-ds+css@2.0.0-next.4_@warp-ds+uno@2.0.0_unocss@0.61.3_postcss@8.4.39_rollup@4.18.1_vite@_fn7nbuinwdlc4yeboswpxt5lie/node_modules/@warp-ds/css/component-classes/index.js
1382
- var box = {
1383
- box: "group block relative break-words last-child:mb-0 p-16 rounded-8",
1384
- // Relative here enables w-clickable
1385
- bleed: "-mx-16 sm:mx-0 rounded-l-0 rounded-r-0 sm:rounded-8",
1386
- // We target L and R to override the default rounded-8
1387
- info: "s-bg-info-subtle",
1388
- neutral: "s-surface-sunken",
1389
- bordered: "border-2 s-border s-bg"
1390
- };
1397
+ // node_modules/.pnpm/@warp-ds+css@2.0.0_@warp-ds+uno@2.0.0_unocss@0.62.0_postcss@8.4.41_rollup@4.20.0_vite@5.3.3_@_vyiy5vwpqfzwy5hpmfkwp3zmle/node_modules/@warp-ds/css/component-classes/index.js
1391
1398
  var toaster = {
1392
- container: "fixed transform translate-z-0 bottom-16 left-0 right-0 mx-8 sm:mx-16 z-50 pointer-events-none",
1393
- content: "w-full",
1394
- toaster: "grid auto-rows-auto justify-items-center justify-center mx-auto pointer-events-none"
1399
+ wrapper: "fixed transform translate-z-0 bottom-16 left-0 right-0 mx-8 sm:mx-16 z-50 pointer-events-none",
1400
+ base: "grid auto-rows-auto justify-items-center justify-center mx-auto pointer-events-none",
1401
+ content: "w-full"
1395
1402
  };
1396
1403
  var toast = {
1397
1404
  wrapper: "relative overflow-hidden w-full",
1398
- toast: "flex group p-8 mt-16 rounded-8 border-2 w-full pointer-events-auto transition-all",
1405
+ base: "flex group p-8 mt-16 rounded-8 border-2 pointer-events-auto transition-all",
1399
1406
  positive: "s-bg-positive-subtle s-border-positive-subtle s-text",
1400
1407
  warning: "s-bg-warning-subtle s-border-warning-subtle s-text",
1401
1408
  negative: "s-bg-negative-subtle s-border-negative-subtle s-text",
1402
- icon: "shrink-0 rounded-full w-[16px] h-[16px] m-[8px]",
1409
+ iconBase: "shrink-0 rounded-full w-[16px] h-[16px] m-[8px]",
1403
1410
  iconPositive: "s-icon-positive",
1404
1411
  iconWarning: "s-icon-warning",
1405
1412
  iconNegative: "s-icon-negative",
@@ -1407,31 +1414,6 @@ var toast = {
1407
1414
  content: "self-center mr-8 py-4 last-child:mb-0",
1408
1415
  close: "bg-transparent ml-auto p-[8px] s-icon hover:s-icon-hover active:s-icon-active"
1409
1416
  };
1410
- var buttonReset = "focus:outline-none appearance-none cursor-pointer bg-transparent border-0 m-0 p-0 inline-block";
1411
- var expandable = {
1412
- expandable: "will-change-height",
1413
- expandableTitle: "font-bold s-text",
1414
- expandableBox: "s-surface-sunken hover:s-bg-hover active:s-bg-active py-0 px-0 " + box.box,
1415
- expandableInfo: "s-bg-info-subtle! hover:s-bg-info-subtle-hover!",
1416
- expandableBleed: box.bleed,
1417
- chevron: "inline-block align-middle s-icon",
1418
- chevronNonBox: "ml-8",
1419
- chevronBox: "",
1420
- chevronTransform: "transform transition-transform transform-gpu ease-in-out",
1421
- chevronExpand: "-rotate-180",
1422
- chevronCollapse: "rotate-180",
1423
- elementsTransformChevronDownPart: "part-[w-icon-chevron-down-16-part]:transform part-[w-icon-chevron-down-16-part]:transition-transform part-[w-icon-chevron-down-16-part]:transform-gpu part-[w-icon-chevron-down-16-part]:ease-in-out",
1424
- elementsChevronDownExpandPart: "part-[w-icon-chevron-down-16-part]:-rotate-180",
1425
- elementsTransformChevronUpPart: "part-[w-icon-chevron-up-16-part]:transform part-[w-icon-chevron-up-16-part]:transition-transform part-[w-icon-chevron-up-16-part]:transform-gpu part-[w-icon-chevron-up-16-part]:ease-in-out",
1426
- elementsChevronUpCollapsePart: "part-[w-icon-chevron-up-16-part]:rotate-180",
1427
- expansion: "overflow-hidden",
1428
- expansionNotExpanded: "h-0 invisible",
1429
- button: buttonReset + " hover:underline focus-visible:underline",
1430
- buttonBox: "w-full text-left relative inline-flex items-center justify-between " + box.box,
1431
- paddingTop: "pt-0",
1432
- title: "flex w-full justify-between items-center",
1433
- titleType: "h4"
1434
- };
1435
1417
  var buttonDefaultStyling = "font-bold focusable justify-center transition-colors ease-in-out";
1436
1418
  var buttonColors = {
1437
1419
  primary: "s-text-inverted bg-[--w-color-button-primary-background] hover:bg-[--w-color-button-primary-background-hover] active:bg-[--w-color-button-primary-background-active]",
@@ -1549,7 +1531,7 @@ var button = {
1549
1531
  };
1550
1532
  var modal = {
1551
1533
  backdrop: "fixed inset-0 flex sm:place-content-center sm:place-items-center items-end z-30 [--w-modal-max-height:80%] [--w-modal-width:640px] bg-[--w-black/25]",
1552
- modal: "pb-safe-[32] shadow-m max-h-[--w-modal-max-height] min-h-[--w-modal-min-height] w-[--w-modal-width] h-[--w-modal-height] relative transition-300 ease-in-out backface-hidden will-change-height rounded-8 mx-0 sm:mx-16 bg-[--w-s-color-surface-elevated-100] flex flex-col overflow-hidden outline-none space-y-16 pt-8 sm:pt-32 sm:pb-32 rounded-b-0 sm:rounded-b-8",
1534
+ base: "pb-safe-[32] shadow-m max-h-[--w-modal-max-height] min-h-[--w-modal-min-height] w-[--w-modal-width] h-[--w-modal-height] relative transition-300 ease-in-out backface-hidden will-change-height rounded-8 mx-0 sm:mx-16 bg-[--w-s-color-surface-elevated-100] flex flex-col overflow-hidden outline-none space-y-16 pt-8 sm:pt-32 sm:pb-32 rounded-b-0 sm:rounded-b-8",
1553
1535
  content: "block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",
1554
1536
  footer: "flex justify-end shrink-0 px-16 sm:px-32",
1555
1537
  transitionTitle: "transition-all duration-300",
@@ -1563,19 +1545,15 @@ var modal = {
1563
1545
  titleButtonIcon: "h-16 w-16 sm:h-24 sm:w-24",
1564
1546
  titleButtonIconRotated: "transform rotate-90"
1565
1547
  };
1566
- var label = {
1567
- label: "antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",
1568
- optional: "pl-8 font-normal text-s s-text-subtle"
1569
- };
1570
- var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable rounded-4 focus:[--w-outline-offset:-2px] bg-transparent ";
1548
+ var prefixSuffixWrapper = "absolute top-0 bottom-0 flex justify-center items-center focusable rounded-4 focus:[--w-outline-offset:-2px] bg-transparent ";
1571
1549
  var suffix = {
1572
- wrapper: prefixSuffixWrapperBase + "right-0",
1550
+ wrapper: prefixSuffixWrapper + "right-0",
1573
1551
  wrapperWithLabel: "w-max pr-12",
1574
1552
  wrapperWithIcon: "w-40",
1575
1553
  label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
1576
1554
  };
1577
1555
  var prefix = {
1578
- wrapper: prefixSuffixWrapperBase + "left-0",
1556
+ wrapper: prefixSuffixWrapper + "left-0",
1579
1557
  wrapperWithLabel: "w-max pl-12",
1580
1558
  wrapperWithIcon: "w-40",
1581
1559
  label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
@@ -1632,15 +1610,9 @@ var deadToggle = {
1632
1610
  wrapper: `${toggle.wrapper} h-20 w-20 pointer-events-none`,
1633
1611
  input: `${toggle.input} hidden`,
1634
1612
  inputVue: "hidden",
1613
+ labelVue: "-mt-2",
1635
1614
  labelRadio: `${toggle.label} ${toggle.labelBefore} ${toggle.radio}`,
1636
- labelCheckbox: `${toggle.label} ${toggle.labelBefore} ${toggle.checkbox}`,
1637
- labelVue: "-mt-2"
1638
- };
1639
- var clickable = {
1640
- toggle: "absolute inset-0 h-full w-full appearance-none cursor-pointer focusable focusable-inset",
1641
- label: `px-12 ${label.label} py-8! cursor-pointer focusable focusable-inset`,
1642
- buttonOrLink: "bg-transparent focusable",
1643
- buttonOrLinkStretch: "inset-0 absolute"
1615
+ labelCheckbox: `${toggle.label} ${toggle.labelBefore} ${toggle.checkbox}`
1644
1616
  };
1645
1617
  var attention = {
1646
1618
  base: "border-2 relative flex items-start",
@@ -1703,8 +1675,8 @@ var getAfterCollapseCallback = (done) => () => {
1703
1675
  };
1704
1676
  var expand = (el, done) => {
1705
1677
  const returnPromise = (() => {
1706
- if (!done) return new Promise((r) => {
1707
- done = r;
1678
+ if (!done) return new Promise((r2) => {
1679
+ done = r2;
1708
1680
  });
1709
1681
  })();
1710
1682
  const afterExpandCallback = getAfterExpandCallback(el, done);
@@ -1722,8 +1694,8 @@ var expand = (el, done) => {
1722
1694
  };
1723
1695
  var collapse = (el, done) => {
1724
1696
  const returnPromise = (() => {
1725
- if (!done) return new Promise((r) => {
1726
- done = r;
1697
+ if (!done) return new Promise((r2) => {
1698
+ done = r2;
1727
1699
  });
1728
1700
  })();
1729
1701
  const afterCollapseCallback = getAfterCollapseCallback(done);
@@ -1740,7 +1712,6 @@ var collapse = (el, done) => {
1740
1712
  };
1741
1713
 
1742
1714
  // packages/toast/toast.js
1743
- import { classMap } from "lit/directives/class-map.js";
1744
1715
  import { when } from "lit/directives/when.js";
1745
1716
 
1746
1717
  // node_modules/.pnpm/@warp-ds+icons@2.0.2/node_modules/@warp-ds/icons/dist/elements/warning-16.js
@@ -2154,23 +2125,16 @@ var messages9 = JSON.parse('{"toast.aria.error":"Virhe","toast.aria.successful":
2154
2125
  var messages10 = JSON.parse('{"toast.aria.error":"Feil","toast.aria.successful":"Vellykket","toast.aria.warning":"Advarsel"}');
2155
2126
 
2156
2127
  // packages/toast/toast.js
2157
- var classes = (definition) => {
2158
- const defn = {};
2159
- for (const [key, value] of Object.entries(definition)) {
2160
- for (const className of key.split(" ")) {
2161
- defn[className] = value;
2162
- }
2163
- }
2164
- return classMap(defn);
2165
- };
2166
2128
  var toastType = {
2167
2129
  success: "success",
2168
2130
  error: "error",
2169
2131
  warning: "warning"
2170
2132
  };
2133
+ var _WarpToast_instances, primaryClasses_get, iconClasses_get;
2171
2134
  var WarpToast = class extends WarpElement {
2172
2135
  constructor() {
2173
2136
  super();
2137
+ __privateAdd(this, _WarpToast_instances);
2174
2138
  activateI18n5(messages8, messages10, messages9, messages7);
2175
2139
  this.id = Date.now().toString(36) + Math.random().toString(36).slice(2, 5);
2176
2140
  this.type = "success";
@@ -2186,22 +2150,6 @@ var WarpToast = class extends WarpElement {
2186
2150
  updated() {
2187
2151
  if (!this._expanded && this._wrapper) expand(this._wrapper, () => this._expanded = true);
2188
2152
  }
2189
- get _primaryClasses() {
2190
- return classes({
2191
- [toast.toast]: true,
2192
- [toast.positive]: this.type === toastType.success,
2193
- [toast.warning]: this.type === toastType.warning,
2194
- [toast.negative]: this.type === toastType.error
2195
- });
2196
- }
2197
- get _iconClasses() {
2198
- return classes({
2199
- [toast.icon]: true,
2200
- [toast.iconPositive]: this.type === toastType.success,
2201
- [toast.iconWarning]: this.type === toastType.warning,
2202
- [toast.iconNegative]: this.type === toastType.error
2203
- });
2204
- }
2205
2153
  get _wrapper() {
2206
2154
  var _a, _b;
2207
2155
  return (_b = (_a = this.renderRoot) == null ? void 0 : _a.querySelector(`section`)) != null ? _b : null;
@@ -2259,8 +2207,8 @@ var WarpToast = class extends WarpElement {
2259
2207
  render() {
2260
2208
  if (!this.text) return html5``;
2261
2209
  return html5` <section class="${toast.wrapper}" aria-label="${this._typeLabel}">
2262
- <div class="${this._primaryClasses}">
2263
- <div class="${this._iconClasses}">${this._iconMarkup}</div>
2210
+ <div class="${__privateGet(this, _WarpToast_instances, primaryClasses_get)}">
2211
+ <div class="${__privateGet(this, _WarpToast_instances, iconClasses_get)}">${this._iconMarkup}</div>
2264
2212
  <div role="${this._role}" class="${toast.content}">
2265
2213
  <p>${this.text}</p>
2266
2214
  </div>
@@ -2276,6 +2224,23 @@ var WarpToast = class extends WarpElement {
2276
2224
  </section>`;
2277
2225
  }
2278
2226
  };
2227
+ _WarpToast_instances = new WeakSet();
2228
+ primaryClasses_get = function() {
2229
+ return r([
2230
+ toast.base,
2231
+ this.type === toastType.success && toast.positive,
2232
+ this.type === toastType.warning && toast.warning,
2233
+ this.type === toastType.error && toast.negative
2234
+ ]);
2235
+ };
2236
+ iconClasses_get = function() {
2237
+ return r([
2238
+ toast.iconBase,
2239
+ this.type === toastType.success && toast.iconPositive,
2240
+ this.type === toastType.warning && toast.iconWarning,
2241
+ this.type === toastType.error && toast.iconNegative
2242
+ ]);
2243
+ };
2279
2244
  __publicField(WarpToast, "styles", [
2280
2245
  WarpElement.styles,
2281
2246
  css`
@@ -2381,8 +2346,8 @@ var WarpToastContainer = class extends WarpElement2 {
2381
2346
  }
2382
2347
  render() {
2383
2348
  return html6`
2384
- <aside class="${toaster.container}">
2385
- <div class="${toaster.toaster}" id="w-toast-container-list">
2349
+ <aside class="${toaster.wrapper}">
2350
+ <div class="${toaster.base}" id="w-toast-container-list">
2386
2351
  ${repeat(
2387
2352
  this._toastsArray,
2388
2353
  (toast3) => toast3.id,