@vygruppen/spor-react 12.13.5 → 12.14.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @vygruppen/spor-react@12.13.5 build /home/runner/work/spor/spor/packages/spor-react
2
+ > @vygruppen/spor-react@12.14.1 build /home/runner/work/spor/spor/packages/spor-react
3
3
  > tsup
4
4
 
5
5
  CLI Building entry: src/index.tsx, src/icons/index.tsx
@@ -11,18 +11,18 @@ CLI Cleaning output folder
11
11
  ESM Build start
12
12
  CJS Build start
13
13
  DTS Build start
14
- ESM dist/index.mjs 297.20 KB
15
- ESM dist/icons/index.mjs 110.00 B
16
- ESM dist/index.mjs.map 634.99 KB
17
- ESM dist/icons/index.mjs.map 157.00 B
18
- ESM ⚡️ Build success in 2645ms
19
- CJS dist/index.cjs 318.68 KB
14
+ CJS dist/index.cjs 320.36 KB
20
15
  CJS dist/icons/index.cjs 381.00 B
21
- CJS dist/index.cjs.map 634.99 KB
16
+ CJS dist/index.cjs.map 637.96 KB
22
17
  CJS dist/icons/index.cjs.map 157.00 B
23
- CJS ⚡️ Build success in 2645ms
24
- DTS ⚡️ Build success in 18409ms
18
+ CJS ⚡️ Build success in 2498ms
19
+ ESM dist/index.mjs 298.78 KB
20
+ ESM dist/icons/index.mjs 110.00 B
21
+ ESM dist/index.mjs.map 637.96 KB
22
+ ESM dist/icons/index.mjs.map 157.00 B
23
+ ESM ⚡️ Build success in 2498ms
24
+ DTS ⚡️ Build success in 19261ms
25
25
  DTS dist/icons/index.d.ts 44.00 B
26
- DTS dist/index.d.ts 157.02 KB
26
+ DTS dist/index.d.ts 157.08 KB
27
27
  DTS dist/icons/index.d.cts 44.00 B
28
- DTS dist/index.d.cts 157.02 KB
28
+ DTS dist/index.d.cts 157.08 KB
@@ -1,8 +1,8 @@
1
1
 
2
- > @vygruppen/spor-react@12.13.5 postinstall /home/runner/work/spor/spor/packages/spor-react
2
+ > @vygruppen/spor-react@12.14.1 postinstall /home/runner/work/spor/spor/packages/spor-react
3
3
  > chakra typegen src/theme/index.ts
4
4
 
5
- [dotenv@17.2.2] injecting env (0) from .env -- tip: 🔐 prevent building .env in docker: https://dotenvx.com/prebuild
5
+ [dotenv@17.2.2] injecting env (0) from .env -- tip: ⚙️ suppress all logs with { quiet: true }
6
6
  ┌ Chakra CLI ⚡️
7
7
  [?25l│
8
8
  ◒ Generating conditions types...
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @vygruppen/spor-react
2
2
 
3
+ ## 12.14.1
4
+
5
+ ### Patch Changes
6
+
7
+ - f582d9c: Resolved padding and overflow issues in the ServiceAlert component
8
+
9
+ Also adjust some stylings that were inconsistent with figma for other components.
10
+
11
+ - 86345da: Correct icon color for alt-transport LineTags.
12
+
13
+ ## 12.14.0
14
+
15
+ ### Minor Changes
16
+
17
+ - cdb40ce: Add new fontsizes, md-lg and 2xs. Md on desktop adjusts from 24px to 21px.
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies [cdb40ce]
22
+ - @vygruppen/spor-design-tokens@4.2.0
23
+
3
24
  ## 12.13.5
4
25
 
5
26
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -1228,15 +1228,7 @@ var ServiceAlert = React27.forwardRef(
1228
1228
  ]
1229
1229
  }
1230
1230
  ) }),
