@ossy/package-catalog 3.0.8 → 3.6.0

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ossy/package-catalog",
3
3
  "description": "Capability catalog UI — browse manifest packages, actions, and integration examples",
4
- "version": "3.0.8",
4
+ "version": "3.6.0",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "module": "./src/index.js",
@@ -29,5 +29,5 @@
29
29
  "@ossy/workspaces": ">=1.0.0",
30
30
  "react": ">=19.0.0 <20.0.0"
31
31
  },
32
- "gitHead": "980b380c9dee0de78ef3ebabe86efcec1c223a9a"
32
+ "gitHead": "d1fd144986b0e819d46926aeb11f7815ac52a784"
33
33
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { Button, Text, View, PageSection } from '@ossy/design-system'
2
+ import { Button, Text, View, CalmPortal } from '@ossy/design-system'
3
3
 
4
4
  const Cover = ({
5
5
  title,
@@ -56,7 +56,7 @@ const Cover = ({
56
56
  )
57
57
 
58
58
  /**
59
- * Marketing-style hero for package detail mirrors @ossy/booking HeroCover.
59
+ * Marketing hero motion ShortformField stack (CalmPortal air over tealGlow).
60
60
  */
61
61
  export const PackageHero = ({
62
62
  title,
@@ -71,27 +71,54 @@ export const PackageHero = ({
71
71
  id = 'package-hero',
72
72
  surfaceAs = 'div',
73
73
  maxWidth = 'l',
74
- surface = 'hero',
74
+ style,
75
75
  ...props
76
76
  }) => (
77
- <PageSection
77
+ <View
78
78
  id={id}
79
- surfaceAs={surfaceAs}
80
- maxWidth={maxWidth}
81
- surface={surface}
82
- {...props}
79
+ as={surfaceAs}
80
+ surface="hero"
83
81
  data-rounded
84
82
  data-component="@ossy/package-catalog/package-hero"
83
+ style={{
84
+ position: 'relative',
85
+ isolation: 'isolate',
86
+ overflow: 'hidden',
87
+ width: '100%',
88
+ ...style,
89
+ }}
90
+ {...props}
85
91
  >
86
- <Cover
87
- title={title}
88
- titleMaxWidth={titleMaxWidth}
89
- text={text}
90
- textParams={textParams}
91
- eyebrow={eyebrow}
92
- meta={meta}
93
- metaParams={metaParams}
94
- actions={actions}
92
+ <CalmPortal
93
+ tone="air"
94
+ base="hero"
95
+ grain={0.35}
96
+ size={1.35}
97
+ feather={6}
98
+ blurPx={9}
95
99
  />
96
- </PageSection>
100
+ <View
101
+ data-pkg-hero-content
102
+ style={{
103
+ position: 'relative',
104
+ zIndex: 1,
105
+ width: '100%',
106
+ height: '100%',
107
+ maxWidth: `var(--max-width-${maxWidth}, 100%)`,
108
+ marginLeft: 'auto',
109
+ marginRight: 'auto',
110
+ }}
111
+ >
112
+ <Cover
113
+ title={title}
114
+ titleMaxWidth={titleMaxWidth}
115
+ text={text}
116
+ textParams={textParams}
117
+ eyebrow={eyebrow}
118
+ meta={meta}
119
+ metaParams={metaParams}
120
+ actions={actions}
121
+ />
122
+ </View>
123
+ </View>
97
124
  )
@@ -288,10 +288,27 @@ export const packageStoreStyles = `
288
288
  gap: var(--space-m);
289
289
  min-height: min(42vh, 420px);
290
290
  height: auto;
291
+ position: relative;
292
+ isolation: isolate;
293
+ overflow: hidden;
291
294
  background-attachment: scroll;
292
295
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--foreground) 6%, transparent);
293
296
  }
294
297
 
298
+ /* CalmMesh paints the field — suppress Theme hero ::before/::after. */
299
+ [data-component="@ossy/package-catalog/package-hero"]::before,
300
+ [data-component="@ossy/package-catalog/package-hero"]::after {
301
+ content: none;
302
+ display: none;
303
+ }
304
+
305
+ [data-component="@ossy/package-catalog/package-hero"] > [data-calm-mesh],
306
+ [data-component="@ossy/package-catalog/package-hero"] > [data-calm-portal] {
307
+ position: absolute;
308
+ inset: 0;
309
+ z-index: 0;
310
+ }
311
+
295
312
  [data-rounded] {
296
313
  border-radius: var(--space-m);
297
314
  overflow: hidden;