@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.
- package/README.md +1 -1
- package/dist/index.js +199 -129
- package/dist/index.js.map +4 -4
- package/dist/packages/affix/index.js +139 -62
- package/dist/packages/affix/index.js.map +4 -4
- package/dist/packages/alert/index.js +148 -71
- package/dist/packages/alert/index.js.map +4 -4
- package/dist/packages/attention/index.d.ts +1 -1
- package/dist/packages/attention/index.js +139 -62
- package/dist/packages/attention/index.js.map +4 -4
- package/dist/packages/badge/index.js +114 -46
- package/dist/packages/badge/index.js.map +3 -3
- package/dist/packages/box/index.js +105 -39
- package/dist/packages/box/index.js.map +3 -3
- package/dist/packages/breadcrumbs/index.js +142 -65
- package/dist/packages/breadcrumbs/index.js.map +4 -4
- package/dist/packages/broadcast/index.js.map +1 -1
- package/dist/packages/button/index.js +139 -62
- package/dist/packages/button/index.js.map +4 -4
- package/dist/packages/card/index.js +112 -46
- package/dist/packages/card/index.js.map +3 -3
- package/dist/packages/expandable/index.js +139 -62
- package/dist/packages/expandable/index.js.map +4 -4
- package/dist/packages/pill/index.js +141 -64
- package/dist/packages/pill/index.js.map +4 -4
- package/dist/packages/select/index.js +153 -80
- package/dist/packages/select/index.js.map +4 -4
- package/dist/packages/textfield/index.d.ts +0 -1
- package/dist/packages/textfield/index.js +119 -55
- package/dist/packages/textfield/index.js.map +3 -3
- package/dist/packages/toast/index.js +146 -69
- package/dist/packages/toast/index.js.map +4 -4
- package/package.json +25 -37
|
@@ -48,7 +48,7 @@ export class WarpAttention extends WarpAttention_base {
|
|
|
48
48
|
canClose: boolean;
|
|
49
49
|
noArrow: boolean;
|
|
50
50
|
connectedCallback(): void;
|
|
51
|
-
set _actualDirection(
|
|
51
|
+
set _actualDirection(v: any);
|
|
52
52
|
get _actualDirection(): any;
|
|
53
53
|
placement: any;
|
|
54
54
|
get _arrowDirection(): any;
|
|
@@ -1060,26 +1060,27 @@ function generateRandomId() {
|
|
|
1060
1060
|
return `m${Math.random().toString(36).slice(2)}`;
|
|
1061
1061
|
}
|
|
1062
1062
|
|
|
1063
|
-
// node_modules/.pnpm/@warp-ds+css@1.
|
|
1063
|
+
// node_modules/.pnpm/@warp-ds+css@1.9.1/node_modules/@warp-ds/css/component-classes/index.js
|
|
1064
1064
|
var box = {
|
|
1065
1065
|
box: "group block relative break-words last-child:mb-0 p-16 rounded-8",
|
|
1066
1066
|
// Relative here enables w-clickable
|
|
1067
1067
|
bleed: "-mx-16 sm:mx-0 rounded-l-0 rounded-r-0 sm:rounded-8",
|
|
1068
1068
|
// We target L and R to override the default rounded-8
|
|
1069
|
-
info: "
|
|
1070
|
-
neutral: "
|
|
1071
|
-
bordered: "border-2
|
|
1072
|
-
infoClickable: "hover:
|
|
1073
|
-
neutralClickable: "hover:
|
|
1074
|
-
borderedClickable: "hover:
|
|
1069
|
+
info: "s-bg-info-subtle",
|
|
1070
|
+
neutral: "bg-[--w-s-color-surface-sunken]",
|
|
1071
|
+
bordered: "border-2 s-border s-bg",
|
|
1072
|
+
infoClickable: "hover:s-bg-info-subtle-hover active:s-bg-info-subtle-hover",
|
|
1073
|
+
neutralClickable: "hover:s-bg-subtle-hover active:s-bg-subtle-hover",
|
|
1074
|
+
borderedClickable: "hover:s-bg-hover active:s-bg-hover hover:s-border-hover active:s-border-hover"
|
|
1075
1075
|
};
|
|
1076
1076
|
var buttonReset = "focus:outline-none appearance-none cursor-pointer bg-transparent border-0 m-0 p-0 inline-block";
|
|
1077
1077
|
var expandable = {
|
|
1078
1078
|
expandable: "will-change-height",
|
|
1079
|
-
expandableTitle: "font-bold
|
|
1080
|
-
expandableBox: "
|
|
1079
|
+
expandableTitle: "font-bold s-text",
|
|
1080
|
+
expandableBox: "s-bg-subtle hover:s-bg-subtle-hover py-0 px-0 " + box.box,
|
|
1081
|
+
expandableInfo: "s-bg-info-subtle! hover:s-bg-info-subtle-hover!",
|
|
1081
1082
|
expandableBleed: box.bleed,
|
|
1082
|
-
chevron: "inline-block align-middle
|
|
1083
|
+
chevron: "inline-block align-middle s-icon",
|
|
1083
1084
|
chevronNonBox: "ml-8",
|
|
1084
1085
|
chevronBox: "",
|
|
1085
1086
|
chevronTransform: "transform transition-transform transform-gpu ease-in-out",
|
|
@@ -1099,17 +1100,17 @@ var expandable = {
|
|
|
1099
1100
|
};
|
|
1100
1101
|
var buttonDefaultStyling = "font-bold focusable justify-center transition-colors ease-in-out";
|
|
1101
1102
|
var buttonColors = {
|
|
1102
|
-
primary: "
|
|
1103
|
-
secondary: "
|
|
1104
|
-
utility: "
|
|
1105
|
-
destructive: "
|
|
1106
|
-
pill: "
|
|
1107
|
-
disabled: "
|
|
1108
|
-
quiet: "
|
|
1109
|
-
utilityQuiet: "
|
|
1110
|
-
negativeQuiet: "
|
|
1111
|
-
loading: "
|
|
1112
|
-
link: "
|
|
1103
|
+
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]",
|
|
1104
|
+
secondary: "s-text-link s-border s-bg hover:s-bg-hover hover:s-border-hover active:s-bg-active",
|
|
1105
|
+
utility: "s-text s-bg hover:s-bg-hover active:s-bg-active s-border hover:s-border-hover active:s-border-active",
|
|
1106
|
+
destructive: "s-bg-negative s-text-inverted hover:s-bg-negative-hover active:s-bg-negative-active",
|
|
1107
|
+
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]",
|
|
1108
|
+
disabled: "s-text-inverted s-bg-disabled",
|
|
1109
|
+
quiet: "bg-transparent s-text-link hover:s-bg-hover active:s-bg-active",
|
|
1110
|
+
utilityQuiet: "s-text bg-transparent hover:s-bg-hover active:s-bg-active",
|
|
1111
|
+
negativeQuiet: "bg-transparent s-text-negative hover:s-bg-negative-subtle-hover active:s-bg-negative-subtle-active",
|
|
1112
|
+
loading: "s-text s-bg-subtle",
|
|
1113
|
+
link: "s-text-link"
|
|
1113
1114
|
};
|
|
1114
1115
|
var buttonTypes = {
|
|
1115
1116
|
primary: `border-0 rounded-8 ${buttonDefaultStyling}`,
|
|
@@ -1213,10 +1214,10 @@ var button = {
|
|
|
1213
1214
|
contentWidth: "max-w-max"
|
|
1214
1215
|
};
|
|
1215
1216
|
var modal = {
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
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]",
|
|
1219
|
-
modal: "pb-safe-[32]
|
|
1217
|
+
transparentBg: "",
|
|
1218
|
+
//TODO: Remove in v2 - previously used for opacity before changing to a rgba background in backdrop
|
|
1219
|
+
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]",
|
|
1220
|
+
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",
|
|
1220
1221
|
content: "block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",
|
|
1221
1222
|
footer: "flex justify-end shrink-0 px-16 sm:px-32",
|
|
1222
1223
|
transitionTitle: "transition-all duration-300",
|
|
@@ -1231,22 +1232,79 @@ var modal = {
|
|
|
1231
1232
|
titleButtonIconRotated: "transform rotate-90"
|
|
1232
1233
|
};
|
|
1233
1234
|
var label = {
|
|
1234
|
-
label: "antialiased block relative text-s font-bold pb-4 cursor-pointer
|
|
1235
|
-
|
|
1236
|
-
|
|
1235
|
+
label: "antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",
|
|
1236
|
+
optional: "pl-8 font-normal text-s s-text-subtle",
|
|
1237
|
+
labelInvalid: "s-text-negative"
|
|
1238
|
+
// TODO: Remove in v2 - kept for backwards compatibility
|
|
1237
1239
|
};
|
|
1238
|
-
var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable focus:[--w-outline-offset:-2px] bg-transparent ";
|
|
1240
|
+
var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable rounded-4 focus:[--w-outline-offset:-2px] bg-transparent ";
|
|
1239
1241
|
var suffix = {
|
|
1240
1242
|
wrapper: prefixSuffixWrapperBase + "right-0",
|
|
1241
1243
|
wrapperWithLabel: "w-max pr-12",
|
|
1242
1244
|
wrapperWithIcon: "w-40",
|
|
1243
|
-
label: "antialiased block relative cursor-default pb-0 font-bold text-xs
|
|
1245
|
+
label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
|
|
1244
1246
|
};
|
|
1245
1247
|
var prefix = {
|
|
1246
1248
|
wrapper: prefixSuffixWrapperBase + "left-0",
|
|
1247
1249
|
wrapperWithLabel: "w-max pl-12",
|
|
1248
1250
|
wrapperWithIcon: "w-40",
|
|
1249
|
-
label: "antialiased block relative cursor-default pb-0 font-bold text-xs
|
|
1251
|
+
label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
|
|
1252
|
+
};
|
|
1253
|
+
var toggle = {
|
|
1254
|
+
// wrapper classes
|
|
1255
|
+
field: "relative text-m",
|
|
1256
|
+
// true
|
|
1257
|
+
wrapper: "relative py-1",
|
|
1258
|
+
// true
|
|
1259
|
+
wrapperRadioButtons: "inline-flex font-bold rounded-8 focus-within:focusable",
|
|
1260
|
+
// isRadioButton && !isEqualWidth
|
|
1261
|
+
wrapperRadioButtonsJustified: "flex font-bold rounded-8 focus-within:focusable",
|
|
1262
|
+
// isRadioButton && isEqualWidth,
|
|
1263
|
+
// group classes
|
|
1264
|
+
radioButtonsGroup: "group",
|
|
1265
|
+
// isRadioButton
|
|
1266
|
+
radioButtonsGroupJustified: "grow-1 shrink-0 basis-auto",
|
|
1267
|
+
// isRadioButton && isEqualWidth
|
|
1268
|
+
// input classes
|
|
1269
|
+
input: "peer",
|
|
1270
|
+
a11y: "sr-only",
|
|
1271
|
+
// label classes
|
|
1272
|
+
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",
|
|
1273
|
+
// !isRadioButton
|
|
1274
|
+
labelBefore: 'before:content-[""] before:block',
|
|
1275
|
+
// !isRadioButton && !isIndeterminate
|
|
1276
|
+
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",
|
|
1277
|
+
// isCheckbox && !isIndeterminate && !isInvalid && !isDisabled
|
|
1278
|
+
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",
|
|
1279
|
+
// isCheckbox && !isIndeterminate && isInvalid && !isDisabled
|
|
1280
|
+
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",
|
|
1281
|
+
// isCheckbox && !isIndeterminate && !isInvalid && isDisabled
|
|
1282
|
+
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',
|
|
1283
|
+
// isCheckbox && isIndeterminate && !isInvalid && !isDisabled
|
|
1284
|
+
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',
|
|
1285
|
+
// isCheckbox && isIndeterminate && isInvalid && !isDisabled
|
|
1286
|
+
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',
|
|
1287
|
+
// isCheckbox && isIndeterminate && !isInvalid && isDisabled
|
|
1288
|
+
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",
|
|
1289
|
+
// isRadio && !isDisabled && !isInvalid
|
|
1290
|
+
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",
|
|
1291
|
+
// isRadio && isInvalid && !isDisabled
|
|
1292
|
+
radioDisabled: "before:s-bg-disabled-subtle before:s-border-disabled pointer-events-none before:rounded-full peer-checked:before:border-[6]",
|
|
1293
|
+
// isRadio && !isInvalid && isDisabled
|
|
1294
|
+
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",
|
|
1295
|
+
// isRadioButtons
|
|
1296
|
+
radioButtonsRegular: "text-s py-8 pl-12 pr-14",
|
|
1297
|
+
// isRadioButtons && !isSmall
|
|
1298
|
+
radioButtonsSmall: "text-xs py-[5px] px-[8px]"
|
|
1299
|
+
// isRadioButtons && isSmall
|
|
1300
|
+
};
|
|
1301
|
+
var deadToggle = {
|
|
1302
|
+
wrapper: `${toggle.wrapper} h-20 w-20 pointer-events-none`,
|
|
1303
|
+
input: `${toggle.input} hidden`,
|
|
1304
|
+
inputVue: "hidden",
|
|
1305
|
+
labelRadio: `${toggle.label} ${toggle.labelBefore} ${toggle.radio}`,
|
|
1306
|
+
labelCheckbox: `${toggle.label} ${toggle.labelBefore} ${toggle.checkbox}`,
|
|
1307
|
+
labelVue: "-mt-2"
|
|
1250
1308
|
};
|
|
1251
1309
|
var clickable = {
|
|
1252
1310
|
toggle: "absolute inset-0 h-full w-full appearance-none cursor-pointer focusable focusable-inset",
|
|
@@ -1256,19 +1314,27 @@ var clickable = {
|
|
|
1256
1314
|
};
|
|
1257
1315
|
var attention = {
|
|
1258
1316
|
base: "border-2 relative flex items-start",
|
|
1259
|
-
tooltip: "
|
|
1260
|
-
callout: "
|
|
1261
|
-
highlight: "
|
|
1262
|
-
popover: "
|
|
1317
|
+
tooltip: "s-bg-inverted border-[--w-s-color-background-inverted] shadow-m s-text-inverted-static rounded-4 py-6 px-8",
|
|
1318
|
+
callout: "bg-[--w-color-callout-background] border-[--w-color-callout-border] s-text py-8 px-16 rounded-8",
|
|
1319
|
+
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",
|
|
1320
|
+
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",
|
|
1263
1321
|
arrowBase: "absolute h-[14px] w-[14px] border-2 border-b-0 border-r-0 rounded-tl-4 transform",
|
|
1322
|
+
arrowDirectionLeftStart: "-left-[8px]",
|
|
1264
1323
|
arrowDirectionLeft: "-left-[8px]",
|
|
1324
|
+
arrowDirectionLeftEnd: "-left-[8px]",
|
|
1325
|
+
arrowDirectionRightStart: "-right-[8px]",
|
|
1265
1326
|
arrowDirectionRight: "-right-[8px]",
|
|
1327
|
+
arrowDirectionRightEnd: "-right-[8px]",
|
|
1328
|
+
arrowDirectionBottomStart: "-bottom-[8px]",
|
|
1266
1329
|
arrowDirectionBottom: "-bottom-[8px]",
|
|
1330
|
+
arrowDirectionBottomEnd: "-bottom-[8px]",
|
|
1331
|
+
arrowDirectionTopStart: "-top-[8px]",
|
|
1267
1332
|
arrowDirectionTop: "-top-[8px]",
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1333
|
+
arrowDirectionTopEnd: "-top-[8px]",
|
|
1334
|
+
arrowTooltip: "s-bg-inverted border-[--w-s-color-background-inverted]",
|
|
1335
|
+
arrowCallout: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
|
|
1336
|
+
arrowPopover: "bg-[--w-s-color-surface-elevated-300] border-[--w-s-color-surface-elevated-300]",
|
|
1337
|
+
arrowHighlight: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
|
|
1272
1338
|
content: "last-child:mb-0",
|
|
1273
1339
|
notCallout: "absolute z-50",
|
|
1274
1340
|
closeBtn: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} justify-self-end -mr-8 ml-8`
|
|
@@ -1687,10 +1753,10 @@ async function useRecompute(state) {
|
|
|
1687
1753
|
}
|
|
1688
1754
|
}
|
|
1689
1755
|
|
|
1690
|
-
// node_modules/.pnpm/@lingui+core@4.7.
|
|
1756
|
+
// node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
|
|
1691
1757
|
var import_unraw = __toESM(require_dist(), 1);
|
|
1692
1758
|
|
|
1693
|
-
// node_modules/.pnpm/@lingui+message-utils@4.7.
|
|
1759
|
+
// node_modules/.pnpm/@lingui+message-utils@4.7.1/node_modules/@lingui/message-utils/dist/compileMessage.mjs
|
|
1694
1760
|
var import_parser = __toESM(require_parser(), 1);
|
|
1695
1761
|
function processTokens(tokens, mapText) {
|
|
1696
1762
|
if (!tokens.filter((token) => token.type !== "content").length) {
|
|
@@ -1740,7 +1806,7 @@ Message: ${message}`);
|
|
|
1740
1806
|
}
|
|
1741
1807
|
}
|
|
1742
1808
|
|
|
1743
|
-
// node_modules/.pnpm/@lingui+core@4.7.
|
|
1809
|
+
// node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
|
|
1744
1810
|
var isString = (s3) => typeof s3 === "string";
|
|
1745
1811
|
var isFunction = (f3) => typeof f3 === "function";
|
|
1746
1812
|
var cache = /* @__PURE__ */ new Map();
|
|
@@ -1792,6 +1858,7 @@ function cacheKey(type, locales, options) {
|
|
|
1792
1858
|
return `${type}-${localeKey}-${JSON.stringify(options)}`;
|
|
1793
1859
|
}
|
|
1794
1860
|
var UNICODE_REGEX = /\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/g;
|
|
1861
|
+
var OCTOTHORPE_PH = "%__lingui_octothorpe__%";
|
|
1795
1862
|
var getDefaultFormats = (locale, passedLocales, formats = {}) => {
|
|
1796
1863
|
const locales = passedLocales || locale;
|
|
1797
1864
|
const style = (format) => {
|
|
@@ -1800,7 +1867,7 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
|
|
|
1800
1867
|
const replaceOctothorpe = (value, message) => {
|
|
1801
1868
|
const numberFormat = Object.keys(formats).length ? style("number") : void 0;
|
|
1802
1869
|
const valueStr = number(locales, value, numberFormat);
|
|
1803
|
-
return message.replace("
|
|
1870
|
+
return message.replace(new RegExp(OCTOTHORPE_PH, "g"), valueStr);
|
|
1804
1871
|
};
|
|
1805
1872
|
return {
|
|
1806
1873
|
plural: (value, cases) => {
|
|
@@ -1815,43 +1882,53 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
|
|
|
1815
1882
|
},
|
|
1816
1883
|
select: selectFormatter,
|
|
1817
1884
|
number: (value, format) => number(locales, value, style(format)),
|
|
1818
|
-
date: (value, format) => date(locales, value, style(format))
|
|
1819
|
-
undefined: undefinedFormatter
|
|
1885
|
+
date: (value, format) => date(locales, value, style(format))
|
|
1820
1886
|
};
|
|
1821
1887
|
};
|
|
1822
1888
|
var selectFormatter = (value, rules) => {
|
|
1823
1889
|
var _a;
|
|
1824
1890
|
return (_a = rules[value]) != null ? _a : rules.other;
|
|
1825
1891
|
};
|
|
1826
|
-
var undefinedFormatter = (value) => value;
|
|
1827
1892
|
function interpolate(translation, locale, locales) {
|
|
1828
1893
|
return (values = {}, formats) => {
|
|
1829
1894
|
const formatters = getDefaultFormats(locale, locales, formats);
|
|
1830
|
-
const formatMessage = (
|
|
1831
|
-
if (!Array.isArray(
|
|
1832
|
-
return
|
|
1833
|
-
return
|
|
1834
|
-
if (
|
|
1835
|
-
return
|
|
1895
|
+
const formatMessage = (tokens) => {
|
|
1896
|
+
if (!Array.isArray(tokens))
|
|
1897
|
+
return tokens;
|
|
1898
|
+
return tokens.reduce((message, token) => {
|
|
1899
|
+
if (token === "#") {
|
|
1900
|
+
return message + OCTOTHORPE_PH;
|
|
1901
|
+
}
|
|
1902
|
+
if (isString(token)) {
|
|
1903
|
+
return message + token;
|
|
1904
|
+
}
|
|
1836
1905
|
const [name, type, format] = token;
|
|
1837
1906
|
let interpolatedFormat = {};
|
|
1838
|
-
if (
|
|
1839
|
-
Object.entries(format).forEach(
|
|
1840
|
-
|
|
1841
|
-
|
|
1907
|
+
if (type === "plural" || type === "selectordinal" || type === "select") {
|
|
1908
|
+
Object.entries(format).forEach(
|
|
1909
|
+
([key, value2]) => {
|
|
1910
|
+
interpolatedFormat[key] = formatMessage(value2);
|
|
1911
|
+
}
|
|
1912
|
+
);
|
|
1842
1913
|
} else {
|
|
1843
1914
|
interpolatedFormat = format;
|
|
1844
1915
|
}
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1916
|
+
let value;
|
|
1917
|
+
if (type) {
|
|
1918
|
+
const formatter = formatters[type];
|
|
1919
|
+
value = formatter(values[name], interpolatedFormat);
|
|
1920
|
+
} else {
|
|
1921
|
+
value = values[name];
|
|
1922
|
+
}
|
|
1923
|
+
if (value == null) {
|
|
1924
|
+
return message;
|
|
1925
|
+
}
|
|
1926
|
+
return message + value;
|
|
1850
1927
|
}, "");
|
|
1851
1928
|
};
|
|
1852
1929
|
const result = formatMessage(translation);
|
|
1853
1930
|
if (isString(result) && UNICODE_REGEX.test(result)) {
|
|
1854
|
-
return (0, import_unraw.
|
|
1931
|
+
return (0, import_unraw.unraw)(result.trim());
|
|
1855
1932
|
}
|
|
1856
1933
|
if (isString(result))
|
|
1857
1934
|
return result.trim();
|