1231
- /* @__PURE__ */ jsxRuntime.jsx(react.Accordion.ItemContent, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Stack, { flexDirection: "row", width: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
1232
- react.Accordion.ItemBody,
1233
- {
1234
- as: react.Stack,
1235
- width: contentWidth,
1236
- css: styles.itemBody,
1237
- children
1238
- }
1239
- ) }) })
1231
+ /* @__PURE__ */ jsxRuntime.jsx(react.Accordion.ItemContent, { css: styles.itemContent, children: /* @__PURE__ */ jsxRuntime.jsx(react.Accordion.ItemBody, { maxWidth: contentWidth, css: styles.itemBody, children }) })
1240
1232
  ] })
1241
1233
  }
1242
1234
  );
@@ -1404,7 +1396,7 @@ var Field3 = React27__namespace.forwardRef(
1404
1396
  ]
1405
1397
  }
1406
1398
  ),
1407
- helperText && /* @__PURE__ */ jsxRuntime.jsx(Text3, { fontSize: "sm", color: "text.tertiary", children: helperText })
1399
+ helperText && /* @__PURE__ */ jsxRuntime.jsx(Text3, { variant: "sm", color: "text.tertiary", children: helperText })
1408
1400
  ] });
1409
1401
  }
1410
1402
  );
@@ -1637,10 +1629,10 @@ var CalendarNavigator = ({
1637
1629
  }
1638
1630
  ),
1639
1631
  /* @__PURE__ */ jsxRuntime.jsx(
1640
- react.Box,
1632
+ Text3,
1641
1633
  {
1642
1634
  role: "heading",
1643
- fontSize: "sm",
1635
+ variant: "md",
1644
1636
  fontWeight: "bold",
1645
1637
  flex: "1",
1646
1638
  textAlign: "center",
@@ -1821,7 +1813,7 @@ var DateField = React27.forwardRef(
1821
1813
  css: styles.inputLabel,
1822
1814
  position: "absolute",
1823
1815
  paddingTop: "2px",
1824
- children: /* @__PURE__ */ jsxRuntime.jsxs(Label, { padding: "0", fontSize: "2xs", ...props.labelProps, children: [
1816
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Label, { padding: "0", ...props.labelProps, children: [
1825
1817
  props.label,
1826
1818
  " ",
1827
1819
  /* @__PURE__ */ jsxRuntime.jsx(react.Field.RequiredIndicator, {})
@@ -1914,6 +1906,7 @@ var StyledField = React27.forwardRef(
1914
1906
  ref,
1915
1907
  "aria-invalid": invalid,
1916
1908
  "aria-disabled": isDisabled,
1909
+ fontSize: ["mobile.md", "desktop.md"],
1917
1910
  children
1918
1911
  }
1919
1912
  );
@@ -2166,29 +2159,41 @@ function DateRangePicker({
2166
2159
  ] })
2167
2160
  ] }) });
2168
2161
  }
