@opensite/ui 0.0.3 → 0.0.5

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/types.d.cts CHANGED
@@ -179,6 +179,16 @@ interface PageHeroBannerProps extends HTMLAttributes<HTMLDivElement> {
179
179
  * @default "4xl"
180
180
  */
181
181
  contentMaxWidth?: ContainerMaxWidth;
182
+ /**
183
+ * Custom className for the gradient overlay
184
+ * Allows customization of overlay gradient for accessibility
185
+ */
186
+ overlayClassName?: string;
187
+ /**
188
+ * Custom className for the content Container
189
+ * Allows overriding vertical alignment (e.g., items-start, items-end)
190
+ */
191
+ contentClassName?: string;
182
192
  }
183
193
  /**
184
194
  * Block Types - Content-Specific UI Blocks
@@ -211,5 +221,62 @@ interface AlternatingBlocksProps {
211
221
  */
212
222
  className?: string;
213
223
  }
224
+ /**
225
+ * Props for FeatureShowcase component
226
+ */
227
+ interface FeatureShowcaseItem {
228
+ /**
229
+ * Content node to display (text, headings, etc.)
230
+ */
231
+ content: ReactNode;
232
+ /**
233
+ * Media node to display (image, video, etc.)
234
+ */
235
+ mediaComponent: ReactNode;
236
+ }
237
+ interface FeatureShowcaseProps {
238
+ /**
239
+ * Array of feature items to display in carousel
240
+ */
241
+ items: FeatureShowcaseItem[];
242
+ /**
243
+ * Optional children to render above the carousel (e.g., section title)
244
+ */
245
+ children?: ReactNode;
246
+ /**
247
+ * Additional CSS classes for the outer container
248
+ */
249
+ className?: string;
250
+ /**
251
+ * Additional CSS classes for the carousel wrapper
252
+ */
253
+ carouselClassName?: string;
254
+ /**
255
+ * Additional CSS classes for each slide container
256
+ */
257
+ slideClassName?: string;
258
+ /**
259
+ * Additional CSS classes for the content area
260
+ */
261
+ contentClassName?: string;
262
+ /**
263
+ * Additional CSS classes for the media area
264
+ */
265
+ mediaClassName?: string;
266
+ /**
267
+ * Additional CSS classes for navigation arrows
268
+ */
269
+ arrowClassName?: string;
270
+ /**
271
+ * Whether to equalize slide heights on mobile
272
+ * @default true
273
+ */
274
+ equalizeOnMobile?: boolean;
275
+ /**
276
+ * Whether to stretch media to fill available height on mobile
277
+ * @default true
278
+ */
279
+ stretchMediaOnMobile?: boolean;
280
+ }
214
281
 
215
- export type { AlternatingBlockSection, AlternatingBlocksProps, AnimatedDialogProps, AnimatedDialogSize, ContainerMaxWidth, ContainerProps, PageHeroBannerProps, SectionBackground, SectionProps, SectionSpacing };
282
+ export type { AlternatingBlockSection, AlternatingBlocksProps, AnimatedDialogProps, AnimatedDialogSize, ContainerMaxWidth, ContainerProps, FeatureShowcaseItem, FeatureShowcaseProps, PageHeroBannerProps, SectionBackground, SectionProps, SectionSpacing };
package/dist/types.d.ts CHANGED
@@ -179,6 +179,16 @@ interface PageHeroBannerProps extends HTMLAttributes<HTMLDivElement> {
179
179
  * @default "4xl"
180
180
  */
181
181
  contentMaxWidth?: ContainerMaxWidth;
182
+ /**
183
+ * Custom className for the gradient overlay
184
+ * Allows customization of overlay gradient for accessibility
185
+ */
186
+ overlayClassName?: string;
187
+ /**
188
+ * Custom className for the content Container
189
+ * Allows overriding vertical alignment (e.g., items-start, items-end)
190
+ */
191
+ contentClassName?: string;
182
192
  }
183
193
  /**
184
194
  * Block Types - Content-Specific UI Blocks
@@ -211,5 +221,62 @@ interface AlternatingBlocksProps {
211
221
  */
212
222
  className?: string;
213
223
  }
224
+ /**
225
+ * Props for FeatureShowcase component
226
+ */
227
+ interface FeatureShowcaseItem {
228
+ /**
229
+ * Content node to display (text, headings, etc.)
230
+ */
231
+ content: ReactNode;
232
+ /**
233
+ * Media node to display (image, video, etc.)
234
+ */
235
+ mediaComponent: ReactNode;
236
+ }
237
+ interface FeatureShowcaseProps {
238
+ /**
239
+ * Array of feature items to display in carousel
240
+ */
241
+ items: FeatureShowcaseItem[];
242
+ /**
243
+ * Optional children to render above the carousel (e.g., section title)
244
+ */
245
+ children?: ReactNode;
246
+ /**
247
+ * Additional CSS classes for the outer container
248
+ */
249
+ className?: string;
250
+ /**
251
+ * Additional CSS classes for the carousel wrapper
252
+ */
253
+ carouselClassName?: string;
254
+ /**
255
+ * Additional CSS classes for each slide container
256
+ */
257
+ slideClassName?: string;
258
+ /**
259
+ * Additional CSS classes for the content area
260
+ */
261
+ contentClassName?: string;
262
+ /**
263
+ * Additional CSS classes for the media area
264
+ */
265
+ mediaClassName?: string;
266
+ /**
267
+ * Additional CSS classes for navigation arrows
268
+ */
269
+ arrowClassName?: string;
270
+ /**
271
+ * Whether to equalize slide heights on mobile
272
+ * @default true
273
+ */
274
+ equalizeOnMobile?: boolean;
275
+ /**
276
+ * Whether to stretch media to fill available height on mobile
277
+ * @default true
278
+ */
279
+ stretchMediaOnMobile?: boolean;
280
+ }
214
281
 
215
- export type { AlternatingBlockSection, AlternatingBlocksProps, AnimatedDialogProps, AnimatedDialogSize, ContainerMaxWidth, ContainerProps, PageHeroBannerProps, SectionBackground, SectionProps, SectionSpacing };
282
+ export type { AlternatingBlockSection, AlternatingBlocksProps, AnimatedDialogProps, AnimatedDialogSize, ContainerMaxWidth, ContainerProps, FeatureShowcaseItem, FeatureShowcaseProps, PageHeroBannerProps, SectionBackground, SectionProps, SectionSpacing };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",
@@ -81,6 +81,11 @@
81
81
  "import": "./dist/alternating-blocks.js",
82
82
  "require": "./dist/alternating-blocks.cjs"
83
83
  },
84
+ "./blocks/features/feature-showcase": {
85
+ "types": "./dist/feature-showcase.d.ts",
86
+ "import": "./dist/feature-showcase.js",
87
+ "require": "./dist/feature-showcase.cjs"
88
+ },
84
89
  "./registry": {
85
90
  "types": "./dist/registry.d.ts",
86
91
  "import": "./dist/registry.js",
@@ -145,8 +150,8 @@
145
150
  "@radix-ui/react-slot": "^1.2.4",
146
151
  "class-variance-authority": "^0.7.1",
147
152
  "clsx": "^2.1.1",
153
+ "embla-carousel-react": "^8.6.0",
148
154
  "framer-motion": "^12.2.0",
149
- "lucide-react": "^0.562.0",
150
155
  "tailwind-merge": "^3.4.0",
151
156
  "tw-animate-css": "^1.4.0"
152
157
  },