@warp-ds/elements 1.3.1-next.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
@@ -1054,26 +1054,27 @@ var r = function() {
1054
1054
  }, []).join(" ");
1055
1055
  };
1056
1056
 
1057
- // node_modules/.pnpm/@warp-ds+css@1.7.0/node_modules/@warp-ds/css/component-classes/index.js
1057
+ // node_modules/.pnpm/@warp-ds+css@1.9.1/node_modules/@warp-ds/css/component-classes/index.js
1058
1058
  var box = {
1059
1059
  box: "group block relative break-words last-child:mb-0 p-16 rounded-8",
1060
1060
  // Relative here enables w-clickable
1061
1061
  bleed: "-mx-16 sm:mx-0 rounded-l-0 rounded-r-0 sm:rounded-8",
1062
1062
  // We target L and R to override the default rounded-8
1063
- info: "i-bg-$color-box-info-background i-text-$color-box-info-text",
1064
- neutral: "i-bg-$color-box-neutral-background i-text-$color-box-neutral-text",
1065
- bordered: "border-2 i-border-$color-box-bordered-border i-bg-$color-box-bordered-background i-text-$color-box-bordered-text",
1066
- infoClickable: "hover:i-bg-$color-box-info-background-hover active:i-bg-$color-box-info-background-hover",
1067
- neutralClickable: "hover:i-bg-$color-box-neutral-background-hover active:i-bg-$color-box-neutral-background-hover",
1068
- 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"
1063
+ info: "s-bg-info-subtle",
1064
+ neutral: "bg-[--w-s-color-surface-sunken]",
1065
+ bordered: "border-2 s-border s-bg",
1066
+ infoClickable: "hover:s-bg-info-subtle-hover active:s-bg-info-subtle-hover",
1067
+ neutralClickable: "hover:s-bg-subtle-hover active:s-bg-subtle-hover",
1068
+ borderedClickable: "hover:s-bg-hover active:s-bg-hover hover:s-border-hover active:s-border-hover"
1069
1069
  };
1070
1070
  var buttonReset = "focus:outline-none appearance-none cursor-pointer bg-transparent border-0 m-0 p-0 inline-block";
1071
1071
  var expandable = {
1072
1072
  expandable: "will-change-height",
1073
- expandableTitle: "font-bold i-text-$color-expandable-title-text",
1074
- expandableBox: "i-bg-$color-expandable-background hover:i-bg-$color-expandable-background-hover py-0 px-0 " + box.box,
1073
+ expandableTitle: "font-bold s-text",
1074
+ expandableBox: "s-bg-subtle hover:s-bg-subtle-hover py-0 px-0 " + box.box,
1075
+ expandableInfo: "s-bg-info-subtle! hover:s-bg-info-subtle-hover!",
1075
1076
  expandableBleed: box.bleed,
1076
- chevron: "inline-block align-middle i-text-$color-expandable-icon",
1077
+ chevron: "inline-block align-middle s-icon",
1077
1078
  chevronNonBox: "ml-8",
1078
1079
  chevronBox: "",
1079
1080
  chevronTransform: "transform transition-transform transform-gpu ease-in-out",
@@ -1093,17 +1094,17 @@ var expandable = {
1093
1094
  };
1094
1095
  var buttonDefaultStyling = "font-bold focusable justify-center transition-colors ease-in-out";
1095
1096
  var buttonColors = {
1096
- 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",
1097
- 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",
1098
- 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",
1099
- 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",
1100
- 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",
1101
- disabled: "i-text-$color-button-disabled-text i-bg-$color-button-disabled-background",
1102
- 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",
1103
- utilityQuiet: "i-text-$color-button-utility-quiet-text i-bg-$color-button-utility-quiet-background hover:i-bg-$color-button-utility-quiet-background-hover",
1104
- 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",
1105
- loading: "i-text-$color-button-loading-text i-bg-$color-button-loading-background",
1106
- link: "i-text-$color-button-link-text"
1097
+ 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]",
1098
+ secondary: "s-text-link s-border s-bg hover:s-bg-hover hover:s-border-hover active:s-bg-active",
1099
+ utility: "s-text s-bg hover:s-bg-hover active:s-bg-active s-border hover:s-border-hover active:s-border-active",
1100
+ destructive: "s-bg-negative s-text-inverted hover:s-bg-negative-hover active:s-bg-negative-active",
1101
+ 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]",
1102
+ disabled: "s-text-inverted s-bg-disabled",
1103
+ quiet: "bg-transparent s-text-link hover:s-bg-hover active:s-bg-active",
1104
+ utilityQuiet: "s-text bg-transparent hover:s-bg-hover active:s-bg-active",
1105
+ negativeQuiet: "bg-transparent s-text-negative hover:s-bg-negative-subtle-hover active:s-bg-negative-subtle-active",
1106
+ loading: "s-text s-bg-subtle",
1107
+ link: "s-text-link"
1107
1108
  };