2162
+
2163
+ // src/util/slugify.tsx
2164
+ function slugify(text, maxLength = 50) {
2165
+ if (!text) {
2166
+ return text;
2167
+ }
2168
+ if (Array.isArray(text)) {
2169
+ text = text.join(" ");
2170
+ }
2171
+ if (maxLength < 1) {
2172
+ throw new Error("The maxLength parameter must be a positive number");
2173
+ }
2174
+ return text.normalize("NFD").replaceAll(/[\u0300-\u036F]/g, "").replaceAll(/[\u00C6\u00E6]/g, "ae").replaceAll(/[\u00D8\u00F8]/g, "oe").replaceAll(/[\u00C5\u00E5]/g, "aa").toLowerCase().replaceAll(/\s+/g, "-").replaceAll(/[^\w-]+/g, "").replaceAll(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "").slice(0, Math.max(0, maxLength));
2175
+ }
2169
2176
  var TimeField = ({ state, ...props }) => {
2170
2177
  const ref = React27.useRef(null);
2171
2178
  const { labelProps, fieldProps } = reactAria.useTimeField(props, state, ref);
2172
2179
  return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { children: [
2173
2180
  /* @__PURE__ */ jsxRuntime.jsx(
2174
- "label",
2181
+ react.chakra.label,
2175
2182
  {
2176
2183
  ...labelProps,
2177
2184
  htmlFor: fieldProps.id,
2178
- style: {
2179
- marginBottom: 0,
2180
- fontSize: "mobile.xs",
2181
- top: 0,
2182
- cursor: "text",
2183
- left: "50%",
2184
- transform: "translateX(-50%)",
2185
- position: "absolute",
2186
- paddingTop: "2px",
2187
- whiteSpace: "nowrap",
2188
- overflow: "hidden",
2189
- textOverflow: "ellipsis",
2190
- maxWidth: "80%"
2191
- },
2185
+ marginBottom: 0,
2186
+ fontSize: ["mobile.xs", "desktop.xs"],
2187
+ top: 0,
2188
+ cursor: "text",
2189
+ left: "50%",
2190
+ transform: "translateX(-50%)",
2191
+ position: "absolute",
2192
+ paddingTop: "2px",
2193
+ whiteSpace: "nowrap",
2194
+ overflow: "hidden",
2195
+ textOverflow: "ellipsis",
2196
+ maxWidth: "80%",
2192
2197
  children: props.label
2193
2198
  }
2194
2199
  ),
@@ -2927,7 +2932,15 @@ function ItemDescription({ children }) {
2927
2932
  const { descriptionProps } = useOptionContext();
2928
2933
  const recipe = react.useSlotRecipe({ key: "listbox" });
2929
2934
  const styles = recipe({});
2930
- return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { ...descriptionProps, css: styles, fontSize: "xs", children });
2935
+ return /* @__PURE__ */ jsxRuntime.jsx(
2936
+ react.Box,
2937
+ {
2938
+ ...descriptionProps,
2939
+ css: styles,
2940
+ fontSize: ["mobile.xs", "desktop.xs"],
2941
+ children
2942
+ }
2943
+ );
2931
2944
  }
2932
2945
  function Option({ item, state }) {
2933
2946
  const ref = React27.useRef(null);
@@ -3004,7 +3017,7 @@ function ListBoxSection({ section, state }) {
3004
3017
  section.rendered && /* @__PURE__ */ jsxRuntime.jsx(
3005
3018
  react.Box,
3006
3019
  {
3007
- fontSize: "mobile.xs",
3020
+ fontSize: ["mobile.sm", "desktop.sm"],
3008
3021
  color: titleColor,
3009
3022
  paddingTop: 1,
3010
3023
  marginTop: isFirstSection ? 0 : 2,
@@ -5407,7 +5420,6 @@ var StepperStep = ({
5407
5420
  Text3,
5408
5421
  {
5409
5422
  variant: "xs",
5410
- fontSize: "1rem",
5411
5423
  color: disabledTextColor,
5412
5424
  cursor: "default",
5413
5425
  paddingX: 2,
@@ -5839,22 +5851,6 @@ var linkRecipe = react.defineRecipe({
5839
5851
  size: "sm"
5840
5852
  }
5841
5853
  });
5842
-
5843
- // src/util/slugify.tsx
5844
- function slugify(text, maxLength = 50) {
5845
- if (!text) {
5846
- return text;
5847
- }
5848
- if (Array.isArray(text)) {
5849
- text = text.join(" ");
5850
- }
5851
- if (maxLength < 1) {
5852
- throw new Error("The maxLength parameter must be a positive number");
5853
- }
5854
- return text.normalize("NFD").replaceAll(/[\u0300-\u036F]/g, "").replaceAll(/[\u00C6\u00E6]/g, "ae").replaceAll(/[\u00D8\u00F8]/g, "oe").replaceAll(/[\u00C5\u00E5]/g, "aa").toLowerCase().replaceAll(/\s+/g, "-").replaceAll(/[^\w-]+/g, "").replaceAll(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "").slice(0, Math.max(0, maxLength));
5855
- }
5856
-
5857
- // src/theme/recipes/pressable-card.ts
5858
5854
  var pressableCardRecipe = react.defineRecipe({
5859
5855
  base: {
5860
5856
  appearance: "none",
@@ -6462,13 +6458,13 @@ var accordionSlotRecipe = react.defineSlotRecipe({
6462
6458
  textAlign: "left",
6463
6459
  width: "full",
6464
6460
  alignItems: "center",
6465
- fontSize: ["mobile.sm", null, "desktop.sm"],
6461
+ fontSize: ["mobile.sm", "desktop.sm"],
6466
6462
  fontFamily: "body",
6467
6463
  fontWeight: "bold",
6468
6464
  outlineOffset: "-2px",
6469
- paddingX: [2, null, 3],
6470
- paddingY: [1, null, 1.5],
6471
- minHeight: [6, null, 7],
6465
+ paddingX: [2, 3],
6466
+ paddingY: [1, 1.5],
6467
+ minHeight: [6, 7],
6472
6468
  cursor: "pointer",
6473
6469
  _disabled: {
6474
6470
  pointerEvents: "none",
@@ -6477,7 +6473,7 @@ var accordionSlotRecipe = react.defineSlotRecipe({
6477
6473
  },
6478
6474
  itemContent: {
6479
6475
  borderBottomRadius: "sm",
6480
- fontSize: ["mobile.sm", null, "desktop.sm"],
6476
+ fontSize: ["mobile.sm", "desktop.sm"],
6481
6477
  color: "text",
6482
6478
  height: "auto",
6483
6479
  overflow: "hidden",
@@ -6492,7 +6488,7 @@ var accordionSlotRecipe = react.defineSlotRecipe({
6492
6488
  },
6493
6489
  itemBody: {
6494
6490
  paddingY: 2,
6495
- paddingX: [2, null, 3]
6491
+ paddingX: [2, 3]
6496
6492
  },
6497
6493
  itemIndicator: {
6498
6494
  transition: "rotate 0.2s",
@@ -6794,7 +6790,8 @@ var alertServiceSlotRecipe = react.defineSlotRecipe({
6794
6790
  display: "flex",
6795
6791
  flexDirection: "column",
6796
6792
  justifyContent: "center",
6797
- padding: [2, null, null, 2],
6793
+ padding: ["2", "3"],
6794
+ paddingBottom: "1",
6798
6795
  borderBottomRadius: "md",
6799
6796
  borderTopRadius: "none",
6800
6797
  width: "full",
@@ -6810,27 +6807,37 @@ var alertServiceSlotRecipe = react.defineSlotRecipe({
6810
6807
  }
6811
6808
  },
6812
6809
  itemTriggerTitle: {
6813
- fontSize: ["xs", null, null, "sm"]
6810
+ fontSize: ["mobile.sm", "desktop.sm"]
6814
6811
  },
6815
6812
  notificationText: {
6816
6813
  fontWeight: "400",
6817
- fontSize: ["2xs", null, null, "xs"],
6818
- textWrap: "nowrap"
6814
+ fontSize: ["mobile.xs", "desktop.xs"],
6815
+ textWrap: "nowrap",
6816
+ color: "alert.service.text.secondary"
6817
+ },
6818
+ itemContent: {
6819
+ paddingX: ["2", "3"],
6820
+ paddingBottom: ["2", "3"],
6821
+ paddingTop: ["1", "2"]
6819
6822
  },
6820
6823
  itemBody: {
6821
6824
  marginX: "auto",
6822
6825
  padding: "0 !important",
6823
- paddingBottom: ["0.5", null, null, "1"],
6824
- color: "text.inverted",
6826
+ color: "alert.service.text.secondary",
6827
+ gap: 0,
6828
+ flexDirection: "column",
6829
+ display: "flex",
6825
6830
  "& > p": {
6826
- gap: 2,
6827
6831
  width: "full",
6828
6832
  borderBottom: "1px dashed",
6829
6833
  borderColor: "outline.inverted",
6830
- paddingBottom: "3",
6831
- paddingTop: "2",
6834
+ paddingY: ["1", "1.5"],
6835
+ _first: {
6836
+ paddingTop: 0
6837
+ },
6832
6838
  _last: {
6833
- borderBottom: "none"
6839
+ borderBottom: "none",
6840
+ paddingBottom: 0
6834
6841
  }
6835
6842
  }
6836
6843
  }
@@ -6975,7 +6982,6 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
6975
6982
  display: "inline-flex",
6976
6983
  alignItems: "center",
6977
6984
  boxAlign: "center",
6978
- fontSize: "xs",
6979
6985
  cursor: "pointer",
6980
6986
  transitionProperty: "all",
6981
6987
  borderRadius: "xl",
@@ -7028,8 +7034,7 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
7028
7034
  label: {
7029
7035
  display: "flex",
7030
7036
  alignItems: "center",
7031
- gap: "1",
7032
- fontSize: "xs"
7037
+ gap: "1"
7033
7038
  }
7034
7039
  },
7035
7040
  variants: {
@@ -7041,6 +7046,10 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
7041
7046
  },
7042
7047
  height: 5,
7043
7048
  paddingX: 1.5
7049
+ },
7050
+ label: {
7051
+ fontSize: { base: "mobile.sm", sm: "desktop.sm" },
7052
+ fontWeight: "medium"
7044
7053
  }
7045
7054
  },
7046
7055
  sm: {
@@ -7050,6 +7059,10 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
7050
7059
  },
7051
7060
  height: 6,
7052
7061
  paddingX: 2
7062
+ },
7063
+ label: {
7064
+ fontSize: { base: "mobile.sm", sm: "desktop.sm" },
7065
+ fontWeight: "bold"
7053
7066
  }
7054
7067
  },
7055
7068
  md: {
@@ -7059,6 +7072,10 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
7059
7072
  },
7060
7073
  height: 7,
7061
7074
  paddingX: 2
7075
+ },
7076
+ label: {
7077
+ fontSize: { base: "mobile.md", sm: "desktop.md" },
7078
+ fontWeight: "bold"
7062
7079
  }
7063
7080
  },
7064
7081
  lg: {
@@ -7068,6 +7085,10 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
7068
7085
  },
7069
7086
  height: 8,
7070
7087
  paddingX: 3
7088
+ },
7089
+ label: {
7090
+ fontSize: { base: "mobile.md", sm: "desktop.md" },
7091
+ fontWeight: "bold"
7071
7092
  }
7072
7093
  }
7073
7094
  },
@@ -7127,7 +7148,7 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
7127
7148
  }
7128
7149
  },
7129
7150
  defaultVariants: {
7130
- size: "md",
7151
+ size: "sm",
7131
7152
  variant: "core",
7132
7153
  chipType: "choice"
7133
7154
  }
@@ -7186,7 +7207,7 @@ var datePickerSlotRecipe = react.defineSlotRecipe({
7186
7207
  }
7187
7208
  },
7188
7209
  inputLabel: {
7189
- fontSize: "mobile.xs",
7210
+ fontSize: ["mobile.xs", "desktop.xs"],
7190
7211
  margin: 0,
7191
7212
  cursor: "text"
7192
7213
  },
@@ -8306,6 +8327,10 @@ var lineIconSlotRecipe = react.defineSlotRecipe({
8306
8327
  "alt-transport": {
8307
8328
  iconContainer: {
8308
8329
  backgroundColor: "linjetag.altTransport"
8330
+ },
8331
+ icon: {
8332
+ // eslint-disable-next-line spor/use-semantic-tokens
8333
+ color: "darkGrey"
8309
8334
  }
8310
8335
  },
8311
8336
  walk: {
@@ -10092,17 +10117,21 @@ var fontSizes = react.defineTokens.fontSizes({
10092
10117
  "2xl": { value: tokens23__namespace.default.size.font.xl.desktop },
10093
10118
  "3xl": { value: tokens23__namespace.default.size.font.xxl.desktop },
10094
10119
  mobile: {
10120
+ "2xs": { value: tokens23__namespace.default.size.font["2xs"].mobile },
10095
10121
  xs: { value: tokens23__namespace.default.size.font.xs.mobile },
10096
10122
  sm: { value: tokens23__namespace.default.size.font.sm.mobile },
10097
10123
  md: { value: tokens23__namespace.default.size.font.md.mobile },
10124
+ "md-lg": { value: tokens23__namespace.default.size.font["md-lg"].mobile },
10098
10125
  lg: { value: tokens23__namespace.default.size.font.lg.mobile },
10099
10126
  xl: { value: tokens23__namespace.default.size.font.xl.mobile },
10100
10127
  xxl: { value: tokens23__namespace.default.size.font.xxl.mobile }
10101
10128
  },
10102
10129
  desktop: {
10130
+ "2xs": { value: tokens23__namespace.default.size.font["2xs"].desktop },
10103
10131
  xs: { value: tokens23__namespace.default.size.font.xs.desktop },
10104
10132
  sm: { value: tokens23__namespace.default.size.font.sm.desktop },
10105
10133
  md: { value: tokens23__namespace.default.size.font.md.desktop },
10134
+ "md-lg": { value: tokens23__namespace.default.size.font["md-lg"].desktop },
10106
10135
  lg: { value: tokens23__namespace.default.size.font.lg.desktop },
10107
10136
  xl: { value: tokens23__namespace.default.size.font.xl.desktop },
10108
10137
  xxl: { value: tokens23__namespace.default.size.font.xxl.desktop }
@@ -10672,6 +10701,18 @@ var textStyles = react.defineTextStyles({
10672
10701
  lineHeight: tokens23__namespace.default.font.style.lg["line-height"]
10673
10702
  }
10674
10703
  },
10704
+ "md-lg": {
10705
+ value: {
10706
+ fontSize: [
10707
+ tokens23__namespace.default.font.style["md-lg"]["font-size"].mobile,
10708
+ null,
10709
+ null,
10710
+ tokens23__namespace.default.font.style["md-lg"]["font-size"].desktop
10711
+ ],
10712
+ fontFamily: tokens23__namespace.default.font.style["md-lg"]["font-family"],
10713
+ lineHeight: tokens23__namespace.default.font.style["md-lg"]["line-height"]
10714
+ }
10715
+ },
10675
10716
  md: {
10676
10717
  value: {
10677
10718
  fontSize: [
@@ -10707,6 +10748,18 @@ var textStyles = react.defineTextStyles({
10707
10748
  fontFamily: tokens23__namespace.default.font.style.xs["font-family"],
10708
10749
  lineHeight: tokens23__namespace.default.font.style.xs["line-height"]
10709
10750
  }
10751
+ },
10752
+ "2xs": {
10753
+ value: {
10754
+ fontSize: [
10755
+ tokens23__namespace.default.font.style["2xs"]["font-size"].mobile,
10756
+ null,
10757
+ null,
10758
+ tokens23__namespace.default.font.style["2xs"]["font-size"].desktop
10759
+ ],
10760
+ fontFamily: tokens23__namespace.default.font.style["2xs"]["font-family"],
10761
+ lineHeight: tokens23__namespace.default.font.style["2xs"]["line-height"]
10762
+ }
10710
10763
  }
10711
10764
  });
10712
10765
  var generateTheme = (brand) => {