@warp-ds/elements 1.3.1 → 1.3.2-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 (33) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +199 -129
  3. package/dist/index.js.map +4 -4
  4. package/dist/packages/affix/index.js +139 -62
  5. package/dist/packages/affix/index.js.map +4 -4
  6. package/dist/packages/alert/index.js +148 -71
  7. package/dist/packages/alert/index.js.map +4 -4
  8. package/dist/packages/attention/index.d.ts +1 -1
  9. package/dist/packages/attention/index.js +139 -62
  10. package/dist/packages/attention/index.js.map +4 -4
  11. package/dist/packages/badge/index.js +114 -46
  12. package/dist/packages/badge/index.js.map +3 -3
  13. package/dist/packages/box/index.js +105 -39
  14. package/dist/packages/box/index.js.map +3 -3
  15. package/dist/packages/breadcrumbs/index.js +142 -65
  16. package/dist/packages/breadcrumbs/index.js.map +4 -4
  17. package/dist/packages/broadcast/index.js.map +1 -1
  18. package/dist/packages/button/index.js +139 -62
  19. package/dist/packages/button/index.js.map +4 -4
  20. package/dist/packages/card/index.js +112 -46
  21. package/dist/packages/card/index.js.map +3 -3
  22. package/dist/packages/expandable/index.js +139 -62
  23. package/dist/packages/expandable/index.js.map +4 -4
  24. package/dist/packages/pill/index.js +141 -64
  25. package/dist/packages/pill/index.js.map +4 -4
  26. package/dist/packages/select/index.js +153 -80
  27. package/dist/packages/select/index.js.map +4 -4
  28. package/dist/packages/textfield/index.d.ts +0 -1
  29. package/dist/packages/textfield/index.js +119 -55
  30. package/dist/packages/textfield/index.js.map +3 -3
  31. package/dist/packages/toast/index.js +146 -69
  32. package/dist/packages/toast/index.js.map +4 -4
  33. package/package.json +25 -37
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Welcome to [@warp-ds/elements](https://github.com/warp-ds/elements),
4
4
  a collection of Web Components built with Lit to be used to build interfaces based on the [Warp Design System](https://github.com/warp-ds/).
5
5
  This repository is maintained by the [Warp Core Team](https://github.com/orgs/warp-ds/teams/warp-core-team)
6
- and is home to the [@warp-ds/vue](https://www.npmjs.com/package/@warp-ds/elements) library.
6
+ and is home to the [@warp-ds/elements](https://www.npmjs.com/package/@warp-ds/elements) library.
7
7
 
8
8
  ## How to contribute
9
9
 
package/dist/index.js CHANGED
@@ -1045,16 +1045,18 @@ import { html as html3 } from "lit";
1045
1045
  import WarpElement from "@warp-ds/elements-core";
1046
1046
  import { ifDefined } from "lit/directives/if-defined.js";
1047
1047
 
1048
- // node_modules/.pnpm/@warp-ds+css@1.7.0/node_modules/@warp-ds/css/component-classes/index.js
1048
+ // node_modules/.pnpm/@warp-ds+css@1.9.1/node_modules/@warp-ds/css/component-classes/index.js
1049
1049
  var badge = {
1050
1050
  base: "py-4 px-8 border-0 rounded-4 text-xs inline-flex",
1051
- neutral: "i-bg-$color-badge-neutral-background i-text-$color-badge-neutral-text",
1052
- info: "i-bg-$color-badge-info-background i-text-$color-badge-info-text",
1053
- positive: "i-bg-$color-badge-positive-background i-text-$color-badge-positive-text",
1054
- warning: "i-bg-$color-badge-warning-background i-text-$color-badge-warning-text",
1055
- negative: "i-bg-$color-badge-negative-background i-text-$color-badge-negative-text",
1056
- disabled: "i-bg-$color-badge-disabled-background i-text-$color-badge-disabled-text",
1057
- price: "i-bg-$color-badge-price-background i-text-$color-badge-price-text",
1051
+ neutral: "bg-[--w-color-badge-neutral-background] s-text",
1052
+ info: "bg-[--w-color-badge-info-background] s-text",
1053
+ positive: "bg-[--w-color-badge-positive-background] s-text",
1054
+ warning: "bg-[--w-color-badge-warning-background] s-text",
1055
+ negative: "bg-[--w-color-badge-negative-background] s-text",
1056
+ disabled: "s-bg-disabled s-text",
1057
+ price: "bg-[--w-black/70] s-text-inverted-static",
1058
+ sponsored: "bg-[--w-color-badge-sponsored-background] s-text",
1059
+ // Notification badge is deprecated: Do not use! TODO: Remove in v2
1058
1060
  notification: "i-bg-$color-badge-notification-background i-text-$color-badge-notification-text",
1059
1061
  positionBase: "absolute backdrop-blur",
1060
1062
  positionTL: "rounded-tl-0 rounded-tr-0 rounded-bl-0 top-0 left-0",
@@ -1067,18 +1069,18 @@ var box = {
1067
1069
  // Relative here enables w-clickable
1068
1070
  bleed: "-mx-16 sm:mx-0 rounded-l-0 rounded-r-0 sm:rounded-8",
1069
1071
  // We target L and R to override the default rounded-8
1070
- info: "i-bg-$color-box-info-background i-text-$color-box-info-text",
1071
- neutral: "i-bg-$color-box-neutral-background i-text-$color-box-neutral-text",
1072
- bordered: "border-2 i-border-$color-box-bordered-border i-bg-$color-box-bordered-background i-text-$color-box-bordered-text",
1073
- infoClickable: "hover:i-bg-$color-box-info-background-hover active:i-bg-$color-box-info-background-hover",
1074
- neutralClickable: "hover:i-bg-$color-box-neutral-background-hover active:i-bg-$color-box-neutral-background-hover",
1075
- borderedClickable: "hover:i-bg-$color-box-bordered-background-hover active:i-bg-$color-box-bordered-background-hover hover:i-border-$color-box-bordered-border-hover active:i-border-$color-box-bordered-border-hover"
1072
+ info: "s-bg-info-subtle",
1073
+ neutral: "bg-[--w-s-color-surface-sunken]",
1074
+ bordered: "border-2 s-border s-bg",
1075
+ infoClickable: "hover:s-bg-info-subtle-hover active:s-bg-info-subtle-hover",
1076
+ neutralClickable: "hover:s-bg-subtle-hover active:s-bg-subtle-hover",
1077
+ borderedClickable: "hover:s-bg-hover active:s-bg-hover hover:s-border-hover active:s-border-hover"
1076
1078
  };
1077
1079
  var pill = {
1078
1080
  pill: "flex items-center",
1079
1081
  button: "inline-flex items-center focusable text-xs transition-all",
1080
- suggestion: "i-bg-$color-pill-suggestion-background hover:i-bg-$color-pill-suggestion-background-hover active:i-bg-$color-pill-suggestion-background-active i-text-$color-pill-suggestion-text font-bold",
1081
- filter: "i-bg-$color-pill-filter-background hover:i-bg-$color-pill-filter-background-hover active:i-bg-$color-pill-filter-background-active i-text-$color-pill-filter-text",
1082
+ suggestion: "bg-[--w-color-pill-suggestion-background] hover:bg-[--w-color-pill-suggestion-background-hover] active:bg-[--w-color-pill-suggestion-background-active] s-text font-bold",
1083
+ filter: "s-bg-primary hover:s-bg-primary-hover active:s-bg-primary-active s-text-inverted",
1082
1084
  label: "pl-12 py-8 rounded-l-full",
1083
1085
  labelWithoutClose: "pr-12 rounded-r-full",
1084
1086
  labelWithClose: "pr-2",
@@ -1087,15 +1089,15 @@ var pill = {
1087
1089
  };
1088
1090
  var card = {
1089
1091
  card: "cursor-pointer overflow-hidden relative transition-all",
1090
- cardShadow: "rounded-8 i-shadow-$shadow-card hover:i-shadow-$shadow-card-hover hover:i-bg-$color-card-background-hover tap-highlight-transparent",
1092
+ cardShadow: "rounded-8 shadow-s hover:shadow-m hover:s-bg-subtle-hover tap-highlight-transparent",
1091
1093
  cardFlat: "border-2 rounded-4",
1092
- cardFlatUnselected: "i-bg-$color-card-flat-background i-border-$color-card-flat-border hover:i-bg-$color-card-flat-background-hover hover:i-border-$color-card-flat-border-hover active:i-bg-$color-card-flat-background-active active:i-border-$color-card-flat-border-active",
1093
- cardFlatSelected: "i-border-$color-card-flat-border-selected i-bg-$color-card-flat-background-selected hover:i-bg-$color-card-flat-background-selected-hover hover:i-border-$color-card-flat-border-selected-hover active:i-border-$color-card-flat-border-active active:i-bg-$color-card-flat-background-active",
1094
+ cardFlatUnselected: "s-bg s-border hover:s-bg-hover hover:s-border-hover active:s-bg-active active:s-border-active",
1095
+ cardFlatSelected: "s-border-selected s-bg-selected hover:s-bg-selected-hover hover:s-border-selected-hover active:s-border-selected-active active:s-bg-selected-active",
1094
1096
  cardUnselected: "s-bg",
1095
- cardSelected: "i-border-$color-card-border-selected i-bg-$color-card-background-selected hover:i-border-$color-card-border-selected-hover hover:i-bg-$color-card-background-selected-hover active:i-border-$color-card-border-selected-active",
1096
- cardOutline: "active:i-border-$color-card-flat-border absolute rounded-8 inset-0 transition-all border-2",
1097
- cardOutlineUnselected: "i-border-$color-card-border",
1098
- cardOutlineSelected: "i-border-$color-card-border-selected hover:i-border-$color-card-border-selected-hover",
1097
+ cardSelected: "s-border-selected s-bg-selected hover:s-border-selected-hover hover:s-bg-selected-hover active:s-border-selected-active active:s-bg-selected-active",
1098
+ cardOutline: "active:s-border absolute rounded-8 inset-0 transition-all border-2",
1099
+ cardOutlineUnselected: "border-transparent",
1100
+ cardOutlineSelected: "s-border-selected hover:s-border-selected-hover",
1099
1101
  a11y: "sr-only"
1100
1102
  };
1101
1103
  var toaster = {
@@ -1106,24 +1108,25 @@ var toaster = {
1106
1108
  var toast = {
1107
1109
  wrapper: "relative overflow-hidden w-full",
1108
1110
  toast: "flex group p-8 mt-16 rounded-8 border-2 w-full pointer-events-auto transition-all",
1109
- positive: "i-bg-$color-toast-positive-background i-border-$color-toast-positive-subtle-border i-text-$color-toast-positive-text",
1110
- warning: "i-bg-$color-toast-warning-background i-border-$color-toast-warning-subtle-border i-text-$color-toast-warning-text",
1111
- negative: "i-bg-$color-toast-negative-background i-border-$color-toast-negative-subtle-border i-text-$color-toast-negative-text",
1111
+ positive: "s-bg-positive-subtle s-border-positive-subtle s-text",
1112
+ warning: "s-bg-warning-subtle s-border-warning-subtle s-text",
1113
+ negative: "s-bg-negative-subtle s-border-negative-subtle s-text",
1112
1114
  icon: "shrink-0 rounded-full w-[16px] h-[16px] m-[8px]",
1113
- iconPositive: "i-text-$color-toast-positive-icon",
1114
- iconWarning: "i-text-$color-toast-warning-icon",
1115
- iconNegative: "i-text-$color-toast-negative-icon",
1115
+ iconPositive: "s-icon-positive",
1116
+ iconWarning: "s-icon-warning",
1117
+ iconNegative: "s-icon-negative",
1116
1118
  iconLoading: "animate-bounce",
1117
1119
  content: "self-center mr-8 py-4 last-child:mb-0",
1118
- close: "bg-transparent ml-auto p-[8px] i-text-$color-toast-close-icon hover:i-text-$color-toast-close-icon-hover active:i-text-$color-toast-close-icon-active"
1120
+ close: "bg-transparent ml-auto p-[8px] s-icon hover:s-icon-hover active:s-icon-active"
1119
1121
  };
1120
1122
  var buttonReset = "focus:outline-none appearance-none cursor-pointer bg-transparent border-0 m-0 p-0 inline-block";
1121
1123
  var expandable = {
1122
1124
  expandable: "will-change-height",
1123
- expandableTitle: "font-bold i-text-$color-expandable-title-text",
1124
- expandableBox: "i-bg-$color-expandable-background hover:i-bg-$color-expandable-background-hover py-0 px-0 " + box.box,
1125
+ expandableTitle: "font-bold s-text",
1126
+ expandableBox: "s-bg-subtle hover:s-bg-subtle-hover py-0 px-0 " + box.box,
1127
+ expandableInfo: "s-bg-info-subtle! hover:s-bg-info-subtle-hover!",
1125
1128
  expandableBleed: box.bleed,
1126
- chevron: "inline-block align-middle i-text-$color-expandable-icon",
1129
+ chevron: "inline-block align-middle s-icon",
1127
1130
  chevronNonBox: "ml-8",
1128
1131
  chevronBox: "",
1129
1132
  chevronTransform: "transform transition-transform transform-gpu ease-in-out",
@@ -1143,17 +1146,17 @@ var expandable = {
1143
1146
  };
1144
1147
  var buttonDefaultStyling = "font-bold focusable justify-center transition-colors ease-in-out";
1145
1148
  var buttonColors = {
1146
- primary: "i-text-$color-button-primary-text hover:i-text-$color-button-primary-text i-bg-$color-button-primary-background hover:i-bg-$color-button-primary-background-hover active:i-bg-$color-button-primary-background-active",
1147
- secondary: "i-text-$color-button-secondary-text hover:i-text-$color-button-secondary-text i-border-$color-button-secondary-border i-bg-$color-button-secondary-background hover:i-bg-$color-button-secondary-background-hover hover:i-border-$color-button-secondary-border-hover active:i-bg-$color-button-secondary-background-active",
1148
- utility: "i-text-$color-button-utility-text hover:i-text-$color-button-utility-text i-bg-$color-button-utility-background i-border-$color-button-utility-border hover:i-bg-$color-button-utility-background hover:i-border-$color-button-utility-border-hover active:i-border-$color-button-utility-border-active",
1149
- destructive: "i-bg-$color-button-negative-background i-text-$color-button-negative-text hover:i-text-$color-button-negative-text hover:i-bg-$color-button-negative-background-hover active:i-bg-$color-button-negative-background-active",
1150
- pill: "i-text-$color-button-pill-icon hover:i-text-$color-button-pill-icon-hover active:i-text-$color-button-pill-icon-active i-bg-$color-button-pill-background hover:i-bg-$color-button-pill-background-hover active:i-bg-$color-button-pill-background-active",
1151
- disabled: "i-text-$color-button-disabled-text i-bg-$color-button-disabled-background",
1152
- quiet: "i-bg-$color-button-quiet-background i-text-$color-button-quiet-text hover:i-bg-$color-button-quiet-background-hover active:i-bg-$color-button-quiet-background-active",
1153
- utilityQuiet: "i-text-$color-button-utility-quiet-text i-bg-$color-button-utility-quiet-background hover:i-bg-$color-button-utility-quiet-background-hover",
1154
- negativeQuiet: "i-bg-$color-button-negative-quiet-background i-text-$color-button-negative-quiet-text hover:i-bg-$color-button-negative-quiet-background-hover active:i-bg-$color-button-negative-quiet-background-active",
1155
- loading: "i-text-$color-button-loading-text i-bg-$color-button-loading-background",
1156
- link: "i-text-$color-button-link-text"
1149
+ 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]",
1150
+ secondary: "s-text-link s-border s-bg hover:s-bg-hover hover:s-border-hover active:s-bg-active",
1151
+ utility: "s-text s-bg hover:s-bg-hover active:s-bg-active s-border hover:s-border-hover active:s-border-active",
1152
+ destructive: "s-bg-negative s-text-inverted hover:s-bg-negative-hover active:s-bg-negative-active",
1153
+ pill: "s-icon hover:s-icon-hover active:s-icon-active bg-transparent hover:bg-[--w-color-button-pill-background-hover] active:bg-[--w-color-button-pill-background-active]",
1154
+ disabled: "s-text-inverted s-bg-disabled",
1155
+ quiet: "bg-transparent s-text-link hover:s-bg-hover active:s-bg-active",
1156
+ utilityQuiet: "s-text bg-transparent hover:s-bg-hover active:s-bg-active",
1157
+ negativeQuiet: "bg-transparent s-text-negative hover:s-bg-negative-subtle-hover active:s-bg-negative-subtle-active",
1158
+ loading: "s-text s-bg-subtle",
1159
+ link: "s-text-link"
1157
1160
  };
1158
1161
  var buttonTypes = {
1159
1162
  primary: `border-0 rounded-8 ${buttonDefaultStyling}`,
@@ -1257,10 +1260,10 @@ var button = {
1257
1260
  contentWidth: "max-w-max"
1258
1261
  };
1259
1262
  var modal = {
1260
- //TODO: this class can be removed when we have the solution for opacity and we can add rgba values to the background of the backdrop
1261
- transparentBg: `before:i-bg-$color-modal-backdrop-background before:content-[""] before:absolute before:top-0 before:bottom-0 before:left-0 before:right-0 before:opacity-25`,
1262
- 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]",
1263
- modal: "pb-safe-[32] i-shadow-$shadow-modal 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 i-bg-$color-modal-background 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",
1263
+ transparentBg: "",
1264
+ //TODO: Remove in v2 - previously used for opacity before changing to a rgba background in backdrop
1265
+ 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]",
1266
+ 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",
1264
1267
  content: "block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",
1265
1268
  footer: "flex justify-end shrink-0 px-16 sm:px-32",
1266
1269
  transitionTitle: "transition-all duration-300",
@@ -1275,71 +1278,131 @@ var modal = {
1275
1278
  titleButtonIconRotated: "transform rotate-90"
1276
1279
  };
1277
1280
  var alert = {
1278
- alert: "flex p-16 border border-l-4 rounded-4",
1281
+ alert: "flex p-16 border border-l-4 rounded-4 s-text",
1279
1282
  willChangeHeight: "will-change-height",
1280
1283
  textWrapper: "last-child:mb-0 text-s",
1281
1284
  title: "text-s",
1282
1285
  icon: "w-16 mr-8 min-w-16",
1283
- negative: "i-border-$color-alert-negative-subtle-border i-bg-$color-alert-negative-background i-text-$color-alert-negative-text i-border-l-$color-alert-negative-border",
1284
- negativeIcon: "i-text-$color-alert-negative-icon",
1285
- positive: "i-border-$color-alert-positive-subtle-border i-bg-$color-alert-positive-background i-text-$color-alert-positive-text i-border-l-$color-alert-positive-border",
1286
- positiveIcon: "i-text-$color-alert-positive-icon",
1287
- warning: "i-border-$color-alert-warning-subtle-border i-bg-$color-alert-warning-background i-text-$color-alert-warning-text i-border-l-$color-alert-warning-border",
1288
- warningIcon: "i-text-$color-alert-warning-icon",
1289
- info: "i-border-$color-alert-info-subtle-border i-bg-$color-alert-info-background i-text-$color-alert-info-text i-border-l-$color-alert-info-border",
1290
- infoIcon: "i-text-$color-alert-info-icon"
1286
+ negative: "s-border-negative-subtle s-border-l-negative s-bg-negative-subtle",
1287
+ negativeIcon: "s-icon-negative",
1288
+ positive: "s-border-positive-subtle s-border-l-positive s-bg-positive-subtle",
1289
+ positiveIcon: "s-icon-positive",
1290
+ warning: "s-border-warning-subtle s-border-l-warning s-bg-warning-subtle",
1291
+ warningIcon: "s-icon-warning",
1292
+ info: "s-border-info-subtle s-border-l-info s-bg-info-subtle",
1293
+ infoIcon: "s-icon-info"
1291
1294
  };
1292
1295
  var input = {
1293
- default: "block text-m mb-0 leading-m i-text-$color-input-text-filled i-bg-$color-input-background i-border-$color-input-border hover:i-border-$color-input-border-hover active:i-border-$color-input-border-active rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] caret-current",
1296
+ default: "block text-m mb-0 leading-m s-text s-bg s-border hover:s-border-hover active:s-border-selected rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] caret-current",
1294
1297
  textArea: "min-h-[42] sm:min-h-[45]",
1295
- disabled: "i-bg-$color-input-background-disabled i-border-$color-input-border-disabled hover:i-border-$color-input-border-disabled! i-text-$color-input-text-disabled pointer-events-none",
1296
- invalid: "i-border-$color-input-border-negative i-text-$color-input-text-negative!",
1297
- readOnly: "pl-0 bg-transparent border-0 pointer-events-none i-text-$color-input-text-read-only",
1298
- placeholder: "placeholder:i-text-$color-input-text-placeholder",
1298
+ disabled: "s-bg-disabled-subtle s-border-disabled hover:s-border-disabled! s-text-disabled pointer-events-none",
1299
+ invalid: "s-border-negative s-text-negative! hover:s-border-negative-hover! outline-[--w-s-color-border-negative]!",
1300
+ readOnly: "pl-0 bg-transparent! border-0! pointer-events-none",
1301
+ placeholder: "placeholder:s-text-placeholder",
1299
1302
  wrapper: "relative",
1300
1303
  suffix: "pr-40",
1301
1304
  prefix: "pl-40"
1302
1305
  };
1303
1306
  var select = {
1304
- default: "block text-m mb-0 leading-m i-text-$color-select-text i-bg-$color-select-background i-border-$color-select-border hover:i-border-$color-select-border-hover active:i-border-$color-select-border-active rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] appearance-none pr-32 cursor-pointer caret-current",
1305
- disabled: "i-bg-$color-select-background-disabled i-border-$color-select-border-disabled hover:i-border-$color-select-border-disabled! active:i-border-$color-select-border-disabled! i-text-$color-select-text-disabled pointer-events-none",
1306
- invalid: "i-border-$color-select-border-negative",
1307
+ default: "block text-m mb-0 leading-m s-text s-bg s-border hover:s-border-hover active:s-border-active rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] appearance-none pr-32 cursor-pointer caret-current",
1308
+ disabled: "s-bg-disabled-subtle s-border-disabled hover:s-border-disabled! active:s-border-disabled! s-text-disabled pointer-events-none",
1309
+ invalid: "s-border-negative hover:s-border-negative-hover! outline-[--w-s-color-border-negative]!",
1307
1310
  readOnly: "pl-0 bg-transparent border-0 pointer-events-none before:hidden",
1308
1311
  wrapper: "relative",
1309
1312
  selectWrapper: `relative before:block before:absolute before:right-0 before:bottom-0 before:w-32 before:h-full before:pointer-events-none `,
1310
- chevron: "absolute top-[30%] block right-0 bottom-0 w-32 h-full i-text-$color-select-icon pointer-events-none cursor-pointer",
1313
+ chevron: "absolute top-[30%] block right-0 bottom-0 w-32 h-full s-icon pointer-events-none cursor-pointer",
1311
1314
  chevronDisabled: "opacity-25"
1312
1315
  };
1313
1316
  var label = {
1314
- label: "antialiased block relative text-s font-bold pb-4 cursor-pointer i-text-$color-label-text",
1315
- labelInvalid: "i-text-$color-label-text-negative",
1316
- optional: "pl-8 font-normal text-s i-text-$color-label-optional-text"
1317
+ label: "antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",
1318
+ optional: "pl-8 font-normal text-s s-text-subtle",
1319
+ labelInvalid: "s-text-negative"
1320
+ // TODO: Remove in v2 - kept for backwards compatibility
1317
1321
  };
1318
1322
  var helpText = {
1319
- helpText: "text-xs mt-4 block i-text-$color-helptext-text",
1320
- helpTextValid: "i-text-$color-helptext-text-positive",
1321
- helpTextInvalid: "i-text-$color-helptext-text-negative"
1322
- };
1323
- var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable focus:[--w-outline-offset:-2px] bg-transparent ";
1323
+ helpText: "text-xs mt-4 block",
1324
+ helpTextColor: "s-text-subtle",
1325
+ helpTextColorInvalid: "s-text-negative",
1326
+ // TODO: Remove below properties in v2 - kept for backwards compatibility
1327
+ helpTextValid: "s-text-positive",
1328
+ helpTextInvalid: "s-text-negative"
1329
+ };
1330
+ var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable rounded-4 focus:[--w-outline-offset:-2px] bg-transparent ";
1324
1331
  var suffix = {
1325
1332
  wrapper: prefixSuffixWrapperBase + "right-0",
1326
1333
  wrapperWithLabel: "w-max pr-12",
1327
1334
  wrapperWithIcon: "w-40",
1328
- label: "antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text"
1335
+ label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
1329
1336
  };
1330
1337
  var prefix = {
1331
1338
  wrapper: prefixSuffixWrapperBase + "left-0",
1332
1339
  wrapperWithLabel: "w-max pl-12",
1333
1340
  wrapperWithIcon: "w-40",
1334
- label: "antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text"
1341
+ label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
1335
1342
  };
1336
1343
  var breadcrumbs = {
1337
1344
  wrapper: "flex space-x-8",
1338
- text: "i-text-$color-breadcrumbs-text",
1339
- link: "i-text-$color-breadcrumbs-link-text",
1340
- separator: "select-none i-text-$color-breadcrumbs-icon",
1345
+ text: "s-text",
1346
+ link: "s-text-link",
1347
+ separator: "select-none s-icon",
1341
1348
  a11y: "sr-only"
1342
1349
  };
1350
+ var toggle = {
1351
+ // wrapper classes
1352
+ field: "relative text-m",
1353
+ // true
1354
+ wrapper: "relative py-1",
1355
+ // true
1356
+ wrapperRadioButtons: "inline-flex font-bold rounded-8 focus-within:focusable",
1357
+ // isRadioButton && !isEqualWidth
1358
+ wrapperRadioButtonsJustified: "flex font-bold rounded-8 focus-within:focusable",
1359
+ // isRadioButton && isEqualWidth,
1360
+ // group classes
1361
+ radioButtonsGroup: "group",
1362
+ // isRadioButton
1363
+ radioButtonsGroupJustified: "grow-1 shrink-0 basis-auto",
1364
+ // isRadioButton && isEqualWidth
1365
+ // input classes
1366
+ input: "peer",
1367
+ a11y: "sr-only",
1368
+ // label classes
1369
+ label: "peer-focus:focusable cursor-pointer text-m s-text s-border py-2 pl-28 select-none relative block before:border before:absolute before:transition-all before:left-0 before:w-20 before:h-20 before:top-2",
1370
+ // !isRadioButton
1371
+ labelBefore: 'before:content-[""] before:block',
1372
+ // !isRadioButton && !isIndeterminate
1373
+ checkbox: "before:s-bg before:rounded-2 hover:before:s-border-primary hover:before:s-bg-hover peer-checked:before:bg-center peer-checked:before:bg-[url(var(--w-form-check-mark))] peer-checked:before:s-border-primary peer-checked:before:s-bg-primary peer-checked:peer-hover:before:s-border-primary-hover peer-checked:peer-hover:before:s-bg-primary-hover",
1374
+ // isCheckbox && !isIndeterminate && !isInvalid && !isDisabled
1375
+ checkboxInvalid: "before:s-bg before:s-border-negative before:rounded-2 hover:before:s-bg-negative-subtle-hover hover:before:s-border-negative-hover peer-checked:before:bg-center peer-checked:before:bg-[url(var(--w-form-check-mark))] peer-checked:before:s-bg-negative peer-checked:before:s-border-negative peer-checked:peer-hover:before:s-bg-negative-hover peer-checked:peer-hover:before:s-border-negative-hover",
1376
+ // isCheckbox && !isIndeterminate && isInvalid && !isDisabled
1377
+ checkboxDisabled: "before:s-bg-disabled-subtle before:s-border-disabled pointer-events-none before:rounded-2 peer-checked:before:bg-center peer-checked:before:bg-[url(var(--w-form-check-mark))] peer-checked:before:s-border-disabled peer-checked:before:s-bg-disabled",
1378
+ // isCheckbox && !isIndeterminate && !isInvalid && isDisabled
1379
+ indeterminate: 'before:content-["\u2013"] before:rounded-2 before:leading-xs before:text-center before:font-bold before:s-icon-inverted peer-indeterminate:before:s-border-primary peer-indeterminate:before:s-bg-primary peer-indeterminate:hover:before:s-border-primary-hover peer-indeterminate:hover:before:s-bg-primary-hover',
1380
+ // isCheckbox && isIndeterminate && !isInvalid && !isDisabled
1381
+ indeterminateInvalid: 'before:content-["\u2013"] before:rounded-2 before:leading-xs before:text-center before:font-bold before:s-icon-inverted peer-indeterminate:before:s-border-negative peer-indeterminate:before:s-bg-negative peer-indeterminate:hover:before:s-border-negative-hover peer-indeterminate:hover:before:s-bg-negative-hover',
1382
+ // isCheckbox && isIndeterminate && isInvalid && !isDisabled
1383
+ indeterminateDisabled: 'before:content-["\u2013"] before:rounded-2 before:leading-xs before:text-center before:font-bold pointer-events-none before:s-icon-inverted peer-indeterminate:before:s-border-disabled peer-indeterminate:before:s-bg-disabled',
1384
+ // isCheckbox && isIndeterminate && !isInvalid && isDisabled
1385
+ radio: "before:s-bg before:rounded-full peer-checked:before:border-[6] peer-checked:before:s-border-selected peer-checked:peer-hover:before:s-border-selected-hover peer-hover:before:s-border-primary peer-hover:before:s-bg-hover",
1386
+ // isRadio && !isDisabled && !isInvalid
1387
+ radioInvalid: "before:s-bg before:s-border-negative before:rounded-full peer-checked:before:border-[6] peer-hover:before:s-bg-negative-subtle peer-hover:before:s-border-negative-hover peer-checked:before:s-border-negative peer-checked:peer-hover:before:s-border-negative-hover",
1388
+ // isRadio && isInvalid && !isDisabled
1389
+ radioDisabled: "before:s-bg-disabled-subtle before:s-border-disabled pointer-events-none before:rounded-full peer-checked:before:border-[6]",
1390
+ // isRadio && !isInvalid && isDisabled
1391
+ radioButtonsLabel: "peer-hover:peer-not-checked:s-bg-hover peer-checked:s-text-inverted peer-checked:s-bg-primary peer-checked:s-border-primary block relative font-bold cursor-pointer s-text-link text-center s-bg border-2 s-border group-first-of-type:rounded-tl-8 group-first-of-type:rounded-bl-8 group-last-of-type:rounded-tr-8 group-last-of-type:rounded-br-8 group-not-last-of-type:border-r-0 peer-checked:z-10 group-not-first:-ml-2",
1392
+ // isRadioButtons
1393
+ radioButtonsRegular: "text-s py-8 pl-12 pr-14",
1394
+ // isRadioButtons && !isSmall
1395
+ radioButtonsSmall: "text-xs py-[5px] px-[8px]"
1396
+ // isRadioButtons && isSmall
1397
+ };
1398
+ var deadToggle = {
1399
+ wrapper: `${toggle.wrapper} h-20 w-20 pointer-events-none`,
1400
+ input: `${toggle.input} hidden`,
1401
+ inputVue: "hidden",
1402
+ labelRadio: `${toggle.label} ${toggle.labelBefore} ${toggle.radio}`,
1403
+ labelCheckbox: `${toggle.label} ${toggle.labelBefore} ${toggle.checkbox}`,
1404
+ labelVue: "-mt-2"
1405
+ };
1343
1406
  var clickable = {
1344
1407
  toggle: "absolute inset-0 h-full w-full appearance-none cursor-pointer focusable focusable-inset",
1345
1408
  label: `px-12 ${label.label} py-8! cursor-pointer focusable focusable-inset`,
@@ -1348,19 +1411,27 @@ var clickable = {
1348
1411
  };
1349
1412
  var attention = {
1350
1413
  base: "border-2 relative flex items-start",
1351
- tooltip: "i-bg-$color-tooltip-background i-border-$color-tooltip-background i-shadow-$shadow-tooltip i-text-$color-tooltip-text rounded-4 py-6 px-8",
1352
- callout: "i-bg-$color-callout-background i-border-$color-callout-border i-text-$color-callout-text py-8 px-16 rounded-8",
1353
- highlight: "i-bg-$color-callout-background i-border-$color-callout-border i-text-$color-callout-text py-8 px-16 rounded-8 drop-shadow-m",
1354
- popover: "i-bg-$color-popover-background i-border-$color-popover-background i-text-$color-popover-paragraph-text rounded-8 p-16 drop-shadow-m",
1414
+ tooltip: "s-bg-inverted border-[--w-s-color-background-inverted] shadow-m s-text-inverted-static rounded-4 py-6 px-8",
1415
+ callout: "bg-[--w-color-callout-background] border-[--w-color-callout-border] s-text py-8 px-16 rounded-8",
1416
+ highlight: "bg-[--w-color-callout-background] border-[--w-color-callout-border] s-text py-8 px-16 rounded-8 drop-shadow-m translate-z-0",
1417
+ popover: "bg-[--w-s-color-surface-elevated-300] border-[--w-s-color-surface-elevated-300] s-text rounded-8 p-16 drop-shadow-m translate-z-0",
1355
1418
  arrowBase: "absolute h-[14px] w-[14px] border-2 border-b-0 border-r-0 rounded-tl-4 transform",
1419
+ arrowDirectionLeftStart: "-left-[8px]",
1356
1420
  arrowDirectionLeft: "-left-[8px]",
1421
+ arrowDirectionLeftEnd: "-left-[8px]",
1422
+ arrowDirectionRightStart: "-right-[8px]",
1357
1423
  arrowDirectionRight: "-right-[8px]",
1424
+ arrowDirectionRightEnd: "-right-[8px]",
1425
+ arrowDirectionBottomStart: "-bottom-[8px]",
1358
1426
  arrowDirectionBottom: "-bottom-[8px]",
1427
+ arrowDirectionBottomEnd: "-bottom-[8px]",
1428
+ arrowDirectionTopStart: "-top-[8px]",
1359
1429
  arrowDirectionTop: "-top-[8px]",
1360
- arrowTooltip: "i-bg-$color-tooltip-background i-border-$color-tooltip-background",
1361
- arrowCallout: "i-bg-$color-callout-background i-border-$color-callout-border",
1362
- arrowPopover: "i-bg-$color-popover-background i-border-$color-popover-background",
1363
- arrowHighlight: "i-bg-$color-callout-background i-border-$color-callout-border",
1430
+ arrowDirectionTopEnd: "-top-[8px]",
1431
+ arrowTooltip: "s-bg-inverted border-[--w-s-color-background-inverted]",
1432
+ arrowCallout: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
1433
+ arrowPopover: "bg-[--w-s-color-surface-elevated-300] border-[--w-s-color-surface-elevated-300]",
1434
+ arrowHighlight: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
1364
1435
  content: "last-child:mb-0",
1365
1436
  notCallout: "absolute z-50",
1366
1437
  closeBtn: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} justify-self-end -mr-8 ml-8`
@@ -1370,10 +1441,10 @@ var attention = {
1370
1441
  import { LitElement } from "lit";
1371
1442
  import { unsafeStatic, html } from "lit/static-html.js";
1372
1443
 
1373
- // node_modules/.pnpm/@lingui+core@4.7.0/node_modules/@lingui/core/dist/index.mjs
1444
+ // node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
1374
1445
  var import_unraw = __toESM(require_dist(), 1);
1375
1446
 
1376
- // node_modules/.pnpm/@lingui+message-utils@4.7.0/node_modules/@lingui/message-utils/dist/compileMessage.mjs
1447
+ // node_modules/.pnpm/@lingui+message-utils@4.7.1/node_modules/@lingui/message-utils/dist/compileMessage.mjs
1377
1448
  var import_parser = __toESM(require_parser(), 1);
1378
1449
  function processTokens(tokens, mapText) {
1379
1450
  if (!tokens.filter((token) => token.type !== "content").length) {
@@ -1423,7 +1494,7 @@ Message: ${message}`);
1423
1494
  }
1424
1495
  }
1425
1496
 
1426
- // node_modules/.pnpm/@lingui+core@4.7.0/node_modules/@lingui/core/dist/index.mjs
1497
+ // node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
1427
1498
  var isString = (s3) => typeof s3 === "string";
1428
1499
  var isFunction = (f3) => typeof f3 === "function";
1429
1500
  var cache = /* @__PURE__ */ new Map();
@@ -1475,6 +1546,7 @@ function cacheKey(type, locales, options) {
1475
1546
  return `${type}-${localeKey}-${JSON.stringify(options)}`;
1476
1547
  }
1477
1548
  var UNICODE_REGEX = /\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/g;
1549
+ var OCTOTHORPE_PH = "%__lingui_octothorpe__%";
1478
1550
  var getDefaultFormats = (locale, passedLocales, formats = {}) => {
1479
1551
  const locales = passedLocales || locale;
1480
1552
  const style = (format) => {
@@ -1483,7 +1555,7 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
1483
1555
  const replaceOctothorpe = (value, message) => {
1484
1556
  const numberFormat = Object.keys(formats).length ? style("number") : void 0;
1485
1557
  const valueStr = number(locales, value, numberFormat);
1486
- return message.replace("#", valueStr);
1558
+ return message.replace(new RegExp(OCTOTHORPE_PH, "g"), valueStr);
1487
1559
  };
1488
1560
  return {
1489
1561
  plural: (value, cases) => {
@@ -1498,43 +1570,53 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
1498
1570
  },
1499
1571
  select: selectFormatter,
1500
1572
  number: (value, format) => number(locales, value, style(format)),
1501
- date: (value, format) => date(locales, value, style(format)),
1502
- undefined: undefinedFormatter
1573
+ date: (value, format) => date(locales, value, style(format))
1503
1574
  };
1504
1575
  };
1505
1576
  var selectFormatter = (value, rules) => {
1506
1577
  var _a;
1507
1578
  return (_a = rules[value]) != null ? _a : rules.other;
1508
1579
  };
1509
- var undefinedFormatter = (value) => value;
1510
1580
  function interpolate(translation, locale, locales) {
1511
1581
  return (values = {}, formats) => {
1512
1582
  const formatters = getDefaultFormats(locale, locales, formats);
1513
- const formatMessage = (message) => {
1514
- if (!Array.isArray(message))
1515
- return message;
1516
- return message.reduce((message2, token) => {
1517
- if (isString(token))
1518
- return message2 + token;
1583
+ const formatMessage = (tokens) => {
1584
+ if (!Array.isArray(tokens))
1585
+ return tokens;
1586
+ return tokens.reduce((message, token) => {
1587
+ if (token === "#") {
1588
+ return message + OCTOTHORPE_PH;
1589
+ }
1590
+ if (isString(token)) {
1591
+ return message + token;
1592
+ }
1519
1593
  const [name, type, format] = token;
1520
1594
  let interpolatedFormat = {};
1521
- if (format != null && typeof format === "object") {
1522
- Object.entries(format).forEach(([key, value2]) => {
1523
- interpolatedFormat[key] = formatMessage(value2);
1524
- });
1595
+ if (type === "plural" || type === "selectordinal" || type === "select") {
1596
+ Object.entries(format).forEach(
1597
+ ([key, value2]) => {
1598
+ interpolatedFormat[key] = formatMessage(value2);
1599
+ }
1600
+ );
1525
1601
  } else {
1526
1602
  interpolatedFormat = format;
1527
1603
  }
1528
- const formatter = formatters[type];
1529
- const value = formatter(values[name], interpolatedFormat);
1530
- if (value == null)
1531
- return message2;
1532
- return message2 + value;
1604
+ let value;
1605
+ if (type) {
1606
+ const formatter = formatters[type];
1607
+ value = formatter(values[name], interpolatedFormat);
1608
+ } else {
1609
+ value = values[name];
1610
+ }
1611
+ if (value == null) {
1612
+ return message;
1613
+ }
1614
+ return message + value;
1533
1615
  }, "");
1534
1616
  };
1535
1617
  const result = formatMessage(translation);
1536
1618
  if (isString(result) && UNICODE_REGEX.test(result)) {
1537
- return (0, import_unraw.default)(result.trim());
1619
+ return (0, import_unraw.unraw)(result.trim());
1538
1620
  }
1539
1621
  if (isString(result))
1540
1622
  return result.trim();
@@ -4121,12 +4203,11 @@ var messages31 = JSON.parse('{"select.label.optional":"(valgfritt)"}');
4121
4203
  var messages39 = JSON.parse('{"select.label.optional":"(vapaaehtoinen)"}');
4122
4204
 
4123
4205
  // packages/select/index.js
4124
- var _classes, classes_get, _labelClasses, labelClasses_get, _helpTextClasses, helpTextClasses_get, _chevronClasses, chevronClasses_get, _id, id_get, _helpId, helpId_get;
4206
+ var _classes, classes_get, _helpTextClasses, helpTextClasses_get, _chevronClasses, chevronClasses_get, _id, id_get, _helpId, helpId_get;
4125
4207
  var WarpSelect = class extends kebabCaseAttributes(WarpElement12) {
4126
4208
  constructor() {
4127
4209
  super();
4128
4210
  __privateAdd(this, _classes);
4129
- __privateAdd(this, _labelClasses);
4130
4211
  __privateAdd(this, _helpTextClasses);
4131
4212
  __privateAdd(this, _chevronClasses);
4132
4213
  __privateAdd(this, _id);
@@ -4138,7 +4219,7 @@ var WarpSelect = class extends kebabCaseAttributes(WarpElement12) {
4138
4219
  return html20`<div class="${select.wrapper}">
4139
4220
  ${when(
4140
4221
  this.label,
4141
- () => html20`<label class="${__privateGet(this, _labelClasses, labelClasses_get)}" for="${__privateGet(this, _id, id_get)}">
4222
+ () => html20`<label class="${label.label}" for="${__privateGet(this, _id, id_get)}">
4142
4223
  ${this.label}
4143
4224
  ${when(
4144
4225
  this.optional,
@@ -4183,18 +4264,12 @@ classes_get = function() {
4183
4264
  [select.invalid]: this.invalid
4184
4265
  });
4185
4266
  };
4186
- _labelClasses = new WeakSet();
4187
- labelClasses_get = function() {
4188
- return r({
4189
- [label.label]: true,
4190
- [label.labelInvalid]: this.invalid
4191
- });
4192
- };
4193
4267
  _helpTextClasses = new WeakSet();
4194
4268
  helpTextClasses_get = function() {
4195
4269
  return r({
4196
4270
  [helpText.helpText]: true,
4197
- [helpText.helpTextInvalid]: this.invalid
4271
+ [helpText.helpTextColor]: !this.invalid,
4272
+ [helpText.helpTextColorInvalid]: this.invalid
4198
4273
  });
4199
4274
  };
4200
4275
  _chevronClasses = new WeakSet();
@@ -4256,18 +4331,13 @@ var WarpTextField = class extends WarpElement13 {
4256
4331
  get _helpTextStyles() {
4257
4332
  return fclasses({
4258
4333
  [helpText.helpText]: true,
4259
- [helpText.helpTextInvalid]: this.invalid
4260
- });
4261
- }
4262
- get _labelStyles() {
4263
- return fclasses({
4264
- [label.label]: true,
4265
- [label.labelInvalid]: this.invalid
4334
+ [helpText.helpTextColor]: !this.invalid,
4335
+ [helpText.helpTextColorInvalid]: this.invalid
4266
4336
  });
4267
4337
  }
4268
4338
  get _label() {
4269
4339
  if (this.label) {
4270
- return html21`<label for="${this._id}" class=${this._labelStyles}>${this.label}</label>`;
4340
+ return html21`<label for="${this._id}" class=${label.label}>${this.label}</label>`;
4271
4341
  }
4272
4342
  }
4273
4343
  get _helpId() {