@butternutbox/pawprint-native 0.14.0 → 0.15.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/dist/index.js CHANGED
@@ -188,7 +188,10 @@ var VARIANT_DEFAULTS = {
188
188
  heading: { size: "md" },
189
189
  display: { size: "lg" }
190
190
  };
191
- var StyledText = styled51(Text)({});
191
+ var StyledText = styled51(Text)({
192
+ includeFontPadding: false,
193
+ textAlignVertical: "center"
194
+ });
192
195
  var Typography = React66.forwardRef(
193
196
  (props, ref) => {
194
197
  const theme2 = useTheme();
@@ -8873,6 +8876,16 @@ var { dimensions } = semantics;
8873
8876
  var parseSize = (value) => {
8874
8877
  return parseInt(value.replace("px", ""), 10);
8875
8878
  };
8879
+ var resolveTypography = (typography) => {
8880
+ var _a, _b;
8881
+ const { fontFamily } = resolveFont(
8882
+ typography.fontFamily,
8883
+ typography.fontWeight
8884
+ );
8885
+ const fontSize = parseSize(typography.fontSize);
8886
+ const letterSpacing = ((_a = typography.letterSpacing) == null ? void 0 : _a.endsWith("%")) ? parseFloat(typography.letterSpacing) / 100 * fontSize : parseFloat((_b = typography.letterSpacing) != null ? _b : "0");
8887
+ return { fontFamily, fontSize, letterSpacing };
8888
+ };
8876
8889
  var Wrapper = styled51(View)({
8877
8890
  borderWidth: parseSize(inputTokens.borderWidth.field.selected),
8878
8891
  borderColor: inputTokens.colour.field.border.selected,
@@ -8890,18 +8903,16 @@ var SelectIcon = styled51(Animated10.View)({
8890
8903
  right: 0,
8891
8904
  marginRight: 0
8892
8905
  });
8893
- var InputText2 = styled51(Text)({
8894
- color: inputTokens.colour.field.text.default,
8895
- fontSize: parseSize(inputTokens.field.placeholder.default.fontSize),
8896
- fontWeight: inputTokens.field.placeholder.default.fontWeight,
8906
+ var InputText2 = styled51(Text)(__spreadProps(__spreadValues({
8907
+ color: inputTokens.colour.field.text.default
8908
+ }, resolveTypography(inputTokens.field.placeholder.default)), {
8897
8909
  flex: 1
8898
- });
8899
- var PlaceholderText = styled51(Text)({
8900
- color: inputTokens.colour.field.text.placeholder,
8901
- fontSize: parseSize(inputTokens.field.placeholder.default.fontSize),
8902
- fontWeight: inputTokens.field.placeholder.default.fontWeight,
8910
+ }));
8911
+ var PlaceholderText = styled51(Text)(__spreadProps(__spreadValues({
8912
+ color: inputTokens.colour.field.text.placeholder
8913
+ }, resolveTypography(inputTokens.field.placeholder.default)), {
8903
8914
  flex: 1
8904
- });
8915
+ }));
8905
8916
  var ModalOverlay = styled51(View)({
8906
8917
  flex: 1,
8907
8918
  backgroundColor: "rgba(0, 0, 0, 0.32)",
@@ -8917,13 +8928,11 @@ var AndroidDialog = styled51(View)({
8917
8928
  paddingBottom: parseSize(dimensions.spacing.xl),
8918
8929
  paddingHorizontal: parseSize(dimensions.spacing.md)
8919
8930
  });
8920
- var DialogTitle = styled51(Text)({
8921
- fontSize: parseSize(inputTokens.field.placeholder.default.fontSize),
8922
- fontWeight: inputTokens.text.label.fontWeight,
8931
+ var DialogTitle = styled51(Text)(__spreadProps(__spreadValues({}, resolveTypography(inputTokens.text.label)), {
8923
8932
  color: inputTokens.colour.field.text.default,
8924
8933
  marginBottom: parseSize(dimensions.spacing.md),
8925
8934
  marginLeft: parseSize(dimensions.spacing.xs)
8926
- });
8935
+ }));
8927
8936
  var AndroidOptionRow = styled51(View)({
8928
8937
  flexDirection: "row",
8929
8938
  alignItems: "center",
@@ -8949,9 +8958,9 @@ var RadioInner = styled51(View)({
8949
8958
  backgroundColor: inputTokens.colour.field.border.selected
8950
8959
  });
8951
8960
  var AndroidOptionText = styled51(Text)(
8952
- ({ isSelected }) => ({
8953
- fontSize: parseSize(inputTokens.field.placeholder.default.fontSize),
8954
- fontWeight: isSelected ? inputTokens.text.label.fontWeight : inputTokens.field.placeholder.default.fontWeight,
8961
+ ({ isSelected }) => __spreadProps(__spreadValues({}, resolveTypography(
8962
+ isSelected ? inputTokens.text.label : inputTokens.field.placeholder.default
8963
+ )), {
8955
8964
  color: inputTokens.colour.field.text.default,
8956
8965
  flex: 1
8957
8966
  })
@@ -10148,6 +10157,128 @@ var Tooltip = React66.forwardRef(
10148
10157
  );
10149
10158
  Tooltip.displayName = "Tooltip";
10150
10159
  var parseTokenValue53 = (value) => parseFloat(value);
10160
+ var Row = styled51(Pressable)(({ theme: theme2, divider }) => {
10161
+ const { spacing } = theme2.tokens.semantics.dimensions;
10162
+ const { colour } = theme2.tokens.semantics;
10163
+ return {
10164
+ width: "100%",
10165
+ alignItems: "center",
10166
+ justifyContent: "center",
10167
+ paddingVertical: parseTokenValue53(spacing.md),
10168
+ paddingHorizontal: parseTokenValue53(spacing.md),
10169
+ borderBottomWidth: divider ? 1 : 0,
10170
+ borderBottomColor: colour.border.divider
10171
+ };
10172
+ });
10173
+ var MenuItem = React66.forwardRef((_a, ref) => {
10174
+ var _b = _a, { variant = "action", onPress, children, divider = true } = _b, rest = __objRest(_b, ["variant", "onPress", "children", "divider"]);
10175
+ const theme2 = useTheme();
10176
+ const { colour, typography } = theme2.tokens.semantics;
10177
+ const labelColour = variant === "destructive" ? colour.text.error : colour.text.action.default;
10178
+ const label = typeof children === "string" || typeof children === "number" ? String(children) : void 0;
10179
+ return /* @__PURE__ */ jsx(
10180
+ Row,
10181
+ __spreadProps(__spreadValues({
10182
+ ref,
10183
+ divider,
10184
+ onPress,
10185
+ accessible: true,
10186
+ accessibilityRole: "menuitem",
10187
+ accessibilityLabel: label
10188
+ }, rest), {
10189
+ children: label !== void 0 ? /* @__PURE__ */ jsx(
10190
+ Typography,
10191
+ {
10192
+ token: typography.body.medium.md,
10193
+ align: "center",
10194
+ color: labelColour,
10195
+ children: label
10196
+ }
10197
+ ) : children
10198
+ })
10199
+ );
10200
+ });
10201
+ MenuItem.displayName = "Menu.Item";
10202
+ var parseTokenValue54 = (value) => parseFloat(value);
10203
+ var DismissLayer = styled51(Pressable)({
10204
+ position: "absolute",
10205
+ top: 0,
10206
+ left: 0,
10207
+ right: 0,
10208
+ bottom: 0
10209
+ });
10210
+ var Anchor = styled51(View)(({ theme: theme2, align }) => {
10211
+ const inset = parseTokenValue54(theme2.tokens.semantics.dimensions.spacing.md);
10212
+ return __spreadValues({
10213
+ position: "absolute"
10214
+ }, align === "right" ? { right: inset } : { left: inset });
10215
+ });
10216
+ var Card = styled51(Pressable)(({ theme: theme2, width }) => {
10217
+ const { borderRadius } = theme2.tokens.semantics.dimensions;
10218
+ const { shadow, background } = theme2.tokens.semantics.colour;
10219
+ return {
10220
+ width,
10221
+ maxWidth: "90%",
10222
+ borderRadius: parseTokenValue54(borderRadius.md),
10223
+ overflow: "hidden",
10224
+ backgroundColor: background.surface.default,
10225
+ // Shadow token colour carries its own alpha, so opacity stays at 1.
10226
+ shadowColor: shadow.md.color,
10227
+ shadowOffset: {
10228
+ width: parseTokenValue54(shadow.md.offsetX),
10229
+ height: parseTokenValue54(shadow.md.offsetY)
10230
+ },
10231
+ shadowOpacity: 1,
10232
+ shadowRadius: parseTokenValue54(shadow.md.blur),
10233
+ elevation: 8
10234
+ };
10235
+ });
10236
+ var MenuRoot = ({
10237
+ open,
10238
+ onClose,
10239
+ anchorOffset = 0,
10240
+ align = "right",
10241
+ width = 360,
10242
+ closeAccessibilityLabel = "Close menu",
10243
+ children
10244
+ }) => {
10245
+ return /* @__PURE__ */ jsxs(
10246
+ Modal,
10247
+ {
10248
+ visible: open,
10249
+ transparent: true,
10250
+ statusBarTranslucent: true,
10251
+ animationType: "fade",
10252
+ onRequestClose: onClose,
10253
+ children: [
10254
+ /* @__PURE__ */ jsx(
10255
+ DismissLayer,
10256
+ {
10257
+ onPress: onClose,
10258
+ accessible: false,
10259
+ accessibilityLabel: closeAccessibilityLabel
10260
+ }
10261
+ ),
10262
+ /* @__PURE__ */ jsx(Anchor, { align, style: { top: anchorOffset }, children: /* @__PURE__ */ jsx(
10263
+ Card,
10264
+ {
10265
+ width,
10266
+ onPress: () => {
10267
+ },
10268
+ accessible: false,
10269
+ accessibilityRole: "menu",
10270
+ children
10271
+ }
10272
+ ) })
10273
+ ]
10274
+ }
10275
+ );
10276
+ };
10277
+ MenuRoot.displayName = "Menu";
10278
+ var Menu2 = Object.assign(MenuRoot, {
10279
+ Item: MenuItem
10280
+ });
10281
+ var parseTokenValue55 = (value) => parseFloat(value);
10151
10282
  var StyledInsightRoot = styled51(View)(
10152
10283
  ({
10153
10284
  rootGap,
@@ -10192,26 +10323,26 @@ var MessageCardInsight = React66.forwardRef(
10192
10323
  const isSupporting = variant === "supporting";
10193
10324
  const supporting = insightCard.spacing.supporting;
10194
10325
  const standalone = insightCard.spacing.standalone;
10195
- const radiusStandalone = parseTokenValue53(
10326
+ const radiusStandalone = parseTokenValue55(
10196
10327
  insightCard.borderRadius.standalone.default
10197
10328
  );
10198
- const radiusSupporting = parseTokenValue53(
10329
+ const radiusSupporting = parseTokenValue55(
10199
10330
  insightCard.borderRadius.supporting.bottom
10200
10331
  );
10201
10332
  return /* @__PURE__ */ jsxs(
10202
10333
  StyledInsightRoot,
10203
10334
  __spreadProps(__spreadValues({
10204
10335
  ref,
10205
- rootGap: parseTokenValue53(
10336
+ rootGap: parseTokenValue55(
10206
10337
  isSupporting ? supporting.gap : standalone.gap
10207
10338
  ),
10208
- rootPaddingH: parseTokenValue53(
10339
+ rootPaddingH: parseTokenValue55(
10209
10340
  isSupporting ? semanticSpacing.md : standalone.horizontalPadding
10210
10341
  ),
10211
- rootPaddingTop: parseTokenValue53(
10342
+ rootPaddingTop: parseTokenValue55(
10212
10343
  isSupporting ? supporting.topPadding : standalone.verticalPadding
10213
10344
  ),
10214
- rootPaddingBottom: parseTokenValue53(
10345
+ rootPaddingBottom: parseTokenValue55(
10215
10346
  isSupporting ? supporting.bottomPadding : standalone.verticalPadding
10216
10347
  ),
10217
10348
  rootBorderTopLeftRadius: isSupporting ? 0 : radiusStandalone,
@@ -10219,7 +10350,7 @@ var MessageCardInsight = React66.forwardRef(
10219
10350
  rootBorderBottomLeftRadius: isSupporting ? radiusSupporting : radiusStandalone,
10220
10351
  rootBorderBottomRightRadius: isSupporting ? radiusSupporting : radiusStandalone,
10221
10352
  rootBgColor: insightCard.colour.background.default,
10222
- rootMinWidth: parseTokenValue53(insightCard.size.minWidth),
10353
+ rootMinWidth: parseTokenValue55(insightCard.size.minWidth),
10223
10354
  accessible: true,
10224
10355
  accessibilityRole: "summary"
10225
10356
  }, rest), {
@@ -10228,7 +10359,7 @@ var MessageCardInsight = React66.forwardRef(
10228
10359
  /* @__PURE__ */ jsxs(
10229
10360
  StyledInsightContent,
10230
10361
  {
10231
- contentGap: parseTokenValue53(standalone.content.gap),
10362
+ contentGap: parseTokenValue55(standalone.content.gap),
10232
10363
  children: [
10233
10364
  title && /* @__PURE__ */ jsx(
10234
10365
  Typography,
@@ -10320,9 +10451,9 @@ var MessageCardBanner = React66.forwardRef(
10320
10451
  StyledBannerRoot,
10321
10452
  __spreadProps(__spreadValues({
10322
10453
  ref,
10323
- rootGap: parseTokenValue53(dimensions3.spacing.md),
10324
- rootPadding: parseTokenValue53(dimensions3.spacing.md),
10325
- rootBorderRadius: parseTokenValue53(dimensions3.borderRadius.md),
10454
+ rootGap: parseTokenValue55(dimensions3.spacing.md),
10455
+ rootPadding: parseTokenValue55(dimensions3.spacing.md),
10456
+ rootBorderRadius: parseTokenValue55(dimensions3.borderRadius.md),
10326
10457
  rootBgColor: bgColor,
10327
10458
  accessible: true,
10328
10459
  accessibilityRole: "summary"
@@ -10334,7 +10465,7 @@ var MessageCardBanner = React66.forwardRef(
10334
10465
  }) }) : (media == null ? void 0 : media.type) === "image" ? /* @__PURE__ */ jsx(
10335
10466
  StyledBannerImage,
10336
10467
  {
10337
- imageRadius: parseTokenValue53(dimensions3.borderRadius.sm),
10468
+ imageRadius: parseTokenValue55(dimensions3.borderRadius.sm),
10338
10469
  imageBgColor: colour.background.surface.secondary,
10339
10470
  children: /* @__PURE__ */ jsx(
10340
10471
  Image,
@@ -10350,12 +10481,12 @@ var MessageCardBanner = React66.forwardRef(
10350
10481
  /* @__PURE__ */ jsxs(
10351
10482
  StyledBannerContents,
10352
10483
  {
10353
- contentsGap: parseTokenValue53(dimensions3.spacing.xs),
10484
+ contentsGap: parseTokenValue55(dimensions3.spacing.xs),
10354
10485
  children: [
10355
10486
  /* @__PURE__ */ jsxs(
10356
10487
  StyledBannerCopy,
10357
10488
  {
10358
- copyGap: parseTokenValue53(dimensions3.spacing["3xs"]),
10489
+ copyGap: parseTokenValue55(dimensions3.spacing["3xs"]),
10359
10490
  children: [
10360
10491
  title && /* @__PURE__ */ jsx(Typography, { variant: "heading", size: "xs", color: "primary", children: title }),
10361
10492
  /* @__PURE__ */ jsx(Typography, { variant: "body", size: "md", color: "secondary", children })
@@ -10386,7 +10517,7 @@ var MessageCard = {
10386
10517
  Insight: MessageCardInsight,
10387
10518
  Banner: MessageCardBanner
10388
10519
  };
10389
- var parseTokenValue54 = (value) => parseFloat(value);
10520
+ var parseTokenValue56 = (value) => parseFloat(value);
10390
10521
  var slideEaseOut = Easing$1.out(Easing$1.quad);
10391
10522
  var MONTH_SLIDE_ENTERING = {
10392
10523
  forward: FadeInRight.duration(250).easing(slideEaseOut),
@@ -10547,17 +10678,17 @@ var DatePicker = React66.forwardRef(
10547
10678
  } = useMemo(
10548
10679
  () => ({
10549
10680
  // Gap between the week-day header and the month header.
10550
- weekGap: parseTokenValue54(datePicker.spacing.gap),
10681
+ weekGap: parseTokenValue56(datePicker.spacing.gap),
10551
10682
  // Gap between the month header and the dates grid.
10552
- datesGap: parseTokenValue54(theme2.tokens.semantics.dimensions.spacing.md),
10553
- containerMaxWidth: parseTokenValue54(dt.size.width) * 7,
10554
- headerGap: parseTokenValue54(datePicker.month.spacing.gap),
10555
- cellHeight: parseTokenValue54(dt.size.height),
10556
- indicatorSize: parseTokenValue54(dt.size.indicator),
10557
- indicatorBorderRadius: parseTokenValue54(dt.borderRadius.indicator),
10558
- selectedBorderWidth: parseTokenValue54(dt.borderWidth.indicator.selected),
10559
- disabledOpacity: parseTokenValue54(dt.opacity.disabled),
10560
- rowGap: parseTokenValue54(datePicker.dates.spacing.gap)
10683
+ datesGap: parseTokenValue56(theme2.tokens.semantics.dimensions.spacing.md),
10684
+ containerMaxWidth: parseTokenValue56(dt.size.width) * 7,
10685
+ headerGap: parseTokenValue56(datePicker.month.spacing.gap),
10686
+ cellHeight: parseTokenValue56(dt.size.height),
10687
+ indicatorSize: parseTokenValue56(dt.size.indicator),
10688
+ indicatorBorderRadius: parseTokenValue56(dt.borderRadius.indicator),
10689
+ selectedBorderWidth: parseTokenValue56(dt.borderWidth.indicator.selected),
10690
+ disabledOpacity: parseTokenValue56(dt.opacity.disabled),
10691
+ rowGap: parseTokenValue56(datePicker.dates.spacing.gap)
10561
10692
  }),
10562
10693
  [datePicker, dt, theme2]
10563
10694
  );
@@ -10835,7 +10966,7 @@ var buildPointerPath = (r) => {
10835
10966
  "Z"
10836
10967
  ].join(" ");
10837
10968
  };
10838
- var parseTokenValue55 = (value) => parseFloat(value);
10969
+ var parseTokenValue57 = (value) => parseFloat(value);
10839
10970
  var StyledRoot16 = styled51(View)(({ rootGap }) => ({
10840
10971
  flexDirection: "column",
10841
10972
  gap: rootGap,
@@ -10925,21 +11056,21 @@ var PictureSelector = React66.forwardRef(
10925
11056
  if (!isControlled) setInternalValue(nextValue);
10926
11057
  onValueChange == null ? void 0 : onValueChange(nextValue);
10927
11058
  };
10928
- const rootGap = parseTokenValue55(pictureSelector.spacing.container.gap);
10929
- const rowGap = parseTokenValue55(pictureSelector.spacing.buttons.gap);
10930
- const stackGap = parseTokenValue55(pictureButton.spacing.container.gap);
10931
- const buttonPadding = parseTokenValue55(pictureButton.spacing.padding);
10932
- const buttonBorderRadius = parseTokenValue55(
11059
+ const rootGap = parseTokenValue57(pictureSelector.spacing.container.gap);
11060
+ const rowGap = parseTokenValue57(pictureSelector.spacing.buttons.gap);
11061
+ const stackGap = parseTokenValue57(pictureButton.spacing.container.gap);
11062
+ const buttonPadding = parseTokenValue57(pictureButton.spacing.padding);
11063
+ const buttonBorderRadius = parseTokenValue57(
10933
11064
  pictureButton.borderRadius.default
10934
11065
  );
10935
- const borderWidthDefault = parseTokenValue55(
11066
+ const borderWidthDefault = parseTokenValue57(
10936
11067
  pictureButton.borderWidth.default
10937
11068
  );
10938
- const borderWidthActive = parseTokenValue55(pictureButton.borderWidth.active);
11069
+ const borderWidthActive = parseTokenValue57(pictureButton.borderWidth.active);
10939
11070
  const pointerPath = buildPointerPath(
10940
- parseTokenValue55(pictureButton.pointer.borderRadius.default)
11071
+ parseTokenValue57(pictureButton.pointer.borderRadius.default)
10941
11072
  );
10942
- const resolvedMinWidth = itemMinWidth != null ? itemMinWidth : parseTokenValue55(pictureButton.size.minWidth);
11073
+ const resolvedMinWidth = itemMinWidth != null ? itemMinWidth : parseTokenValue57(pictureButton.size.minWidth);
10943
11074
  const resolvedMinHeight = itemMinHeight != null ? itemMinHeight : resolvedMinWidth;
10944
11075
  return /* @__PURE__ */ jsxs(
10945
11076
  StyledRoot16,
@@ -11032,7 +11163,7 @@ var DEFAULT_UNIT_LABELS = {
11032
11163
  seconds: { singular: "sec", plural: "secs" }
11033
11164
  };
11034
11165
  var resolveLabel = (label, value) => typeof label === "string" ? label : value === 1 ? label.singular : label.plural;
11035
- var parseTokenValue56 = (value) => parseFloat(value);
11166
+ var parseTokenValue58 = (value) => parseFloat(value);
11036
11167
  var pad = (value) => String(Math.max(0, Math.floor(value))).padStart(2, "0");
11037
11168
  var StackedRoot = styled51(View)(({ rootGap }) => ({
11038
11169
  flexDirection: "row",
@@ -11162,28 +11293,28 @@ var Countdown = React66.forwardRef(
11162
11293
  InlineRoot,
11163
11294
  __spreadProps(__spreadValues({
11164
11295
  ref,
11165
- rootGap: parseTokenValue56(countdown.spacing.gap),
11166
- rootVerticalPadding: parseTokenValue56(
11296
+ rootGap: parseTokenValue58(countdown.spacing.gap),
11297
+ rootVerticalPadding: parseTokenValue58(
11167
11298
  countdown.spacing.verticalPadding
11168
11299
  ),
11169
- rootHorizontalPadding: parseTokenValue56(
11300
+ rootHorizontalPadding: parseTokenValue58(
11170
11301
  countdown.spacing.horizontalPadding
11171
11302
  ),
11172
11303
  rootBgColor: countdown.colour.background.default,
11173
- rootBorderRadius: parseTokenValue56(countdown.borderRadius.default)
11304
+ rootBorderRadius: parseTokenValue58(countdown.borderRadius.default)
11174
11305
  }, rest), {
11175
11306
  children: [
11176
11307
  label != null && /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", size: "md", color: "primary", children: label }),
11177
11308
  /* @__PURE__ */ jsx(
11178
11309
  InlineGroup,
11179
11310
  {
11180
- groupGap: parseTokenValue56(countdown.countdownGroup.spacing.gap),
11311
+ groupGap: parseTokenValue58(countdown.countdownGroup.spacing.gap),
11181
11312
  children: units.map((unit, index) => /* @__PURE__ */ jsxs(React66.Fragment, { children: [
11182
11313
  index > 0 && colon(`colon-${unit.key}`),
11183
11314
  /* @__PURE__ */ jsxs(
11184
11315
  InlineCount,
11185
11316
  {
11186
- countGap: parseTokenValue56(countdown.count.spacing.gap),
11317
+ countGap: parseTokenValue58(countdown.count.spacing.gap),
11187
11318
  children: [
11188
11319
  /* @__PURE__ */ jsx(
11189
11320
  Typography,
@@ -11219,33 +11350,33 @@ var Countdown = React66.forwardRef(
11219
11350
  StackedRoot,
11220
11351
  __spreadProps(__spreadValues({
11221
11352
  ref,
11222
- rootGap: parseTokenValue56(countdown.spacing.gap)
11353
+ rootGap: parseTokenValue58(countdown.spacing.gap)
11223
11354
  }, rest), {
11224
11355
  children: units.map((unit, index) => /* @__PURE__ */ jsxs(React66.Fragment, { children: [
11225
11356
  index > 0 && colon(`colon-${unit.key}`),
11226
11357
  /* @__PURE__ */ jsxs(
11227
11358
  StackedItem,
11228
11359
  {
11229
- itemGap: parseTokenValue56(countdownItem.spacing.gap),
11230
- itemVerticalPadding: parseTokenValue56(
11360
+ itemGap: parseTokenValue58(countdownItem.spacing.gap),
11361
+ itemVerticalPadding: parseTokenValue58(
11231
11362
  countdownItem.spacing.verticalPadding
11232
11363
  ),
11233
- itemHorizontalPadding: parseTokenValue56(
11364
+ itemHorizontalPadding: parseTokenValue58(
11234
11365
  countdownItem.spacing.horizontalPadding
11235
11366
  ),
11236
11367
  itemBgColor: countdownItem.colour.background.default,
11237
- itemBorderRadius: parseTokenValue56(
11368
+ itemBorderRadius: parseTokenValue58(
11238
11369
  countdownItem.borderRadius.default
11239
11370
  ),
11240
11371
  children: [
11241
11372
  /* @__PURE__ */ jsx(
11242
11373
  StackedCountBox,
11243
11374
  {
11244
- countPaddingTop: parseTokenValue56(
11375
+ countPaddingTop: parseTokenValue58(
11245
11376
  countdownItem.count.spacing.paddingTop
11246
11377
  ),
11247
11378
  countBgColor: countdownItem.count.colour.background.default,
11248
- countBorderRadius: parseTokenValue56(
11379
+ countBorderRadius: parseTokenValue58(
11249
11380
  countdownItem.count.borderRadius.default
11250
11381
  ),
11251
11382
  children: /* @__PURE__ */ jsx(
@@ -11275,7 +11406,7 @@ var Countdown = React66.forwardRef(
11275
11406
  }
11276
11407
  );
11277
11408
  Countdown.displayName = "Countdown";
11278
- var parseTokenValue57 = (value) => {
11409
+ var parseTokenValue59 = (value) => {
11279
11410
  if (typeof value === "number") return value;
11280
11411
  return parseFloat(value);
11281
11412
  };
@@ -11286,14 +11417,14 @@ var BadgeContainer = styled51(View)(({ theme: theme2 }) => {
11286
11417
  return {
11287
11418
  display: "flex",
11288
11419
  flexDirection: "row",
11289
- gap: parseTokenValue57(spacing["2xs"]),
11420
+ gap: parseTokenValue59(spacing["2xs"]),
11290
11421
  alignItems: "center",
11291
11422
  justifyContent: "center",
11292
- height: parseTokenValue57(sizing["2xl"]),
11293
- paddingRight: parseTokenValue57(spacing.xs),
11423
+ height: parseTokenValue59(sizing["2xl"]),
11424
+ paddingRight: parseTokenValue59(spacing.xs),
11294
11425
  backgroundColor: colour.background.container.brand,
11295
- borderTopRightRadius: parseTokenValue57(borderRadius.xs),
11296
- borderBottomRightRadius: parseTokenValue57(borderRadius.xs)
11426
+ borderTopRightRadius: parseTokenValue59(borderRadius.xs),
11427
+ borderBottomRightRadius: parseTokenValue59(borderRadius.xs)
11297
11428
  };
11298
11429
  });
11299
11430
  var BadgeIcon = styled51(View)(({ theme: theme2 }) => {
@@ -11303,9 +11434,9 @@ var BadgeIcon = styled51(View)(({ theme: theme2 }) => {
11303
11434
  display: "flex",
11304
11435
  alignItems: "center",
11305
11436
  justifyContent: "center",
11306
- width: parseTokenValue57(sizing.md),
11307
- height: parseTokenValue57(sizing.md),
11308
- marginLeft: parseTokenValue57(spacing.xs),
11437
+ width: parseTokenValue59(sizing.md),
11438
+ height: parseTokenValue59(sizing.md),
11439
+ marginLeft: parseTokenValue59(spacing.xs),
11309
11440
  flexShrink: 0
11310
11441
  };
11311
11442
  });
@@ -11354,7 +11485,7 @@ var Grid = React66.forwardRef(
11354
11485
  }
11355
11486
  );
11356
11487
  Grid.displayName = "ProductListingCard.Grid";
11357
- var parseTokenValue58 = (value) => {
11488
+ var parseTokenValue60 = (value) => {
11358
11489
  if (typeof value === "number") return value;
11359
11490
  return parseFloat(value);
11360
11491
  };
@@ -11363,7 +11494,7 @@ var StyledRoot17 = styled51(Pressable)(({ theme: theme2 }) => {
11363
11494
  return {
11364
11495
  display: "flex",
11365
11496
  flexDirection: "column",
11366
- gap: parseTokenValue58(spacing.md),
11497
+ gap: parseTokenValue60(spacing.md),
11367
11498
  alignItems: "flex-start",
11368
11499
  width: "100%"
11369
11500
  };
@@ -11373,7 +11504,7 @@ var ImageContainer = styled51(View)(({ theme: theme2 }) => ({
11373
11504
  width: "100%",
11374
11505
  aspectRatio: 1,
11375
11506
  overflow: "hidden",
11376
- borderRadius: parseTokenValue58(
11507
+ borderRadius: parseTokenValue60(
11377
11508
  theme2.tokens.semantics.dimensions.borderRadius.md
11378
11509
  )
11379
11510
  }));
@@ -11384,7 +11515,7 @@ var StyledImage2 = styled51(Image)({
11384
11515
  });
11385
11516
  var BadgeContainer2 = styled51(View)(({ theme: theme2 }) => ({
11386
11517
  position: "absolute",
11387
- top: parseTokenValue58(theme2.tokens.semantics.dimensions.spacing.md),
11518
+ top: parseTokenValue60(theme2.tokens.semantics.dimensions.spacing.md),
11388
11519
  left: 0
11389
11520
  }));
11390
11521
  var ContentContainer = styled51(View)(({ theme: theme2 }) => {
@@ -11392,7 +11523,7 @@ var ContentContainer = styled51(View)(({ theme: theme2 }) => {
11392
11523
  return {
11393
11524
  display: "flex",
11394
11525
  flexDirection: "column",
11395
- gap: parseTokenValue58(spacing.md),
11526
+ gap: parseTokenValue60(spacing.md),
11396
11527
  alignItems: "flex-start",
11397
11528
  width: "100%"
11398
11529
  };
@@ -11406,7 +11537,7 @@ var DetailsContainer = styled51(View)({
11406
11537
  var CategoryWrapper = styled51(View)(({ theme: theme2 }) => {
11407
11538
  const spacing = theme2.tokens.semantics.dimensions.spacing;
11408
11539
  return {
11409
- marginBottom: parseTokenValue58(spacing["3xs"])
11540
+ marginBottom: parseTokenValue60(spacing["3xs"])
11410
11541
  };
11411
11542
  });
11412
11543
  var TitleContainer = styled51(View)({
@@ -11754,7 +11885,7 @@ var useTabNavigationContext = () => {
11754
11885
  }
11755
11886
  return context;
11756
11887
  };
11757
- var parseTokenValue59 = (value) => parseFloat(value);
11888
+ var parseTokenValue61 = (value) => parseFloat(value);
11758
11889
  var StyledFixedList = styled51(View)({
11759
11890
  flexDirection: "row",
11760
11891
  alignItems: "stretch",
@@ -11820,13 +11951,13 @@ var TabNavigationTab = React66.forwardRef(
11820
11951
  StyledTab,
11821
11952
  __spreadProps(__spreadValues({
11822
11953
  ref,
11823
- tabHeight: parseTokenValue59(tabitem.size.height),
11824
- tabMinWidth: parseTokenValue59(tabitem.size.minWidth),
11825
- tabPaddingTop: parseTokenValue59(spacing.topPadding),
11826
- tabPaddingBottom: parseTokenValue59(spacing.bottomPadding),
11827
- tabPaddingHorizontal: parseTokenValue59(spacing.horizontalPadding),
11828
- tabGap: parseTokenValue59(spacing.gap),
11829
- tabBorderWidth: parseTokenValue59(borderWidth.default),
11954
+ tabHeight: parseTokenValue61(tabitem.size.height),
11955
+ tabMinWidth: parseTokenValue61(tabitem.size.minWidth),
11956
+ tabPaddingTop: parseTokenValue61(spacing.topPadding),
11957
+ tabPaddingBottom: parseTokenValue61(spacing.bottomPadding),
11958
+ tabPaddingHorizontal: parseTokenValue61(spacing.horizontalPadding),
11959
+ tabGap: parseTokenValue61(spacing.gap),
11960
+ tabBorderWidth: parseTokenValue61(borderWidth.default),
11830
11961
  tabBorderColor: borderColour,
11831
11962
  tabFlex: layout === "fixed" ? 1 : void 0
11832
11963
  }, rest), {
@@ -11908,6 +12039,6 @@ var TabNavigation = Object.assign(TabNavigationRoot, {
11908
12039
  Panel: TabNavigationPanel
11909
12040
  });
11910
12041
 
11911
- export { Accordion, Animated5 as Animated, Avatar, BRAND_FONTS, Badge, Button, ButtonDock, ButtonGroup, CarouselControls, Checkbox, CheckboxGroup, CopyField, CopyFieldInput, Countdown, DatePicker, Divider, Drawer, FilterTab, Hint, Icon, IconButton, Illustration, Input, InputDescription, InputError, InputField, InputLabel, InputText, Link, Logo, MessageCard, MessageCardBanner, MessageCardInsight, NativeSelectPicker, Notification, NumberField, NumberInput, NumberInputField, PasswordField, PasswordFieldInput, PasswordFieldRequirements, PawprintProvider, PictureSelector, ProductDisplayCard, ProductListingCardWithBadgeAndGrid as ProductListingCard, Progress, Radio, RadioGroup, RadioTile, SearchField, SearchFieldInput, SegmentedControl, SelectField, SelectFieldContent, SelectFieldItem, SelectFieldTrigger, SelectFieldValue, Slider, Spinner, StackedNotifications, Switch, TabNavigation, Tag, TextArea, TextAreaField, TextAreaLabel, ThemeProvider, Tooltip, Typography, createPawprintTheme, fadeAnimation, fadeDownAnimation, fadeUpAnimation, registerLogo, resolveFont, resolveLogo, scaleAnimation, slideInAnimation, slideOutAnimation, theme, useCopyField, usePasswordField, usePawprint, useSearchField, useSelectField };
12042
+ export { Accordion, Animated5 as Animated, Avatar, BRAND_FONTS, Badge, Button, ButtonDock, ButtonGroup, CarouselControls, Checkbox, CheckboxGroup, CopyField, CopyFieldInput, Countdown, DatePicker, Divider, Drawer, FilterTab, Hint, Icon, IconButton, Illustration, Input, InputDescription, InputError, InputField, InputLabel, InputText, Link, Logo, Menu2 as Menu, MenuItem, MessageCard, MessageCardBanner, MessageCardInsight, NativeSelectPicker, Notification, NumberField, NumberInput, NumberInputField, PasswordField, PasswordFieldInput, PasswordFieldRequirements, PawprintProvider, PictureSelector, ProductDisplayCard, ProductListingCardWithBadgeAndGrid as ProductListingCard, Progress, Radio, RadioGroup, RadioTile, SearchField, SearchFieldInput, SegmentedControl, SelectField, SelectFieldContent, SelectFieldItem, SelectFieldTrigger, SelectFieldValue, Slider, Spinner, StackedNotifications, Switch, TabNavigation, Tag, TextArea, TextAreaField, TextAreaLabel, ThemeProvider, Tooltip, Typography, createPawprintTheme, fadeAnimation, fadeDownAnimation, fadeUpAnimation, registerLogo, resolveFont, resolveLogo, scaleAnimation, slideInAnimation, slideOutAnimation, theme, useCopyField, usePasswordField, usePawprint, useSearchField, useSelectField };
11912
12043
  //# sourceMappingURL=index.js.map
11913
12044
  //# sourceMappingURL=index.js.map