@aspect-ops/exon-ui 0.3.0 → 0.4.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/README.md +0 -45
- package/dist/components/BottomNav/BottomNavItem.svelte +4 -3
- package/dist/components/BottomNav/BottomNavItem.svelte.d.ts +2 -1
- package/dist/components/DoughnutChart/DoughnutChart.svelte +4 -4
- package/dist/components/FlexibleGrid/FlexibleGrid.svelte +118 -0
- package/dist/components/FlexibleGrid/FlexibleGrid.svelte.d.ts +7 -0
- package/dist/components/FlexibleGrid/README.md +212 -0
- package/dist/components/FlexibleGrid/index.d.ts +2 -0
- package/dist/components/FlexibleGrid/index.js +1 -0
- package/dist/components/GlobalHeader/GlobalHeader.svelte +201 -87
- package/dist/components/HeroLeftAligned/HeroLeftAligned.svelte +182 -0
- package/dist/components/HeroLeftAligned/HeroLeftAligned.svelte.d.ts +8 -0
- package/dist/components/HeroLeftAligned/README.md +168 -0
- package/dist/components/HeroLeftAligned/index.d.ts +2 -0
- package/dist/components/HeroLeftAligned/index.js +1 -0
- package/dist/components/IconFeatureCard/IconFeatureCard.svelte +173 -0
- package/dist/components/IconFeatureCard/IconFeatureCard.svelte.d.ts +4 -0
- package/dist/components/IconFeatureCard/README.md +234 -0
- package/dist/components/IconFeatureCard/index.d.ts +2 -0
- package/dist/components/IconFeatureCard/index.js +1 -0
- package/dist/components/ImageTextCard/ImageTextCard.svelte +149 -0
- package/dist/components/ImageTextCard/ImageTextCard.svelte.d.ts +22 -0
- package/dist/components/ImageTextCard/README.md +177 -0
- package/dist/components/ImageTextCard/index.d.ts +2 -0
- package/dist/components/ImageTextCard/index.js +1 -0
- package/dist/components/Sidebar/SidebarGroup.svelte +1 -4
- package/dist/index.d.ts +7 -1
- package/dist/index.js +4 -1
- package/dist/types/index.d.ts +49 -1
- package/dist/types/layout.d.ts +20 -0
- package/package.json +9 -2
- package/dist/components/Mermaid/Mermaid.svelte +0 -320
- package/dist/components/Mermaid/Mermaid.svelte.d.ts +0 -38
- package/dist/components/Mermaid/index.d.ts +0 -1
- package/dist/components/Mermaid/index.js +0 -1
- package/dist/components/Mermaid/mermaid.d.ts +0 -21
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
interface ImageTextCardProps {
|
|
3
|
+
image: string;
|
|
4
|
+
imageAlt?: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
bgColor?: string;
|
|
8
|
+
textColor?: string;
|
|
9
|
+
titleColor?: string;
|
|
10
|
+
descColor?: string;
|
|
11
|
+
imageSize?: string;
|
|
12
|
+
imageShape?: 'circle' | 'square' | 'rounded';
|
|
13
|
+
reverseLayout?: boolean;
|
|
14
|
+
cardHeight?: string;
|
|
15
|
+
padding?: string;
|
|
16
|
+
gap?: string;
|
|
17
|
+
titleFontSize?: string;
|
|
18
|
+
descFontSize?: string;
|
|
19
|
+
class?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let {
|
|
23
|
+
image,
|
|
24
|
+
imageAlt = '',
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
bgColor = '#B85C5C',
|
|
28
|
+
textColor = 'white',
|
|
29
|
+
titleColor,
|
|
30
|
+
descColor,
|
|
31
|
+
imageSize = '140px',
|
|
32
|
+
imageShape = 'circle',
|
|
33
|
+
reverseLayout = false,
|
|
34
|
+
cardHeight = 'auto',
|
|
35
|
+
padding = '3rem 4rem',
|
|
36
|
+
gap = '2.5rem',
|
|
37
|
+
titleFontSize = '2.25rem',
|
|
38
|
+
descFontSize = '1.25rem',
|
|
39
|
+
class: className = ''
|
|
40
|
+
}: ImageTextCardProps = $props();
|
|
41
|
+
|
|
42
|
+
const finalTitleColor = $derived(titleColor || textColor);
|
|
43
|
+
const finalDescColor = $derived(descColor || textColor);
|
|
44
|
+
</script>
|
|
45
|
+
|
|
46
|
+
<div
|
|
47
|
+
class="image-text-card {className}"
|
|
48
|
+
class:reverse={reverseLayout}
|
|
49
|
+
style="
|
|
50
|
+
background-color: {bgColor};
|
|
51
|
+
height: {cardHeight};
|
|
52
|
+
padding: {padding};
|
|
53
|
+
gap: {gap};
|
|
54
|
+
color: {textColor};
|
|
55
|
+
"
|
|
56
|
+
>
|
|
57
|
+
<div class="image-container" style="width: {imageSize}; height: {imageSize};">
|
|
58
|
+
<img
|
|
59
|
+
src={image}
|
|
60
|
+
alt={imageAlt}
|
|
61
|
+
class="card-image"
|
|
62
|
+
class:circle={imageShape === 'circle'}
|
|
63
|
+
class:rounded={imageShape === 'rounded'}
|
|
64
|
+
class:square={imageShape === 'square'}
|
|
65
|
+
/>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div class="text-content">
|
|
69
|
+
<h3 class="card-title" style="color: {finalTitleColor}; font-size: {titleFontSize};">
|
|
70
|
+
{title}
|
|
71
|
+
</h3>
|
|
72
|
+
<p class="card-description" style="color: {finalDescColor}; font-size: {descFontSize};">
|
|
73
|
+
{description}
|
|
74
|
+
</p>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<style>
|
|
79
|
+
.image-text-card {
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
border-radius: 1.75rem;
|
|
83
|
+
transition: all 0.3s ease;
|
|
84
|
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
85
|
+
font-family: inherit;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.image-text-card:hover {
|
|
89
|
+
transform: translateY(-2px);
|
|
90
|
+
box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.image-text-card.reverse {
|
|
94
|
+
flex-direction: row-reverse;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.image-container {
|
|
98
|
+
flex-shrink: 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.card-image {
|
|
102
|
+
width: 100%;
|
|
103
|
+
height: 100%;
|
|
104
|
+
object-fit: cover;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.card-image.circle {
|
|
108
|
+
border-radius: 50%;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.card-image.rounded {
|
|
112
|
+
border-radius: 1rem;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.card-image.square {
|
|
116
|
+
border-radius: 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.text-content {
|
|
120
|
+
flex: 1;
|
|
121
|
+
min-width: 0;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.card-title {
|
|
125
|
+
margin: 0 0 1rem 0;
|
|
126
|
+
font-weight: 700;
|
|
127
|
+
line-height: 1.2;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.card-description {
|
|
131
|
+
margin: 0;
|
|
132
|
+
line-height: 1.7;
|
|
133
|
+
font-weight: 400;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* Mobile: Stack vertically on tablets and below */
|
|
137
|
+
@media (max-width: 768px) {
|
|
138
|
+
.image-text-card {
|
|
139
|
+
flex-direction: column;
|
|
140
|
+
text-align: center;
|
|
141
|
+
gap: 2rem !important;
|
|
142
|
+
padding: 2rem !important;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.image-text-card.reverse {
|
|
146
|
+
flex-direction: column;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
</style>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface ImageTextCardProps {
|
|
2
|
+
image: string;
|
|
3
|
+
imageAlt?: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
bgColor?: string;
|
|
7
|
+
textColor?: string;
|
|
8
|
+
titleColor?: string;
|
|
9
|
+
descColor?: string;
|
|
10
|
+
imageSize?: string;
|
|
11
|
+
imageShape?: 'circle' | 'square' | 'rounded';
|
|
12
|
+
reverseLayout?: boolean;
|
|
13
|
+
cardHeight?: string;
|
|
14
|
+
padding?: string;
|
|
15
|
+
gap?: string;
|
|
16
|
+
titleFontSize?: string;
|
|
17
|
+
descFontSize?: string;
|
|
18
|
+
class?: string;
|
|
19
|
+
}
|
|
20
|
+
declare const ImageTextCard: import("svelte").Component<ImageTextCardProps, {}, "">;
|
|
21
|
+
type ImageTextCard = ReturnType<typeof ImageTextCard>;
|
|
22
|
+
export default ImageTextCard;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# ImageTextCard
|
|
2
|
+
|
|
3
|
+
A horizontal card component featuring an icon/image on the left and title/description text on the right, all on a colored background. Perfect for showcasing features, services, or benefits with visual icons.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Horizontal layout with icon and text content
|
|
8
|
+
- Three image shape options (circle, square, rounded)
|
|
9
|
+
- Reverse layout support (image on right)
|
|
10
|
+
- Fully customizable colors and sizing
|
|
11
|
+
- Responsive design (stacks vertically on mobile)
|
|
12
|
+
- Hover effects with smooth transitions
|
|
13
|
+
- Accessibility support
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
### Basic Example
|
|
18
|
+
|
|
19
|
+
```svelte
|
|
20
|
+
<script>
|
|
21
|
+
import { ImageTextCard } from '@aspect-ops/exon-ui';
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<ImageTextCard
|
|
25
|
+
image="/icon-process.svg"
|
|
26
|
+
imageAlt="Process icon"
|
|
27
|
+
title="Process Harmonization"
|
|
28
|
+
description="Align processes across your organization for improved efficiency and consistency."
|
|
29
|
+
bgColor="#B85C5C"
|
|
30
|
+
/>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### With Custom Colors
|
|
34
|
+
|
|
35
|
+
```svelte
|
|
36
|
+
<ImageTextCard
|
|
37
|
+
image="/icon-digital.svg"
|
|
38
|
+
imageAlt="Digital transformation icon"
|
|
39
|
+
title="Digital Transformation"
|
|
40
|
+
description="Drive seamless digital transformation with expert solutions and strategic guidance."
|
|
41
|
+
bgColor="#3B5998"
|
|
42
|
+
textColor="white"
|
|
43
|
+
/>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Rounded Image
|
|
47
|
+
|
|
48
|
+
```svelte
|
|
49
|
+
<ImageTextCard
|
|
50
|
+
image="/product-photo.jpg"
|
|
51
|
+
imageAlt="Product"
|
|
52
|
+
title="Our Product"
|
|
53
|
+
description="Discover the features that make our product stand out."
|
|
54
|
+
imageShape="rounded"
|
|
55
|
+
bgColor="#10B981"
|
|
56
|
+
/>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Reverse Layout
|
|
60
|
+
|
|
61
|
+
```svelte
|
|
62
|
+
<ImageTextCard
|
|
63
|
+
image="/icon-support.svg"
|
|
64
|
+
imageAlt="Support icon"
|
|
65
|
+
title="24/7 Support"
|
|
66
|
+
description="Get help whenever you need it with our round-the-clock support team."
|
|
67
|
+
reverseLayout={true}
|
|
68
|
+
bgColor="#6366F1"
|
|
69
|
+
/>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Props
|
|
73
|
+
|
|
74
|
+
| Prop | Type | Default | Description |
|
|
75
|
+
| --------------- | ----------------------------------- | ------------- | --------------------------------------- |
|
|
76
|
+
| `image` | `string` | **required** | Image URL or path |
|
|
77
|
+
| `imageAlt` | `string` | `''` | Alt text for accessibility |
|
|
78
|
+
| `title` | `string` | **required** | Card title |
|
|
79
|
+
| `description` | `string` | **required** | Card description text |
|
|
80
|
+
| `bgColor` | `string` | `'#B85C5C'` | Background color |
|
|
81
|
+
| `textColor` | `string` | `'white'` | Default text color |
|
|
82
|
+
| `titleColor` | `string` | `undefined` | Title color (overrides textColor) |
|
|
83
|
+
| `descColor` | `string` | `undefined` | Description color (overrides textColor) |
|
|
84
|
+
| `imageSize` | `string` | `'140px'` | Size of the image (width and height) |
|
|
85
|
+
| `imageShape` | `'circle' \| 'square' \| 'rounded'` | `'circle'` | Image shape style |
|
|
86
|
+
| `reverseLayout` | `boolean` | `false` | Flip image and text positions |
|
|
87
|
+
| `cardHeight` | `string` | `'auto'` | Card height |
|
|
88
|
+
| `padding` | `string` | `'3rem 4rem'` | Card padding |
|
|
89
|
+
| `gap` | `string` | `'2.5rem'` | Gap between image and text |
|
|
90
|
+
| `titleFontSize` | `string` | `'2.25rem'` | Title font size |
|
|
91
|
+
| `descFontSize` | `string` | `'1.25rem'` | Description font size |
|
|
92
|
+
| `class` | `string` | `''` | Additional CSS classes |
|
|
93
|
+
|
|
94
|
+
## Styling
|
|
95
|
+
|
|
96
|
+
The component uses inline styles for theming but also responds to the parent's font-family.
|
|
97
|
+
|
|
98
|
+
### Hover Effect
|
|
99
|
+
|
|
100
|
+
The card has a built-in hover effect that lifts the card slightly and enhances the shadow:
|
|
101
|
+
|
|
102
|
+
- Transform: `translateY(-2px)`
|
|
103
|
+
- Shadow increases from `0 4px 6px` to `0 8px 12px`
|
|
104
|
+
|
|
105
|
+
## Accessibility
|
|
106
|
+
|
|
107
|
+
- Image `alt` text supported via `imageAlt` prop
|
|
108
|
+
- Semantic HTML with `<h3>` for title and `<p>` for description
|
|
109
|
+
- Sufficient color contrast (white text on colored backgrounds)
|
|
110
|
+
- Inherits font-family for consistent typography
|
|
111
|
+
|
|
112
|
+
## Responsive Design
|
|
113
|
+
|
|
114
|
+
- **Desktop (769px+):** Horizontal layout with image on left/right
|
|
115
|
+
- **Tablet & Mobile (≤768px):** Stacks vertically with centered text
|
|
116
|
+
- **Mobile adjustments:** Reduced padding (2rem) and gap (2rem)
|
|
117
|
+
|
|
118
|
+
## Examples
|
|
119
|
+
|
|
120
|
+
### Feature Showcase
|
|
121
|
+
|
|
122
|
+
```svelte
|
|
123
|
+
<div class="features-grid">
|
|
124
|
+
<ImageTextCard
|
|
125
|
+
image="/icons/speed.svg"
|
|
126
|
+
imageAlt="Speed icon"
|
|
127
|
+
title="Lightning Fast"
|
|
128
|
+
description="Optimized performance for the best user experience."
|
|
129
|
+
bgColor="#EF4444"
|
|
130
|
+
/>
|
|
131
|
+
<ImageTextCard
|
|
132
|
+
image="/icons/secure.svg"
|
|
133
|
+
imageAlt="Security icon"
|
|
134
|
+
title="Secure by Default"
|
|
135
|
+
description="Built-in security features to protect your data."
|
|
136
|
+
bgColor="#3B82F6"
|
|
137
|
+
/>
|
|
138
|
+
<ImageTextCard
|
|
139
|
+
image="/icons/scalable.svg"
|
|
140
|
+
imageAlt="Scalability icon"
|
|
141
|
+
title="Infinitely Scalable"
|
|
142
|
+
description="Grows with your business, from startup to enterprise."
|
|
143
|
+
bgColor="#10B981"
|
|
144
|
+
/>
|
|
145
|
+
</div>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Service Cards
|
|
149
|
+
|
|
150
|
+
```svelte
|
|
151
|
+
<ImageTextCard
|
|
152
|
+
image="/services/consulting.jpg"
|
|
153
|
+
imageAlt="Consulting"
|
|
154
|
+
title="Expert Consulting"
|
|
155
|
+
description="Get personalized guidance from our team of industry experts."
|
|
156
|
+
imageShape="rounded"
|
|
157
|
+
bgColor="#8B5CF6"
|
|
158
|
+
imageSize="140px"
|
|
159
|
+
padding="2.5rem"
|
|
160
|
+
/>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Custom Typography
|
|
164
|
+
|
|
165
|
+
```svelte
|
|
166
|
+
<ImageTextCard
|
|
167
|
+
image="/icon-analytics.svg"
|
|
168
|
+
imageAlt="Analytics icon"
|
|
169
|
+
title="Data Analytics"
|
|
170
|
+
description="Transform raw data into actionable insights with our advanced analytics platform."
|
|
171
|
+
bgColor="#059669"
|
|
172
|
+
titleFontSize="2rem"
|
|
173
|
+
descFontSize="1.25rem"
|
|
174
|
+
titleColor="#F0FDF4"
|
|
175
|
+
descColor="#D1FAE5"
|
|
176
|
+
/>
|
|
177
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ImageTextCard } from './ImageTextCard.svelte';
|
package/dist/index.d.ts
CHANGED
|
@@ -68,9 +68,14 @@ export { Image } from './components/Image/index.js';
|
|
|
68
68
|
export { StatusBadge } from './components/StatusBadge/index.js';
|
|
69
69
|
export { StatsCard } from './components/StatsCard/index.js';
|
|
70
70
|
export { DataTable } from './components/DataTable/index.js';
|
|
71
|
+
export { ImageTextCard } from './components/ImageTextCard/index.js';
|
|
72
|
+
export type { ImageTextCardProps } from './components/ImageTextCard/index.js';
|
|
73
|
+
export { IconFeatureCard } from './components/IconFeatureCard/index.js';
|
|
74
|
+
export type { IconFeatureCardProps } from './components/IconFeatureCard/index.js';
|
|
71
75
|
export { Container } from './components/Container/index.js';
|
|
72
76
|
export { Grid } from './components/Grid/index.js';
|
|
73
77
|
export { GridItem } from './components/Grid/index.js';
|
|
78
|
+
export { FlexibleGrid } from './components/FlexibleGrid/index.js';
|
|
74
79
|
export { Stack } from './components/Stack/index.js';
|
|
75
80
|
export { Divider } from './components/Divider/index.js';
|
|
76
81
|
export { Spacer } from './components/Spacer/index.js';
|
|
@@ -87,12 +92,13 @@ export { Chatbot, ChatMessage } from './components/Chatbot/index.js';
|
|
|
87
92
|
export type { ChatMessage as ChatMessageType, MessageRole, LeadData, ChatbotProps } from './components/Chatbot/types.js';
|
|
88
93
|
export { ContactForm } from './components/ContactForm/index.js';
|
|
89
94
|
export { ViewCounter } from './components/ViewCounter/index.js';
|
|
90
|
-
export { Mermaid } from './components/Mermaid/index.js';
|
|
91
95
|
export { DoughnutChart } from './components/DoughnutChart/index.js';
|
|
92
96
|
export { TestimonialCard } from './components/TestimonialCard/index.js';
|
|
93
97
|
export type { TestimonialCardProps } from './components/TestimonialCard/index.js';
|
|
94
98
|
export { Hero } from './components/Hero/index.js';
|
|
95
99
|
export type { HeroProps } from './components/Hero/index.js';
|
|
100
|
+
export { HeroLeftAligned } from './components/HeroLeftAligned/index.js';
|
|
101
|
+
export type { HeroLeftAlignedProps } from './components/HeroLeftAligned/index.js';
|
|
96
102
|
export { GlobalHeader } from './components/GlobalHeader/index.js';
|
|
97
103
|
export type { GlobalHeaderProps, NavItem as GlobalHeaderNavItem } from './components/GlobalHeader/index.js';
|
|
98
104
|
export { CTASection } from './components/CTASection/index.js';
|
package/dist/index.js
CHANGED
|
@@ -75,10 +75,13 @@ export { Image } from './components/Image/index.js';
|
|
|
75
75
|
export { StatusBadge } from './components/StatusBadge/index.js';
|
|
76
76
|
export { StatsCard } from './components/StatsCard/index.js';
|
|
77
77
|
export { DataTable } from './components/DataTable/index.js';
|
|
78
|
+
export { ImageTextCard } from './components/ImageTextCard/index.js';
|
|
79
|
+
export { IconFeatureCard } from './components/IconFeatureCard/index.js';
|
|
78
80
|
// Layout Components
|
|
79
81
|
export { Container } from './components/Container/index.js';
|
|
80
82
|
export { Grid } from './components/Grid/index.js';
|
|
81
83
|
export { GridItem } from './components/Grid/index.js';
|
|
84
|
+
export { FlexibleGrid } from './components/FlexibleGrid/index.js';
|
|
82
85
|
export { Stack } from './components/Stack/index.js';
|
|
83
86
|
export { Divider } from './components/Divider/index.js';
|
|
84
87
|
export { Spacer } from './components/Spacer/index.js';
|
|
@@ -96,11 +99,11 @@ export { FAB, FABGroup } from './components/FAB/index.js';
|
|
|
96
99
|
export { Chatbot, ChatMessage } from './components/Chatbot/index.js';
|
|
97
100
|
export { ContactForm } from './components/ContactForm/index.js';
|
|
98
101
|
export { ViewCounter } from './components/ViewCounter/index.js';
|
|
99
|
-
export { Mermaid } from './components/Mermaid/index.js';
|
|
100
102
|
export { DoughnutChart } from './components/DoughnutChart/index.js';
|
|
101
103
|
// Section Components (Website Sections)
|
|
102
104
|
export { TestimonialCard } from './components/TestimonialCard/index.js';
|
|
103
105
|
export { Hero } from './components/Hero/index.js';
|
|
106
|
+
export { HeroLeftAligned } from './components/HeroLeftAligned/index.js';
|
|
104
107
|
export { GlobalHeader } from './components/GlobalHeader/index.js';
|
|
105
108
|
export { CTASection } from './components/CTASection/index.js';
|
|
106
109
|
export { LogoCloud } from './components/LogoCloud/index.js';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -129,6 +129,54 @@ export interface SwitchProps {
|
|
|
129
129
|
export type { TabsOrientation, TabsProps, TabListProps, TabTriggerProps, TabContentProps, MenuProps, MenuTriggerProps, MenuContentProps, MenuItemProps, MenuSeparatorProps, MenuSubProps, MenuSubTriggerProps, MenuSubContentProps, BreadcrumbItemData, BreadcrumbsProps, BreadcrumbItemProps, BottomNavItemData, BottomNavProps, BottomNavItemProps, NavItemProps, NavbarProps, SidebarItemData, SidebarProps, SidebarItemProps, SidebarGroupProps, StepperOrientation, StepperProps, StepperStepProps } from './navigation.js';
|
|
130
130
|
export type { AlertVariant, AlertProps, ToastVariant, ToastPosition, ToastData, ToastProps, ToastContainerProps, ModalSize, ModalProps, ModalHeaderProps, ModalBodyProps, ModalFooterProps, ProgressSize, ProgressBarProps, ProgressCircleProps, SpinnerProps, TooltipSide, TooltipProps, PopoverSide, PopoverProps, PopoverTriggerProps, PopoverContentProps, SkeletonVariant, SkeletonProps, StatusBannerStatus, StatusBannerPosition, StatusBannerProps } from './feedback.js';
|
|
131
131
|
export type { CardVariant, CardProps, CardHeaderProps, CardBodyProps, CardFooterProps, FlipCardProps, AvatarSize, AvatarShape, AvatarProps, AvatarGroupProps, TagVariant, TagSize, TagProps, ChipVariant, ChipColor, ChipSize, ChipProps, ChipGroupProps, EmptyStateSize, EmptyStateProps, PageHeaderProps, StatCircleColor, StatCircleSize, StatCircleProps, ListProps, ListItemProps, TableProps, TableHeadProps, TableHeaderAlign, TableHeaderSortDirection, TableHeaderProps, TableBodyProps, TableRowProps, TableCellAlign, TableCellProps, AccordionProps, AccordionItemProps, SliderProps, CarouselProps, CarouselSlideProps, ImageObjectFit, ImageRounded, ImageProps, StatusBadgeColor, StatusBadgeSize, StatusBadgeProps, StatsCardColor, StatsCardTrend, StatsCardProps, DataTableSortOrder, DataTableColumnAlign, DataTableColumn, DataTableProps } from './data-display.js';
|
|
132
|
-
export type { ContainerSize, ContainerProps, GridAlign, GridJustify, SpacingToken, GridProps, GridItemProps, StackDirection, StackProps, DividerOrientation, DividerProps, SpacerSize, SpacerProps, AspectRatioPreset, AspectRatioProps, CenterProps, BoxProps } from './layout.js';
|
|
132
|
+
export type { ContainerSize, ContainerProps, GridAlign, GridJustify, SpacingToken, GridProps, GridItemProps, StackDirection, StackProps, DividerOrientation, DividerProps, SpacerSize, SpacerProps, AspectRatioPreset, AspectRatioProps, CenterProps, BoxProps, FlexibleGridCell, FlexibleGridRow, FlexibleGridProps } from './layout.js';
|
|
133
133
|
export type { SafeAreaEdge, SafeAreaProps, BottomSheetSnapPoint, BottomSheetProps, BottomSheetHeaderProps, BottomSheetBodyProps, ActionSheetAction, ActionSheetProps, ActionSheetItemProps, PullToRefreshProps, SwipeActionSide, SwipeActionData, SwipeActionsProps, SwipeActionProps, FABSize, FABPosition, FABProps, FABAction, FABGroupProps } from './mobile.js';
|
|
134
134
|
export type { SearchInputProps, DatePickerProps, FileUploadProps, OTPInputProps, TimeFormat, TimePickerProps, RatingProps, ToggleGroupType, ToggleGroupOrientation, ToggleGroupProps, ToggleGroupItemProps, NumberInputProps, PaginationProps } from './input.js';
|
|
135
|
+
export interface HeroLeftAlignedProps {
|
|
136
|
+
title: string;
|
|
137
|
+
subtitle?: string;
|
|
138
|
+
backgroundImage?: string;
|
|
139
|
+
backgroundColor?: string;
|
|
140
|
+
textColor?: string;
|
|
141
|
+
overlayOpacity?: number;
|
|
142
|
+
height?: string;
|
|
143
|
+
class?: string;
|
|
144
|
+
}
|
|
145
|
+
export interface ImageTextCardProps {
|
|
146
|
+
image: string;
|
|
147
|
+
imageAlt?: string;
|
|
148
|
+
title: string;
|
|
149
|
+
description: string;
|
|
150
|
+
bgColor?: string;
|
|
151
|
+
textColor?: string;
|
|
152
|
+
titleColor?: string;
|
|
153
|
+
descColor?: string;
|
|
154
|
+
imageSize?: string;
|
|
155
|
+
imageShape?: 'circle' | 'square' | 'rounded';
|
|
156
|
+
reverseLayout?: boolean;
|
|
157
|
+
cardHeight?: string;
|
|
158
|
+
padding?: string;
|
|
159
|
+
gap?: string;
|
|
160
|
+
titleFontSize?: string;
|
|
161
|
+
descFontSize?: string;
|
|
162
|
+
class?: string;
|
|
163
|
+
}
|
|
164
|
+
export interface IconFeatureCardProps {
|
|
165
|
+
icon: string;
|
|
166
|
+
iconAlt?: string;
|
|
167
|
+
title: string;
|
|
168
|
+
features: string[];
|
|
169
|
+
topBgColor?: string;
|
|
170
|
+
iconBgColor?: string;
|
|
171
|
+
iconSize?: string;
|
|
172
|
+
iconContainerSize?: string;
|
|
173
|
+
titleColor?: string;
|
|
174
|
+
titleFontSize?: string;
|
|
175
|
+
featureColor?: string;
|
|
176
|
+
featureFontSize?: string;
|
|
177
|
+
borderRadius?: string;
|
|
178
|
+
padding?: string;
|
|
179
|
+
featureGap?: string;
|
|
180
|
+
bulletColor?: string;
|
|
181
|
+
class?: string;
|
|
182
|
+
}
|
package/dist/types/layout.d.ts
CHANGED
|
@@ -55,3 +55,23 @@ export interface BoxProps {
|
|
|
55
55
|
as?: keyof HTMLElementTagNameMap;
|
|
56
56
|
class?: string;
|
|
57
57
|
}
|
|
58
|
+
export interface FlexibleGridCell {
|
|
59
|
+
span: number;
|
|
60
|
+
content: string;
|
|
61
|
+
bgColor?: string;
|
|
62
|
+
textColor?: string;
|
|
63
|
+
class?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface FlexibleGridRow {
|
|
66
|
+
cells: FlexibleGridCell[];
|
|
67
|
+
class?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface FlexibleGridProps {
|
|
70
|
+
rows: FlexibleGridRow[];
|
|
71
|
+
gap?: SpacingToken | string;
|
|
72
|
+
cellHeight?: string;
|
|
73
|
+
defaultBgColor?: string;
|
|
74
|
+
defaultTextColor?: string;
|
|
75
|
+
columns?: number;
|
|
76
|
+
class?: string;
|
|
77
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aspect-ops/exon-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Reusable Svelte UI components for web and Capacitor mobile apps",
|
|
5
5
|
"author": "Exon Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -41,6 +41,14 @@
|
|
|
41
41
|
"types": "./dist/components/Link/index.d.ts",
|
|
42
42
|
"svelte": "./dist/components/Link/index.js"
|
|
43
43
|
},
|
|
44
|
+
"./FlexibleGrid": {
|
|
45
|
+
"types": "./dist/components/FlexibleGrid/index.d.ts",
|
|
46
|
+
"svelte": "./dist/components/FlexibleGrid/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./HeroLeftAligned": {
|
|
49
|
+
"types": "./dist/components/HeroLeftAligned/index.d.ts",
|
|
50
|
+
"svelte": "./dist/components/HeroLeftAligned/index.js"
|
|
51
|
+
},
|
|
44
52
|
"./styles": "./dist/styles/tokens.css",
|
|
45
53
|
"./package.json": "./package.json"
|
|
46
54
|
},
|
|
@@ -98,7 +106,6 @@
|
|
|
98
106
|
"husky": "^9.1.7",
|
|
99
107
|
"jsdom": "^25.0.0",
|
|
100
108
|
"lint-staged": "^16.2.7",
|
|
101
|
-
"mermaid": "^11.12.2",
|
|
102
109
|
"prettier": "^3.0.0",
|
|
103
110
|
"prettier-plugin-svelte": "^3.0.0",
|
|
104
111
|
"publint": "^0.2.0",
|