@tui-cruises/mein-schiff-web-react-component-library 3.0.2 → 3.0.3

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/CHANGELOG.md CHANGED
@@ -2,23 +2,52 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
- ### [3.0.2](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v3.0.1...v3.0.2) (2025-09-12)
5
+ ### [3.0.3](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.8...v3.0.3) (2025-09-16)
6
6
 
7
7
 
8
8
  ### Features
9
9
 
10
- * next15 prep ([cd34983](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/cd3498382498e9476bcf6a9b9972e8ffa7638482))
10
+ * next15 prep ([c228c08](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/c228c084b32c60499eaf055e6f9e5dc698ebaf72))
11
+ * next15 prep ([9d1adcf](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/9d1adcf970b8a75ec478211bdf01933e0bd7a03e))
12
+ * **Price:** new price information component ([b1a67bc](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/b1a67bc66e7c1342aeefd3d60d2597bff7236578))
11
13
 
12
- ### [3.0.1](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v3.0.0...v3.0.1) (2025-09-12)
13
14
 
14
- ## [3.0.0](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.9...v3.0.0) (2025-09-12)
15
+ ### Bug Fixes
15
16
 
17
+ * **Button:** align button text to center (pull request [#9](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/9)) ([d25791d](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/d25791dbb0e75eb099418ae716eaa6854835b084))
18
+ * **Calendar:** use of wrong type causes build failures ([#8](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/8)) ([afdbd3d](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/afdbd3da42d4dcc364fdb13b66b1d7f35ad46a94))
19
+ * **Icon:** add missing 'speed' icon (pull request [#10](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/10)) ([f490e3c](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/f490e3c3b9ca6f02f56323f73e0753c5e7f60d52))
20
+ * **OM-2216:** change pagination icon button size on mobile/tablet according to design (pull request [#6](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/6)) ([6541f91](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/6541f9109995bab9644ddf46682005988bee2255))
21
+ * **Pagination:** adjust icon button sizes on mobile/tablet to match design ([c468b10](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/c468b1075f2425fcfa871c3d4459a1b401a61423))
22
+ * **Tag:** use text-center (pull request [#7](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/7)) ([f6184d1](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/f6184d1027637018693aef04e2986d36b86521aa))
16
23
 
17
- ### Features
24
+ ### [2.2.11](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.10...v2.2.11) (2025-09-10)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * **Button:** align button text to center (pull request [#9](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/9)) ([d25791d](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/d25791dbb0e75eb099418ae716eaa6854835b084))
30
+ * **Calendar:** use of wrong type causes build failures ([#8](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/8)) ([afdbd3d](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/afdbd3da42d4dcc364fdb13b66b1d7f35ad46a94))
31
+ * **Icon:** add missing 'speed' icon (pull request [#10](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/10)) ([f490e3c](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/f490e3c3b9ca6f02f56323f73e0753c5e7f60d52))
32
+
33
+ ### [2.2.10](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.9...v2.2.10) (2025-09-09)
34
+
35
+ ### [2.2.9](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.7...v2.2.9) (2025-09-09)
18
36
 
19
- * next15 prep ([46b3477](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/46b3477fda31e4bb8b29a12da0a544e620cdbc11))
20
37
 
21
- ### [2.2.9](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.8...v2.2.9) (2025-09-08)
38
+ ### Bug Fixes
39
+
40
+ * **OM-2216:** change pagination icon button size on mobile/tablet according to design (pull request [#6](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/6)) ([6541f91](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/6541f9109995bab9644ddf46682005988bee2255))
41
+ * **Pagination:** adjust icon button sizes on mobile/tablet to match design ([c468b10](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/c468b1075f2425fcfa871c3d4459a1b401a61423))
42
+ * **Tag:** use text-center (pull request [#7](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/issues/7)) ([f6184d1](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/f6184d1027637018693aef04e2986d36b86521aa))
43
+ * typefix ([b7fccaf](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/b7fccaf80e990db4d68b42411c1ce57a6356ad05))
44
+
45
+ ### [2.2.8](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.7...v2.2.8) (2025-09-08)
46
+
47
+
48
+ ### Bug Fixes
49
+
50
+ * **Calendar:** Typefix i18n ([b7fccaf](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/commit/b7fccaf80e990db4d68b42411c1ce57a6356ad05))
22
51
 
23
52
  ### [2.2.7](https://bitbucket.org/yours_truly/tuic-mein-schiff-web-react-component-library/compare/v2.2.6...v2.2.7) (2025-08-25)
24
53
 
@@ -114,6 +114,7 @@ export const dynamicComponents = {
114
114
  'snow-flake': dynamic(() => import('./snow-flake'), { ssr: false }),
115
115
  snow: dynamic(() => import('./snow'), { ssr: false }),
116
116
  sofa: dynamic(() => import('./sofa'), { ssr: false }),
117
+ speed: dynamic(() => import('./speed'), { ssr: false }),
117
118
  'star-dashed': dynamic(() => import('./star-dashed'), { ssr: false }),
118
119
  'star-filled': dynamic(() => import('./star-filled'), { ssr: false }),
119
120
  'star-half-dashed': dynamic(() => import('./star-half-dashed'), {
@@ -0,0 +1,20 @@
1
+ import type { SVGProps } from 'react';
2
+ const SvgSpeed = (props: SVGProps<SVGSVGElement>) => (
3
+ <svg
4
+ xmlns="http://www.w3.org/2000/svg"
5
+ width="1em"
6
+ height="1em"
7
+ fill="none"
8
+ viewBox="0 0 24 24"
9
+ color="currentColor"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ fillRule="evenodd"
15
+ d="M7.69 4.75A.75.75 0 0 1 8.44 4h5.11l4.6 4.6H23l-5.775 7.219a.75.75 0 1 1-1.171-.937l3.825-4.782h-7.44a.75.75 0 0 1 0-1.5h3.59l-3.1-3.1h-4.49a.75.75 0 0 1-.75-.75M5.8 9.35a.75.75 0 0 1 .75-.75h3.6a.75.75 0 0 1 0 1.5h-3.6a.75.75 0 0 1-.75-.75m-2.4 3.178a.75.75 0 0 1 .75-.75h4.8a.75.75 0 0 1 0 1.5h-4.8a.75.75 0 0 1-.75-.75m19.473 3.936a.75.75 0 0 1-.257 1.03C19.636 19.281 18.266 20 16.23 20c-1.211 0-1.853-.642-2.31-1.099l-.02-.02c-.442-.443-.7-.681-1.27-.681-.674 0-1.421.349-2.059.774a8 8 0 0 0-.998.795l-.011.01-.001.001A.75.75 0 0 1 8.5 18.72l.53.53-.53-.53.001-.002.002-.002.006-.006.02-.02.07-.066c.06-.055.145-.133.253-.225.213-.183.519-.428.887-.673.713-.475 1.766-1.026 2.891-1.026 1.212 0 1.853.642 2.31 1.099l.02.02c.443.443.7.681 1.27.681 1.564 0 2.596-.482 5.615-2.293a.75.75 0 0 1 1.028.257M1 15.75a.75.75 0 0 1 .75-.75h6a.75.75 0 0 1 0 1.5h-6a.75.75 0 0 1-.75-.75"
16
+ clipRule="evenodd"
17
+ />
18
+ </svg>
19
+ );
20
+ export default SvgSpeed;
package/index.tsx CHANGED
@@ -20,6 +20,7 @@ export * from './src/components/core/Icon';
20
20
  export * from './src/components/core/LoadingSpinner';
21
21
  export * from './src/components/core/Pictogram';
22
22
  export * from './src/components/core/Portlist';
23
+ export * from './src/components/core/Price';
23
24
  export * from './src/components/core/QuantityItem';
24
25
  export * from './src/components/core/RangeSlider';
25
26
  export * from './src/components/core/SegmentedControl';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tui-cruises/mein-schiff-web-react-component-library",
3
- "version": "3.0.2",
3
+ "version": "3.0.3",
4
4
  "main": "./index.tsx",
5
5
  "types": "./index.tsx",
6
6
  "type": "module",
@@ -55,7 +55,7 @@
55
55
  "@tuic/i18n": "^1.0.0",
56
56
  "@tuic/lib": "^1.0.0",
57
57
  "@tuic/logger": "^1.0.0",
58
- "@tuic/tailwind-config": "file:/usr/local/var/www/tuic-nextjs-frontend/packages/tailwind-config",
58
+ "@tuic/tailwind-config": "file:packages/@tuic/packages/tailwind-config",
59
59
  "@tuic/tracking": "^1.0.0",
60
60
  "d3": "^7.9.0",
61
61
  "date-fns": "^3.4.0",
@@ -77,7 +77,7 @@ const ButtonRenderFunction = (props: ButtonProps) => {
77
77
  }
78
78
 
79
79
  const buttonClassNames = twMerge(
80
- 'relative inline-flex appearance-none items-center justify-center gap-2 rounded-md border-none px-7 py-3.5 text-lg font-semibold !leading-normal transition-all md:text-base',
80
+ 'relative inline-flex appearance-none items-center justify-center gap-2 rounded-md border-none px-7 py-3.5 text-center text-lg font-semibold !leading-normal transition-all md:text-base',
81
81
  hasFullWidthOnMobile && 'w-full sm:w-auto',
82
82
 
83
83
  // Variants
@@ -66,7 +66,7 @@ export const Pagination = ({
66
66
  variant: 'secondary',
67
67
  iconName: 'nav-arrow-left',
68
68
  disabled: !forcePreviousClickable && (pending || minCurrent <= 1),
69
- size: 'sm',
69
+ size: ['md', { lg: 'sm' }],
70
70
  onClick: createNavigationHandler(setPending, onPrevious),
71
71
  'aria-label': i18n?.previousPage ?? 'Vorherige Seite',
72
72
  });
@@ -75,7 +75,7 @@ export const Pagination = ({
75
75
  variant: 'secondary',
76
76
  iconName: 'nav-arrow-right',
77
77
  disabled: !forceNextClickable && (pending || maxCurrent >= total),
78
- size: 'sm',
78
+ size: ['md', { lg: 'sm' }],
79
79
  onClick: createNavigationHandler(setPending, onNext),
80
80
  'aria-label': i18n?.nextPage ?? 'Nächste Seite',
81
81
  });
@@ -0,0 +1,84 @@
1
+ import { twJoin } from 'tailwind-merge';
2
+
3
+ /**
4
+ * Props for the Price component.
5
+ */
6
+ export type PriceProps = {
7
+ /**
8
+ * The visual style of the price.
9
+ * - `mixed`: Different text size.
10
+ * - `mono`: Equal text size.
11
+ */
12
+ variant: 'mixed' | 'mono';
13
+
14
+ /**
15
+ * Optional text shown before the price, like "ab".
16
+ */
17
+ priceQualifier?: string;
18
+
19
+ /**
20
+ * The formatted price, including currency (e.g., "1.489 €").
21
+ */
22
+ priceAmount: string;
23
+
24
+ /**
25
+ * Optional note shown after the price, like "p.P.".
26
+ */
27
+ priceNote?: string;
28
+
29
+ /**
30
+ * Optional ARIA label for screen readers.
31
+ * If provided, overrides the default label generation.
32
+ */
33
+ ariaLabel?: string;
34
+
35
+ /**
36
+ * Additional class names for custom styling.
37
+ */
38
+ className?: string;
39
+ };
40
+
41
+ /**
42
+ * A versatile Price component for displaying price information.
43
+ */
44
+ const Price = ({
45
+ className,
46
+ variant = 'mixed',
47
+ priceQualifier,
48
+ priceAmount,
49
+ priceNote,
50
+ ariaLabel,
51
+ }: PriceProps) => {
52
+ const isMixed = variant === 'mixed';
53
+
54
+ return (
55
+ <div
56
+ className={twJoin(
57
+ 'inline-flex items-baseline justify-center whitespace-nowrap text-marine-high-emphasis',
58
+ 'xs:price-xs sm:price-sm md:price-md lg:price-lg xl:price-xl',
59
+ isMixed ? 'gap-1' : 'gap-1 md:gap-1.5 lg:gap-2',
60
+ className,
61
+ )}
62
+ role="text"
63
+ {...(ariaLabel ? { 'aria-label': ariaLabel } : {})}
64
+ >
65
+ {priceQualifier && (
66
+ <span className={isMixed ? 'font-bold text-base' : ''}>
67
+ {priceQualifier}
68
+ </span>
69
+ )}
70
+
71
+ <span>{priceAmount}</span>
72
+
73
+ {priceNote && (
74
+ <span className={isMixed ? 'font-bold text-base' : ''}>
75
+ {priceNote}
76
+ </span>
77
+ )}
78
+ </div>
79
+ );
80
+ };
81
+
82
+ Price.displayName = 'Price';
83
+
84
+ export { Price };
@@ -0,0 +1 @@
1
+ export * from './Price';
@@ -105,7 +105,7 @@ const Tag = ({
105
105
  <div
106
106
  {...args}
107
107
  className={twJoin(
108
- 'inline-flex items-center justify-center font-semibold text-marine-high-emphasis',
108
+ 'inline-flex items-center justify-center text-center font-semibold text-marine-high-emphasis',
109
109
  borderRadius,
110
110
  textSize,
111
111
  padding,