@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
|
@@ -1029,26 +1029,27 @@ import { html as html3 } from "lit";
|
|
|
1029
1029
|
import WarpElement from "@warp-ds/elements-core";
|
|
1030
1030
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
1031
1031
|
|
|
1032
|
-
// node_modules/.pnpm/@warp-ds+css@1.
|
|
1032
|
+
// node_modules/.pnpm/@warp-ds+css@1.9.1/node_modules/@warp-ds/css/component-classes/index.js
|
|
1033
1033
|
var box = {
|
|
1034
1034
|
box: "group block relative break-words last-child:mb-0 p-16 rounded-8",
|
|
1035
1035
|
// Relative here enables w-clickable
|
|
1036
1036
|
bleed: "-mx-16 sm:mx-0 rounded-l-0 rounded-r-0 sm:rounded-8",
|
|
1037
1037
|
// We target L and R to override the default rounded-8
|
|
1038
|
-
info: "
|
|
1039
|
-
neutral: "
|
|
1040
|
-
bordered: "border-2
|
|
1041
|
-
infoClickable: "hover:
|
|
1042
|
-
neutralClickable: "hover:
|
|
1043
|
-
borderedClickable: "hover:
|
|
1038
|
+
info: "s-bg-info-subtle",
|
|
1039
|
+
neutral: "bg-[--w-s-color-surface-sunken]",
|
|
1040
|
+
bordered: "border-2 s-border s-bg",
|
|
1041
|
+
infoClickable: "hover:s-bg-info-subtle-hover active:s-bg-info-subtle-hover",
|
|
1042
|
+
neutralClickable: "hover:s-bg-subtle-hover active:s-bg-subtle-hover",
|
|
1043
|
+
borderedClickable: "hover:s-bg-hover active:s-bg-hover hover:s-border-hover active:s-border-hover"
|
|
1044
1044
|
};
|
|
1045
1045
|
var buttonReset = "focus:outline-none appearance-none cursor-pointer bg-transparent border-0 m-0 p-0 inline-block";
|
|
1046
1046
|
var expandable = {
|
|
1047
1047
|
expandable: "will-change-height",
|
|
1048
|
-
expandableTitle: "font-bold
|
|
1049
|
-
expandableBox: "
|
|
1048
|
+
expandableTitle: "font-bold s-text",
|
|
1049
|
+
expandableBox: "s-bg-subtle hover:s-bg-subtle-hover py-0 px-0 " + box.box,
|
|
1050
|
+
expandableInfo: "s-bg-info-subtle! hover:s-bg-info-subtle-hover!",
|
|
1050
1051
|
expandableBleed: box.bleed,
|
|
1051
|
-
chevron: "inline-block align-middle
|
|
1052
|
+
chevron: "inline-block align-middle s-icon",
|
|
1052
1053
|
chevronNonBox: "ml-8",
|
|
1053
1054
|
chevronBox: "",
|
|
1054
1055
|
chevronTransform: "transform transition-transform transform-gpu ease-in-out",
|
|
@@ -1068,17 +1069,17 @@ var expandable = {
|
|
|
1068
1069
|
};
|
|
1069
1070
|
var buttonDefaultStyling = "font-bold focusable justify-center transition-colors ease-in-out";
|
|
1070
1071
|
var buttonColors = {
|
|
1071
|
-
primary: "
|
|
1072
|
-
secondary: "
|
|
1073
|
-
utility: "
|
|
1074
|
-
destructive: "
|
|
1075
|
-
pill: "
|
|
1076
|
-
disabled: "
|
|
1077
|
-
quiet: "
|
|
1078
|
-
utilityQuiet: "
|
|
1079
|
-
negativeQuiet: "
|
|
1080
|
-
loading: "
|
|
1081
|
-
link: "
|
|
1072
|
+
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]",
|
|
1073
|
+
secondary: "s-text-link s-border s-bg hover:s-bg-hover hover:s-border-hover active:s-bg-active",
|
|
1074
|
+
utility: "s-text s-bg hover:s-bg-hover active:s-bg-active s-border hover:s-border-hover active:s-border-active",
|
|
1075
|
+
destructive: "s-bg-negative s-text-inverted hover:s-bg-negative-hover active:s-bg-negative-active",
|
|
1076
|
+
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]",
|
|
1077
|
+
disabled: "s-text-inverted s-bg-disabled",
|
|
1078
|
+
quiet: "bg-transparent s-text-link hover:s-bg-hover active:s-bg-active",
|
|
1079
|
+
utilityQuiet: "s-text bg-transparent hover:s-bg-hover active:s-bg-active",
|
|
1080
|
+
negativeQuiet: "bg-transparent s-text-negative hover:s-bg-negative-subtle-hover active:s-bg-negative-subtle-active",
|
|
1081
|
+
loading: "s-text s-bg-subtle",
|
|
1082
|
+
link: "s-text-link"
|
|
1082
1083
|
};
|
|
1083
1084
|
var buttonTypes = {
|
|
1084
1085
|
primary: `border-0 rounded-8 ${buttonDefaultStyling}`,
|
|
@@ -1182,10 +1183,10 @@ var button = {
|
|
|
1182
1183
|
contentWidth: "max-w-max"
|
|
1183
1184
|
};
|
|
1184
1185
|
var modal = {
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
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]",
|
|
1188
|
-
modal: "pb-safe-[32]
|
|
1186
|
+
transparentBg: "",
|
|
1187
|
+
//TODO: Remove in v2 - previously used for opacity before changing to a rgba background in backdrop
|
|
1188
|
+
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]",
|
|
1189
|
+
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",
|
|
1189
1190
|
content: "block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",
|
|
1190
1191
|
footer: "flex justify-end shrink-0 px-16 sm:px-32",
|
|
1191
1192
|
transitionTitle: "transition-all duration-300",
|
|
@@ -1200,22 +1201,79 @@ var modal = {
|
|
|
1200
1201
|
titleButtonIconRotated: "transform rotate-90"
|
|
1201
1202
|
};
|
|
1202
1203
|
var label = {
|
|
1203
|
-
label: "antialiased block relative text-s font-bold pb-4 cursor-pointer
|
|
1204
|
-
|
|
1205
|
-
|
|
1204
|
+
label: "antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",
|
|
1205
|
+
optional: "pl-8 font-normal text-s s-text-subtle",
|
|
1206
|
+
labelInvalid: "s-text-negative"
|
|
1207
|
+
// TODO: Remove in v2 - kept for backwards compatibility
|
|
1206
1208
|
};
|
|
1207
|
-
var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable focus:[--w-outline-offset:-2px] bg-transparent ";
|
|
1209
|
+
var prefixSuffixWrapperBase = "absolute top-0 bottom-0 flex justify-center items-center focusable rounded-4 focus:[--w-outline-offset:-2px] bg-transparent ";
|
|
1208
1210
|
var suffix = {
|
|
1209
1211
|
wrapper: prefixSuffixWrapperBase + "right-0",
|
|
1210
1212
|
wrapperWithLabel: "w-max pr-12",
|
|
1211
1213
|
wrapperWithIcon: "w-40",
|
|
1212
|
-
label: "antialiased block relative cursor-default pb-0 font-bold text-xs
|
|
1214
|
+
label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
|
|
1213
1215
|
};
|
|
1214
1216
|
var prefix = {
|
|
1215
1217
|
wrapper: prefixSuffixWrapperBase + "left-0",
|
|
1216
1218
|
wrapperWithLabel: "w-max pl-12",
|
|
1217
1219
|
wrapperWithIcon: "w-40",
|
|
1218
|
-
label: "antialiased block relative cursor-default pb-0 font-bold text-xs
|
|
1220
|
+
label: "antialiased block relative cursor-default pb-0 font-bold text-xs s-text"
|
|
1221
|
+
};
|
|
1222
|
+
var toggle = {
|
|
1223
|
+
// wrapper classes
|
|
1224
|
+
field: "relative text-m",
|
|
1225
|
+
// true
|
|
1226
|
+
wrapper: "relative py-1",
|
|
1227
|
+
// true
|
|
1228
|
+
wrapperRadioButtons: "inline-flex font-bold rounded-8 focus-within:focusable",
|
|
1229
|
+
// isRadioButton && !isEqualWidth
|
|
1230
|
+
wrapperRadioButtonsJustified: "flex font-bold rounded-8 focus-within:focusable",
|
|
1231
|
+
// isRadioButton && isEqualWidth,
|
|
1232
|
+
// group classes
|
|
1233
|
+
radioButtonsGroup: "group",
|
|
1234
|
+
// isRadioButton
|
|
1235
|
+
radioButtonsGroupJustified: "grow-1 shrink-0 basis-auto",
|
|
1236
|
+
// isRadioButton && isEqualWidth
|
|
1237
|
+
// input classes
|
|
1238
|
+
input: "peer",
|
|
1239
|
+
a11y: "sr-only",
|
|
1240
|
+
// label classes
|
|
1241
|
+
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",
|
|
1242
|
+
// !isRadioButton
|
|
1243
|
+
labelBefore: 'before:content-[""] before:block',
|
|
1244
|
+
// !isRadioButton && !isIndeterminate
|
|
1245
|
+
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",
|
|
1246
|
+
// isCheckbox && !isIndeterminate && !isInvalid && !isDisabled
|
|
1247
|
+
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",
|
|
1248
|
+
// isCheckbox && !isIndeterminate && isInvalid && !isDisabled
|
|
1249
|
+
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",
|
|
1250
|
+
// isCheckbox && !isIndeterminate && !isInvalid && isDisabled
|
|
1251
|
+
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',
|
|
1252
|
+
// isCheckbox && isIndeterminate && !isInvalid && !isDisabled
|
|
1253
|
+
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',
|
|
1254
|
+
// isCheckbox && isIndeterminate && isInvalid && !isDisabled
|
|
1255
|
+
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',
|
|
1256
|
+
// isCheckbox && isIndeterminate && !isInvalid && isDisabled
|
|
1257
|
+
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",
|
|
1258
|
+
// isRadio && !isDisabled && !isInvalid
|
|
1259
|
+
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",
|
|
1260
|
+
// isRadio && isInvalid && !isDisabled
|
|
1261
|
+
radioDisabled: "before:s-bg-disabled-subtle before:s-border-disabled pointer-events-none before:rounded-full peer-checked:before:border-[6]",
|
|
1262
|
+
// isRadio && !isInvalid && isDisabled
|
|
1263
|
+
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",
|
|
1264
|
+
// isRadioButtons
|
|
1265
|
+
radioButtonsRegular: "text-s py-8 pl-12 pr-14",
|
|
1266
|
+
// isRadioButtons && !isSmall
|
|
1267
|
+
radioButtonsSmall: "text-xs py-[5px] px-[8px]"
|
|
1268
|
+
// isRadioButtons && isSmall
|
|
1269
|
+
};
|
|
1270
|
+
var deadToggle = {
|
|
1271
|
+
wrapper: `${toggle.wrapper} h-20 w-20 pointer-events-none`,
|
|
1272
|
+
input: `${toggle.input} hidden`,
|
|
1273
|
+
inputVue: "hidden",
|
|
1274
|
+
labelRadio: `${toggle.label} ${toggle.labelBefore} ${toggle.radio}`,
|
|
1275
|
+
labelCheckbox: `${toggle.label} ${toggle.labelBefore} ${toggle.checkbox}`,
|
|
1276
|
+
labelVue: "-mt-2"
|
|
1219
1277
|
};
|
|
1220
1278
|
var clickable = {
|
|
1221
1279
|
toggle: "absolute inset-0 h-full w-full appearance-none cursor-pointer focusable focusable-inset",
|
|
@@ -1225,19 +1283,27 @@ var clickable = {
|
|
|
1225
1283
|
};
|
|
1226
1284
|
var attention = {
|
|
1227
1285
|
base: "border-2 relative flex items-start",
|
|
1228
|
-
tooltip: "
|
|
1229
|
-
callout: "
|
|
1230
|
-
highlight: "
|
|
1231
|
-
popover: "
|
|
1286
|
+
tooltip: "s-bg-inverted border-[--w-s-color-background-inverted] shadow-m s-text-inverted-static rounded-4 py-6 px-8",
|
|
1287
|
+
callout: "bg-[--w-color-callout-background] border-[--w-color-callout-border] s-text py-8 px-16 rounded-8",
|
|
1288
|
+
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",
|
|
1289
|
+
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",
|
|
1232
1290
|
arrowBase: "absolute h-[14px] w-[14px] border-2 border-b-0 border-r-0 rounded-tl-4 transform",
|
|
1291
|
+
arrowDirectionLeftStart: "-left-[8px]",
|
|
1233
1292
|
arrowDirectionLeft: "-left-[8px]",
|
|
1293
|
+
arrowDirectionLeftEnd: "-left-[8px]",
|
|
1294
|
+
arrowDirectionRightStart: "-right-[8px]",
|
|
1234
1295
|
arrowDirectionRight: "-right-[8px]",
|
|
1296
|
+
arrowDirectionRightEnd: "-right-[8px]",
|
|
1297
|
+
arrowDirectionBottomStart: "-bottom-[8px]",
|
|
1235
1298
|
arrowDirectionBottom: "-bottom-[8px]",
|
|
1299
|
+
arrowDirectionBottomEnd: "-bottom-[8px]",
|
|
1300
|
+
arrowDirectionTopStart: "-top-[8px]",
|
|
1236
1301
|
arrowDirectionTop: "-top-[8px]",
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1302
|
+
arrowDirectionTopEnd: "-top-[8px]",
|
|
1303
|
+
arrowTooltip: "s-bg-inverted border-[--w-s-color-background-inverted]",
|
|
1304
|
+
arrowCallout: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
|
|
1305
|
+
arrowPopover: "bg-[--w-s-color-surface-elevated-300] border-[--w-s-color-surface-elevated-300]",
|
|
1306
|
+
arrowHighlight: "bg-[--w-color-callout-background] border-[--w-color-callout-border]",
|
|
1241
1307
|
content: "last-child:mb-0",
|
|
1242
1308
|
notCallout: "absolute z-50",
|
|
1243
1309
|
closeBtn: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} justify-self-end -mr-8 ml-8`
|
|
@@ -1247,10 +1313,10 @@ var attention = {
|
|
|
1247
1313
|
import { LitElement } from "lit";
|
|
1248
1314
|
import { unsafeStatic, html } from "lit/static-html.js";
|
|
1249
1315
|
|
|
1250
|
-
// node_modules/.pnpm/@lingui+core@4.7.
|
|
1316
|
+
// node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
|
|
1251
1317
|
var import_unraw = __toESM(require_dist(), 1);
|
|
1252
1318
|
|
|
1253
|
-
// node_modules/.pnpm/@lingui+message-utils@4.7.
|
|
1319
|
+
// node_modules/.pnpm/@lingui+message-utils@4.7.1/node_modules/@lingui/message-utils/dist/compileMessage.mjs
|
|
1254
1320
|
var import_parser = __toESM(require_parser(), 1);
|
|
1255
1321
|
function processTokens(tokens, mapText) {
|
|
1256
1322
|
if (!tokens.filter((token) => token.type !== "content").length) {
|
|
@@ -1300,7 +1366,7 @@ Message: ${message}`);
|
|
|
1300
1366
|
}
|
|
1301
1367
|
}
|
|
1302
1368
|
|
|
1303
|
-
// node_modules/.pnpm/@lingui+core@4.7.
|
|
1369
|
+
// node_modules/.pnpm/@lingui+core@4.7.1/node_modules/@lingui/core/dist/index.mjs
|
|
1304
1370
|
var isString = (s) => typeof s === "string";
|
|
1305
1371
|
var isFunction = (f) => typeof f === "function";
|
|
1306
1372
|
var cache = /* @__PURE__ */ new Map();
|
|
@@ -1352,6 +1418,7 @@ function cacheKey(type, locales, options) {
|
|
|
1352
1418
|
return `${type}-${localeKey}-${JSON.stringify(options)}`;
|
|
1353
1419
|
}
|
|
1354
1420
|
var UNICODE_REGEX = /\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/g;
|
|
1421
|
+
var OCTOTHORPE_PH = "%__lingui_octothorpe__%";
|
|
1355
1422
|
var getDefaultFormats = (locale, passedLocales, formats = {}) => {
|
|
1356
1423
|
const locales = passedLocales || locale;
|
|
1357
1424
|
const style = (format) => {
|
|
@@ -1360,7 +1427,7 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
|
|
|
1360
1427
|
const replaceOctothorpe = (value, message) => {
|
|
1361
1428
|
const numberFormat = Object.keys(formats).length ? style("number") : void 0;
|
|
1362
1429
|
const valueStr = number(locales, value, numberFormat);
|
|
1363
|
-
return message.replace("
|
|
1430
|
+
return message.replace(new RegExp(OCTOTHORPE_PH, "g"), valueStr);
|
|
1364
1431
|
};
|
|
1365
1432
|
return {
|
|
1366
1433
|
plural: (value, cases) => {
|
|
@@ -1375,43 +1442,53 @@ var getDefaultFormats = (locale, passedLocales, formats = {}) => {
|
|
|
1375
1442
|
},
|
|
1376
1443
|
select: selectFormatter,
|
|
1377
1444
|
number: (value, format) => number(locales, value, style(format)),
|
|
1378
|
-
date: (value, format) => date(locales, value, style(format))
|
|
1379
|
-
undefined: undefinedFormatter
|
|
1445
|
+
date: (value, format) => date(locales, value, style(format))
|
|
1380
1446
|
};
|
|
1381
1447
|
};
|
|
1382
1448
|
var selectFormatter = (value, rules) => {
|
|
1383
1449
|
var _a;
|
|
1384
1450
|
return (_a = rules[value]) != null ? _a : rules.other;
|
|
1385
1451
|
};
|
|
1386
|
-
var undefinedFormatter = (value) => value;
|
|
1387
1452
|
function interpolate(translation, locale, locales) {
|
|
1388
1453
|
return (values = {}, formats) => {
|
|
1389
1454
|
const formatters = getDefaultFormats(locale, locales, formats);
|
|
1390
|
-
const formatMessage = (
|
|
1391
|
-
if (!Array.isArray(
|
|
1392
|
-
return
|
|
1393
|
-
return
|
|
1394
|
-
if (
|
|
1395
|
-
return
|
|
1455
|
+
const formatMessage = (tokens) => {
|
|
1456
|
+
if (!Array.isArray(tokens))
|
|
1457
|
+
return tokens;
|
|
1458
|
+
return tokens.reduce((message, token) => {
|
|
1459
|
+
if (token === "#") {
|
|
1460
|
+
return message + OCTOTHORPE_PH;
|
|
1461
|
+
}
|
|
1462
|
+
if (isString(token)) {
|
|
1463
|
+
return message + token;
|
|
1464
|
+
}
|
|
1396
1465
|
const [name, type, format] = token;
|
|
1397
1466
|
let interpolatedFormat = {};
|
|
1398
|
-
if (
|
|
1399
|
-
Object.entries(format).forEach(
|
|
1400
|
-
|
|
1401
|
-
|
|
1467
|
+
if (type === "plural" || type === "selectordinal" || type === "select") {
|
|
1468
|
+
Object.entries(format).forEach(
|
|
1469
|
+
([key, value2]) => {
|
|
1470
|
+
interpolatedFormat[key] = formatMessage(value2);
|
|
1471
|
+
}
|
|
1472
|
+
);
|
|
1402
1473
|
} else {
|
|
1403
1474
|
interpolatedFormat = format;
|
|
1404
1475
|
}
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1476
|
+
let value;
|
|
1477
|
+
if (type) {
|
|
1478
|
+
const formatter = formatters[type];
|
|
1479
|
+
value = formatter(values[name], interpolatedFormat);
|
|
1480
|
+
} else {
|
|
1481
|
+
value = values[name];
|
|
1482
|
+
}
|
|
1483
|
+
if (value == null) {
|
|
1484
|
+
return message;
|
|
1485
|
+
}
|
|
1486
|
+
return message + value;
|
|
1410
1487
|
}, "");
|
|
1411
1488
|
};
|
|
1412
1489
|
const result = formatMessage(translation);
|
|
1413
1490
|
if (isString(result) && UNICODE_REGEX.test(result)) {
|
|
1414
|
-
return (0, import_unraw.
|
|
1491
|
+
return (0, import_unraw.unraw)(result.trim());
|
|
1415
1492
|
}
|
|
1416
1493
|
if (isString(result))
|
|
1417
1494
|
return result.trim();
|