1108
1109
  var buttonTypes = {
1109
1110
  primary: `border-0 rounded-8 ${buttonDefaultStyling}`,
@@ -1207,10 +1208,10 @@ var button = {
1207
1208
  contentWidth: "max-w-max"
1208
1209
  };
1209
1210
  var modal = {
1210
- //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
1211
- 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`,
1212
- 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]",
1213
- 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",
1211
+ transparentBg: "",
1212
+ //TODO: Remove in v2 - previously used for opacity before changing to a rgba background in backdrop
1213
+ 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]",
1214
+ 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",
1214
1215
  content: "block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",
1215
1216
  footer: "flex justify-end shrink-0 px-16 sm:px-32",
1216
1217
  transitionTitle: "transition-all duration-300",
@@ -1225,37 +1226,97 @@ var modal = {
1225
1226
  titleButtonIconRotated: "transform rotate-90"
1226
1227
  };
1227
1228
  var select = {
1228
- 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",
1229
- 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",
1230
- invalid: "i-border-$color-select-border-negative",
1229
+ 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",
1230
+ disabled: "s-bg-disabled-subtle s-border-disabled hover:s-border-disabled! active:s-border-disabled! s-text-disabled pointer-events-none",
1231
+ invalid: "s-border-negative hover:s-border-negative-hover! outline-[--w-s-color-border-negative]!",
1231
1232
  readOnly: "pl-0 bg-transparent border-0 pointer-events-none before:hidden",
1232
1233
  wrapper: "relative",
1233
1234
  selectWrapper: `relative before:block before:absolute before:right-0 before:bottom-0 before:w-32 before:h-full before:pointer-events-none `,
1234
- chevron: "absolute top-[30%] block right-0 bottom-0 w-32 h-full i-text-$color-select-icon pointer-events-none cursor-pointer",
1235
+ chevron: "absolute top-[30%] block right-0 bottom-0 w-32 h-full s-icon pointer-events-none cursor-pointer",
1235
1236
  chevronDisabled: "opacity-25"
1236
1237
  };
1237
1238
  var label = {
1238
- label: "antialiased block relative text-s font-bold pb-4 cursor-pointer i-text-$color-label-text",
1239
- labelInvalid: "i-text-$color-label-text-negative",
1240
- optional: "pl-8 font-normal text-s i-text-$color-label-optional-text"
1239
+ label: "antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",
1240
+ optional: "pl-8 font-normal text-s s-text-subtle",
1241
+ labelInvalid: "s-text-negative"
1242
+ // TODO: Remove in v2 - kept for backwards compatibility
1241
1243
  };
1242
1244
  var helpText = {
1243
- helpText: "text-xs mt-4 block i-text-$color-helptext-text",
1244
- helpTextValid: "i-text-$color-helptext-text-positive",
1245
- helpTextInvalid: "i-text-$color-helptext-text-negative"
1245
+ helpText: "text-xs mt-4 block",
1246
+ helpTextColor: "s-text-subtle",
1247
+ helpTextColorInvalid: "s-text-negative",
1248
+ // TODO: Remove below properties in v2 - kept for backwards compatibility
1249
+ helpTextValid: "s-text-positive",
1250
+ helpTextInvalid: "s-text-negative"
1246
1251
  };
1247
- var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable focus:[--w-outline-offset:-2px] bg-transparent ";
1252
+ var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable rounded-4 focus:[--w-outline-offset:-2px] bg-transparent ";
1248
1253
  var suffix = {
1249
1254
  wrapper: prefixSuffixWrapperBase + "right-0",
1250
1255
  wrapperWithLabel: "w-max pr-12",
1251
1256
  wrapperWithIcon: "w-40",
1252
- label: "antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text"
1257
+ label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
1253
1258
  };
1254
1259
  var prefix = {
1255
1260
  wrapper: prefixSuffixWrapperBase + "left-0",
1256
1261
  wrapperWithLabel: "w-max pl-12",
1257
1262
  wrapperWithIcon: "w-40",
1258
- label: "antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text"
1263
+ label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
1264
+ };
1265
+ var toggle = {
1266
+ // wrapper classes
1267
+ field: "relative text-m",
1268
+ // true
1269
+ wrapper: "relative py-1",
1270
+ // true
1271
+ wrapperRadioButtons: "inline-flex font-bold rounded-8 focus-within:focusable",
1272
+ // isRadioButton && !isEqualWidth
1273
+ wrapperRadioButtonsJustified: "flex font-bold rounded-8 focus-within:focusable",
1274
+ // isRadioButton && isEqualWidth,
1275
+ // group classes
1276
+ radioButtonsGroup: "group",
1277
+ // isRadioButton
1278
+ radioButtonsGroupJustified: "grow-1 shrink-0 basis-auto",
1279
+ // isRadioButton && isEqualWidth
1280
+ // input classes
1281
+ input: "peer",
1282
+ a11y: "sr-only",
1283
+ // label classes
1284
+ 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",
1285
+ // !isRadioButton
1286
+ labelBefore: 'before:content-[""] before:block',
1287
+ // !isRadioButton && !isIndeterminate
1288
+ 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",
1289
+ // isCheckbox && !isIndeterminate && !isInvalid && !isDisabled
1290
+ 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",
1291
+ // isCheckbox && !isIndeterminate && isInvalid && !isDisabled
1292
+ 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",
1293
+ // isCheckbox && !isIndeterminate && !isInvalid && isDisabled
1294
+ 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',
1295
+ // isCheckbox && isIndeterminate && !isInvalid && !isDisabled
1296
+ 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',
1297
+ // isCheckbox && isIndeterminate && isInvalid && !isDisabled
1298
+ 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',
1299
+ // isCheckbox && isIndeterminate && !isInvalid && isDisabled
1300
+ 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",
1301
+ // isRadio && !isDisabled && !isInvalid
1302
+ 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",
1303
+ // isRadio && isInvalid && !isDisabled
1304
+ radioDisabled: "before:s-bg-disabled-subtle before:s-border-disabled pointer-events-none before:rounded-full peer-checked:before:border-[6]",
1305
+ // isRadio && !isInvalid && isDisabled
1306
+ 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",
1307
+ // isRadioButtons
1308
+ radioButtonsRegular: "text-s py-8 pl-12 pr-14",
1309
+ // isRadioButtons && !isSmall
1310
+ radioButtonsSmall: "text-xs py-[5px] px-[8px]"
1311
+ // isRadioButtons && isSmall
1312
+ };
1313
+ var deadToggle = {
1314
+ wrapper: `${toggle.wrapper} h-20 w-20 pointer-events-none`,
1315
+ input: `${toggle.input} hidden`,
1316
+ inputVue: "hidden",
1317
+ labelRadio: `${toggle.label} ${toggle.labelBefore} ${toggle.radio}`,
1318
+ labelCheckbox: `${toggle.label} ${toggle.labelBefore} ${toggle.checkbox}`,
1319
+ labelVue: "-mt-2"
1259
1320
  };
1260
1321
  var clickable = {
1261
1322
  toggle: "absolute inset-0 h-full w-full appearance-none cursor-pointer focusable focusable-inset",
@@ -1265,19 +1326,27 @@ var clickable = {
1265
1326
  };
1266
1327
  var attention = {
1267
1328
  base: "border-2 relative flex items-start",
1268
- 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",
1269
- callout: "i-bg-$color-callout-background i-border-$color-callout-border i-text-$color-callout-text py-8 px-16 rounded-8",
1270
- 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",
1271
- popover: "i-bg-$color-popover-background i-border-$color-popover-background i-text-$color-popover-paragraph-text rounded-8 p-16 drop-shadow-m",
1329
+ tooltip: "s-bg-inverted border-[--w-s-color-background-inverted] shadow-m s-text-inverted-static rounded-4 py-6 px-8",
1330
+ callout: "bg-[--w-color-callout-background] border-[--w-color-callout-border] s-text py-8 px-16 rounded-8",
1331
+ 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",
1332
+ 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",
1272
1333
  arrowBase: "absolute h-[14px] w-[14px] border-2 border-b-0 border-r-0 rounded-tl-4 transform",
1334
+ arrowDirectionLeftStart: "-left-[8px]",
1273
1335
  arrowDirectionLeft: "-left-[8px]",
1336
+ arrowDirectionLeftEnd: "-left-[8px]",
1337
+ arrowDirectionRightStart: "-right-[8px]",
1274
1338
  arrowDirectionRight: "-right-[8px]",
1339
+ arrowDirectionRightEnd: "-right-[8px]",
1340
+ arrowDirectionBottomStart: "-bottom-[8px]",
1275
1341
  arrowDirectionBottom: "-bottom-[8px]",
1342
+ arrowDirectionBottomEnd: "-bottom-[8px]",
1343
+ arrowDirectionTopStart: "-top-[8px]",
1276
1344
  arrowDirectionTop: "-top-[8px]",
1277
- arrowTooltip: "i-bg-$color-tooltip-background i-border-$color-tooltip-background",
1278
- arrowCallout: "i-bg-$color-callout-background i-border-$color-callout-border",
1279
- arrowPopover: "i-bg-$color-popover-background i-border-$color-popover-background",
1280
- arrowHighlight: "i-bg-$color-callout-background i-border-$color-callout-border",
1345
+ arrowDirectionTopEnd: "-top-[8px]",
1346
+ arrowTooltip: "s-bg-inverted border-[--w-s-color-background-inverted]",
1347
+ arrowCallout: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
1348
+ arrowPopover: "bg-[--w-s-color-surface-elevated-300] border-[--w-s-color-surface-elevated-300]",
1349
+ arrowHighlight: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
1281
1350
  content: "last-child:mb-0",
1282
1351
  notCallout: "absolute z-50",
1283
1352
  closeBtn: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} justify-self-end -mr-8 ml-8`
@@ -1303,10 +1372,10 @@ function kebabCaseAttributes(constructor) {
1303
1372
  // packages/select/index.js
1304
1373
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
1305
1374
 
1306
- // node_modules/.pnpm/@lingui+core@4.7.0/node_modules/@lingui/core/dist/index.mjs
1375
+ // node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
1307
1376
  var import_unraw = __toESM(require_dist(), 1);
1308
1377
 
1309
- // node_modules/.pnpm/@lingui+message-utils@4.7.0/node_modules/@lingui/message-utils/dist/compileMessage.mjs
1378
+ // node_modules/.pnpm/@lingui+message-utils@4.7.1/node_modules/@lingui/message-utils/dist/compileMessage.mjs
1310
1379
  var import_parser = __toESM(require_parser(), 1);
1311
1380
  function processTokens(tokens, mapText) {
1312
1381
  if (!tokens.filter((token) => token.type !== "content").length) {
@@ -1356,7 +1425,7 @@ Message: ${message}`);
1356
1425
  }
1357
1426
  }
1358
1427
 
1359
- // node_modules/.pnpm/@lingui+core@4.7.0/node_modules/@lingui/core/dist/index.mjs
1428
+ // node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
1360
1429
  var isString = (s) => typeof s === "string";
1361
1430
  var isFunction = (f) => typeof f === "function";
1362
1431
  var cache = /* @__PURE__ */ new Map();
@@ -1408,6 +1477,7 @@ function cacheKey(type, locales, options) {
1408
1477
  return `${type}-${localeKey}-${JSON.stringify(options)}`;
1409
1478
  }
1410
1479
  var UNICODE_REGEX = /\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/g;
1480
+ var OCTOTHORPE_PH = "%__lingui_octothorpe__%";
1411
1481
  var getDefaultFormats = (locale, passedLocales, formats = {}) => {
1412
1482
  const locales = passedLocales || locale;
1413
1483
  const style = (format) => {
@@ -1416,7 +1486,7 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
1416
1486
  const replaceOctothorpe = (value, message) => {
1417
1487
  const numberFormat = Object.keys(formats).length ? style("number") : void 0;
1418
1488
  const valueStr = number(locales, value, numberFormat);
1419
- return message.replace("#", valueStr);
1489
+ return message.replace(new RegExp(OCTOTHORPE_PH, "g"), valueStr);
1420
1490
  };
1421
1491
  return {
1422
1492
  plural: (value, cases) => {
@@ -1431,43 +1501,53 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
1431
1501
  },
1432
1502
  select: selectFormatter,
1433
1503
  number: (value, format) => number(locales, value, style(format)),
1434
- date: (value, format) => date(locales, value, style(format)),
1435
- undefined: undefinedFormatter
1504
+ date: (value, format) => date(locales, value, style(format))
1436
1505
  };
1437
1506
  };
1438
1507
  var selectFormatter = (value, rules) => {
1439
1508
  var _a;
1440
1509
  return (_a = rules[value]) != null ? _a : rules.other;
1441
1510
  };
1442
- var undefinedFormatter = (value) => value;
1443
1511
  function interpolate(translation, locale, locales) {
1444
1512
  return (values = {}, formats) => {
1445
1513
  const formatters = getDefaultFormats(locale, locales, formats);
1446
- const formatMessage = (message) => {
1447
- if (!Array.isArray(message))
1448
- return message;
1449
- return message.reduce((message2, token) => {
1450
- if (isString(token))
1451
- return message2 + token;
1514
+ const formatMessage = (tokens) => {
1515
+ if (!Array.isArray(tokens))
1516
+ return tokens;
1517
+ return tokens.reduce((message, token) => {
1518
+ if (token === "#") {
1519
+ return message + OCTOTHORPE_PH;
1520
+ }
1521
+ if (isString(token)) {
1522
+ return message + token;
1523
+ }
1452
1524
  const [name, type, format] = token;
1453
1525
  let interpolatedFormat = {};
1454
- if (format != null && typeof format === "object") {
1455
- Object.entries(format).forEach(([key, value2]) => {
1456
- interpolatedFormat[key] = formatMessage(value2);
1457
- });
1526
+ if (type === "plural" || type === "selectordinal" || type === "select") {
1527
+ Object.entries(format).forEach(
1528
+ ([key, value2]) => {
1529
+ interpolatedFormat[key] = formatMessage(value2);
1530
+ }
1531
+ );
1458
1532
  } else {
1459
1533
  interpolatedFormat = format;
1460
1534
  }
1461
- const formatter = formatters[type];
1462
- const value = formatter(values[name], interpolatedFormat);
1463
- if (value == null)
1464
- return message2;
1465
- return message2 + value;
1535
+ let value;
1536
+ if (type) {
1537
+ const formatter = formatters[type];
1538
+ value = formatter(values[name], interpolatedFormat);
1539
+ } else {
1540
+ value = values[name];
1541
+ }
1542
+ if (value == null) {
1543
+ return message;
1544
+ }
1545
+ return message + value;
1466
1546
  }, "");
1467
1547
  };
1468
1548
  const result = formatMessage(translation);
1469
1549
  if (isString(result) && UNICODE_REGEX.test(result)) {
1470
- return (0, import_unraw.default)(result.trim());
1550
+ return (0, import_unraw.unraw)(result.trim());
1471
1551
  }
1472
1552
  if (isString(result))
1473
1553
  return result.trim();
@@ -1790,12 +1870,11 @@ if (!customElements.get("w-icon-chevron-down-16")) {
1790
1870
  }
1791
1871
 
1792
1872
  // packages/select/index.js
1793
- var _classes, classes_get, _labelClasses, labelClasses_get, _helpTextClasses, helpTextClasses_get, _chevronClasses, chevronClasses_get, _id, id_get, _helpId, helpId_get;
1873
+ var _classes, classes_get, _helpTextClasses, helpTextClasses_get, _chevronClasses, chevronClasses_get, _id, id_get, _helpId, helpId_get;
1794
1874
  var WarpSelect = class extends kebabCaseAttributes(WarpElement) {
1795
1875
  constructor() {
1796
1876
  super();
1797
1877
  __privateAdd(this, _classes);
1798
- __privateAdd(this, _labelClasses);
1799
1878
  __privateAdd(this, _helpTextClasses);
1800
1879
  __privateAdd(this, _chevronClasses);
1801
1880
  __privateAdd(this, _id);
@@ -1807,7 +1886,7 @@ var WarpSelect = class extends kebabCaseAttributes(WarpElement) {
1807
1886
  return html2`<div class="${select.wrapper}">
1808
1887
  ${when(
1809
1888
  this.label,
1810
- () => html2`<label class="${__privateGet(this, _labelClasses, labelClasses_get)}" for="${__privateGet(this, _id, id_get)}">
1889
+ () => html2`<label class="${label.label}" for="${__privateGet(this, _id, id_get)}">
1811
1890
  ${this.label}
1812
1891
  ${when(
1813
1892
  this.optional,
@@ -1852,18 +1931,12 @@ classes_get = function() {
1852
1931
  [select.invalid]: this.invalid
1853
1932
  });
1854
1933
  };
1855
- _labelClasses = new WeakSet();
1856
- labelClasses_get = function() {
1857
- return r({
1858
- [label.label]: true,
1859
- [label.labelInvalid]: this.invalid
1860
- });
1861
- };
1862
1934
  _helpTextClasses = new WeakSet();
1863
1935
  helpTextClasses_get = function() {
1864
1936
  return r({
1865
1937
  [helpText.helpText]: true,
1866
- [helpText.helpTextInvalid]: this.invalid
1938
+ [helpText.helpTextColor]: !this.invalid,
1939
+ [helpText.helpTextColorInvalid]: this.invalid
1867
1940
  });
1868
1941
  };
1869
1942
  _chevronClasses = new WeakSet();