@reliability-design/web 1.0.2 → 1.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.
Files changed (54) hide show
  1. package/dist/components/rel-accordion/rel-accordion.ts +27 -22
  2. package/dist/components/rel-alert/rel-alert.ts +98 -66
  3. package/dist/components/rel-avatar/rel-avatar.ts +8 -15
  4. package/dist/components/rel-badge/rel-badge.ts +23 -16
  5. package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +12 -12
  6. package/dist/components/rel-button/rel-button.ts +39 -59
  7. package/dist/components/rel-card/rel-card.ts +11 -10
  8. package/dist/components/rel-cardmedia/rel-cardmedia.ts +11 -17
  9. package/dist/components/rel-checkbox/rel-checkbox.ts +18 -35
  10. package/dist/components/rel-chip/rel-chip.ts +37 -128
  11. package/dist/components/rel-container/rel-container.ts +1 -6
  12. package/dist/components/rel-divider/rel-divider.ts +37 -37
  13. package/dist/components/rel-layout/rel-layout.ts +12 -14
  14. package/dist/components/rel-progress/rel-progress.ts +26 -15
  15. package/dist/components/rel-radio/rel-radio.ts +32 -72
  16. package/dist/components/rel-snackbar/rel-snackbar.ts +6 -0
  17. package/dist/components/rel-stepper/rel-stepper.ts +23 -2
  18. package/dist/components/rel-switch/rel-switch.ts +7 -5
  19. package/dist/components/rel-tab/rel-tab.ts +10 -8
  20. package/dist/components/rel-textfield/rel-textfield.ts +2 -2
  21. package/dist/index.d.mts +11 -7
  22. package/dist/index.d.ts +11 -7
  23. package/dist/index.js +367 -475
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.mjs +383 -489
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/vars-6ZIUPIU4.css +184 -0
  28. package/package.json +2 -2
  29. package/dist/components/rel-accordion/rel-accordion.stories.ts +0 -313
  30. package/dist/components/rel-alert/rel-alert.stories.ts +0 -412
  31. package/dist/components/rel-avatar/rel-avatar.stories.ts +0 -327
  32. package/dist/components/rel-badge/rel-badge.stories.ts +0 -350
  33. package/dist/components/rel-breadcrumb/rel-breadcrumb.stories.ts +0 -306
  34. package/dist/components/rel-button/rel-button.stories.ts +0 -356
  35. package/dist/components/rel-card/rel-card.stories.ts +0 -299
  36. package/dist/components/rel-cardmedia/rel-cardmedia.stories.ts +0 -368
  37. package/dist/components/rel-checkbox/rel-checkbox.stories.ts +0 -414
  38. package/dist/components/rel-chip/rel-chip.stories.ts +0 -552
  39. package/dist/components/rel-container/rel-container.stories.ts +0 -239
  40. package/dist/components/rel-divider/rel-divider.stories.ts +0 -229
  41. package/dist/components/rel-layout/rel-layout.stories.ts +0 -713
  42. package/dist/components/rel-menu/rel-menu.stories.ts +0 -910
  43. package/dist/components/rel-progress/rel-progress.stories.ts +0 -817
  44. package/dist/components/rel-radio/rel-radio.stories.ts +0 -1048
  45. package/dist/components/rel-segmented-button/rel-segmented-button.stories.ts +0 -1079
  46. package/dist/components/rel-select/rel-select.stories.ts +0 -1201
  47. package/dist/components/rel-slider/rel-slider.stories.ts +0 -730
  48. package/dist/components/rel-snackbar/rel-snackbar.stories.ts +0 -808
  49. package/dist/components/rel-stepper/rel-stepper.stories.ts +0 -752
  50. package/dist/components/rel-switch/rel-switch.stories.ts +0 -441
  51. package/dist/components/rel-tab/rel-tab.stories.ts +0 -492
  52. package/dist/components/rel-textfield/rel-textfield.stories.ts +0 -710
  53. package/dist/components/rel-toast/rel-toast.stories.ts +0 -394
  54. package/dist/components/rel-tooltip/rel-tooltip.stories.ts +0 -364
@@ -1,239 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
- import { html } from 'lit';
3
- import './rel-container';
4
-
5
- /**
6
- * The Container component is a flexible layout wrapper with customizable padding, background, and shadow.
7
- * Built with Lit web components for framework-agnostic usage with full token support.
8
- *
9
- * ## Features
10
- * - **3 Padding Sizes**: sm (8px), md (16px), lg (32px)
11
- * - **3 Background Options**: white, light, none (transparent)
12
- * - **Optional Shadow**: Elevation shadow for depth
13
- * - **Fully Token-Driven**: Uses design system tokens
14
- * - **Flexible Content**: Accepts any slotted content
15
- */
16
- const meta: Meta = {
17
- title: 'Components/Container',
18
- tags: ['autodocs'],
19
- component: 'rel-container',
20
- argTypes: {
21
- padding: {
22
- control: { type: 'select' },
23
- options: ['sm', 'md', 'lg'],
24
- description: 'Padding size',
25
- table: {
26
- defaultValue: { summary: 'md' },
27
- type: { summary: 'string' },
28
- },
29
- },
30
- background: {
31
- control: { type: 'select' },
32
- options: ['white', 'light', 'none'],
33
- description: 'Background color variant',
34
- table: {
35
- defaultValue: { summary: 'white' },
36
- type: { summary: 'string' },
37
- },
38
- },
39
- shadow: {
40
- control: 'boolean',
41
- description: 'Apply elevation shadow',
42
- table: {
43
- defaultValue: { summary: false },
44
- type: { summary: 'boolean' },
45
- },
46
- },
47
- },
48
- render: (args) => html`
49
- <rel-container
50
- padding="${args.padding || 'md'}"
51
- background="${args.background || 'white'}"
52
- ?shadow="${args.shadow}"
53
- >
54
- <p style="margin: 0; color: #333;">
55
- This is content inside the container. The container provides padding, background, and optional shadow.
56
- </p>
57
- </rel-container>
58
- `,
59
- };
60
-
61
- export default meta;
62
- type Story = StoryObj;
63
-
64
- /**
65
- * Default container with white background and medium padding
66
- */
67
- export const Default: Story = {
68
- args: {
69
- padding: 'md',
70
- background: 'white',
71
- shadow: false,
72
- },
73
- };
74
-
75
- /**
76
- * Container with shadow for elevation effect
77
- */
78
- export const WithShadow: Story = {
79
- args: {
80
- padding: 'md',
81
- background: 'white',
82
- shadow: true,
83
- },
84
- };
85
-
86
- /**
87
- * All padding sizes comparison
88
- */
89
- export const PaddingSizes: Story = {
90
- render: () => html`
91
- <div style="display: flex; flex-direction: column; gap: 24px; background: #e0e0e0; padding: 24px;">
92
- <div>
93
- <h3 style="margin-bottom: 12px; font-size: 16px; font-weight: 600;">Small Padding (8px)</h3>
94
- <rel-container padding="sm" background="white" shadow>
95
- <p style="margin: 0; color: #333;">Small padding content</p>
96
- </rel-container>
97
- </div>
98
-
99
- <div>
100
- <h3 style="margin-bottom: 12px; font-size: 16px; font-weight: 600;">Medium Padding (16px)</h3>
101
- <rel-container padding="md" background="white" shadow>
102
- <p style="margin: 0; color: #333;">Medium padding content</p>
103
- </rel-container>
104
- </div>
105
-
106
- <div>
107
- <h3 style="margin-bottom: 12px; font-size: 16px; font-weight: 600;">Large Padding (32px)</h3>
108
- <rel-container padding="lg" background="white" shadow>
109
- <p style="margin: 0; color: #333;">Large padding content</p>
110
- </rel-container>
111
- </div>
112
- </div>
113
- `,
114
- };
115
-
116
- /**
117
- * All background variants comparison
118
- */
119
- export const BackgroundVariants: Story = {
120
- render: () => html`
121
- <div style="display: flex; flex-direction: column; gap: 24px; background: #e0e0e0; padding: 24px;">
122
- <div>
123
- <h3 style="margin-bottom: 12px; font-size: 16px; font-weight: 600;">White Background</h3>
124
- <rel-container padding="md" background="white" shadow>
125
- <p style="margin: 0; color: #333;">White background container</p>
126
- </rel-container>
127
- </div>
128
-
129
- <div>
130
- <h3 style="margin-bottom: 12px; font-size: 16px; font-weight: 600;">Light Background</h3>
131
- <rel-container padding="md" background="light" shadow>
132
- <p style="margin: 0; color: #333;">Light gray background container</p>
133
- </rel-container>
134
- </div>
135
-
136
- <div>
137
- <h3 style="margin-bottom: 12px; font-size: 16px; font-weight: 600;">No Background (Transparent)</h3>
138
- <rel-container padding="md" background="none">
139
- <p style="margin: 0; color: #333; background: white; padding: 8px; border-radius: 4px;">
140
- Transparent background container (content has its own background for visibility)
141
- </p>
142
- </rel-container>
143
- </div>
144
- </div>
145
- `,
146
- };
147
-
148
- /**
149
- * Container with complex nested content
150
- */
151
- export const ComplexContent: Story = {
152
- render: () => html`
153
- <div style="background: #e0e0e0; padding: 24px;">
154
- <rel-container padding="lg" background="white" shadow>
155
- <h2 style="margin: 0 0 16px 0; font-size: 24px; font-weight: 600; color: #333;">User Profile</h2>
156
- <div style="display: flex; gap: 16px; align-items: center; margin-bottom: 16px;">
157
- <img src="/assets/dummy 1.jpeg" alt="User" style="width: 60px; height: 60px; border-radius: 50%; object-fit: cover;" />
158
- <div>
159
- <h3 style="margin: 0 0 4px 0; font-size: 18px; font-weight: 600; color: #333;">John Doe</h3>
160
- <p style="margin: 0; color: #666; font-size: 14px;">Software Engineer</p>
161
- </div>
162
- </div>
163
- <p style="margin: 0; color: #555; line-height: 1.6;">
164
- This container holds complex content including headings, images, and text.
165
- The container provides consistent spacing and visual structure.
166
- </p>
167
- </rel-container>
168
- </div>
169
- `,
170
- };
171
-
172
- /**
173
- * Nested containers for card-like layouts
174
- */
175
- export const NestedContainers: Story = {
176
- render: () => html`
177
- <div style="background: #e0e0e0; padding: 24px;">
178
- <rel-container padding="lg" background="light">
179
- <h2 style="margin: 0 0 16px 0; font-size: 20px; font-weight: 600; color: #333;">Dashboard</h2>
180
-
181
- <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px;">
182
- <rel-container padding="md" background="white" shadow>
183
- <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 600; color: #333;">Total Users</h3>
184
- <p style="margin: 0; font-size: 32px; font-weight: 700; color: #0059F4;">1,234</p>
185
- </rel-container>
186
-
187
- <rel-container padding="md" background="white" shadow>
188
- <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 600; color: #333;">Revenue</h3>
189
- <p style="margin: 0; font-size: 32px; font-weight: 700; color: #00A86B;">$56,789</p>
190
- </rel-container>
191
-
192
- <rel-container padding="md" background="white" shadow>
193
- <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 600; color: #333;">Active Sessions</h3>
194
- <p style="margin: 0; font-size: 32px; font-weight: 700; color: #FFB020;">89</p>
195
- </rel-container>
196
- </div>
197
- </rel-container>
198
- </div>
199
- `,
200
- };
201
-
202
- /**
203
- * All combinations showcase
204
- */
205
- export const AllCombinations: Story = {
206
- render: () => html`
207
- <div style="display: flex; flex-direction: column; gap: 32px; background: #e0e0e0; padding: 24px;">
208
- <div>
209
- <h2 style="margin-bottom: 16px; font-size: 20px; font-weight: 600;">Without Shadow</h2>
210
- <div style="display: flex; flex-direction: column; gap: 16px;">
211
- <rel-container padding="sm" background="white">
212
- <p style="margin: 0; color: #333;">Small padding, white background, no shadow</p>
213
- </rel-container>
214
- <rel-container padding="md" background="light">
215
- <p style="margin: 0; color: #333;">Medium padding, light background, no shadow</p>
216
- </rel-container>
217
- <rel-container padding="lg" background="white">
218
- <p style="margin: 0; color: #333;">Large padding, white background, no shadow</p>
219
- </rel-container>
220
- </div>
221
- </div>
222
-
223
- <div>
224
- <h2 style="margin-bottom: 16px; font-size: 20px; font-weight: 600;">With Shadow</h2>
225
- <div style="display: flex; flex-direction: column; gap: 16px;">
226
- <rel-container padding="sm" background="white" shadow>
227
- <p style="margin: 0; color: #333;">Small padding, white background, with shadow</p>
228
- </rel-container>
229
- <rel-container padding="md" background="light" shadow>
230
- <p style="margin: 0; color: #333;">Medium padding, light background, with shadow</p>
231
- </rel-container>
232
- <rel-container padding="lg" background="white" shadow>
233
- <p style="margin: 0; color: #333;">Large padding, white background, with shadow</p>
234
- </rel-container>
235
- </div>
236
- </div>
237
- </div>
238
- `,
239
- };
@@ -1,229 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
- import { html } from 'lit';
3
- import './rel-divider';
4
-
5
- /**
6
- * The Divider component is a simple visual separator for content sections.
7
- * Built with Lit web components for framework-agnostic usage with full token support.
8
- *
9
- * ## Features
10
- * - **2 Orientations**: horizontal (default), vertical
11
- * - **Token-Based Styling**: Uses design system tokens for colors and spacing
12
- * - **ARIA Support**: Includes proper role="separator" for accessibility
13
- * - **Flexible Layout**: Adapts to parent container
14
- */
15
- const meta: Meta = {
16
- title: 'Components/Divider',
17
- tags: ['autodocs'],
18
- component: 'rel-divider',
19
- argTypes: {
20
- orientation: {
21
- control: { type: 'select' },
22
- options: ['horizontal', 'vertical'],
23
- description: 'Divider orientation',
24
- table: {
25
- defaultValue: { summary: 'horizontal' },
26
- type: { summary: 'string' },
27
- },
28
- },
29
- },
30
- render: (args) => html`
31
- <rel-divider orientation="${args.orientation || 'horizontal'}"></rel-divider>
32
- `,
33
- };
34
-
35
- export default meta;
36
- type Story = StoryObj;
37
-
38
- /**
39
- * Default horizontal divider
40
- */
41
- export const Default: Story = {
42
- args: {
43
- orientation: 'horizontal',
44
- },
45
- };
46
-
47
- /**
48
- * Horizontal divider - separates content vertically
49
- */
50
- export const Horizontal: Story = {
51
- render: () => html`
52
- <div style="padding: 24px; background: #f5f5f5;">
53
- <p style="margin: 0 0 16px; color: #333;">Section 1: This is some content above the divider.</p>
54
- <rel-divider orientation="horizontal"></rel-divider>
55
- <p style="margin: 16px 0 0; color: #333;">Section 2: This is some content below the divider.</p>
56
- </div>
57
- `,
58
- };
59
-
60
- /**
61
- * Vertical divider - separates content horizontally
62
- */
63
- export const Vertical: Story = {
64
- render: () => html`
65
- <div style="display: flex; align-items: center; padding: 24px; background: #f5f5f5; height: 100px;">
66
- <div style="flex: 1; color: #333; text-align: center;">
67
- <strong>Left Section</strong>
68
- <p style="margin: 8px 0 0; font-size: 14px;">Content on the left</p>
69
- </div>
70
- <rel-divider orientation="vertical"></rel-divider>
71
- <div style="flex: 1; color: #333; text-align: center;">
72
- <strong>Right Section</strong>
73
- <p style="margin: 8px 0 0; font-size: 14px;">Content on the right</p>
74
- </div>
75
- </div>
76
- `,
77
- };
78
-
79
- /**
80
- * Multiple horizontal dividers
81
- */
82
- export const MultipleHorizontal: Story = {
83
- render: () => html`
84
- <div style="padding: 24px; background: #f5f5f5;">
85
- <div style="color: #333;">
86
- <h3 style="margin: 0 0 8px;">Section 1</h3>
87
- <p style="margin: 0;">First section content with important information.</p>
88
- </div>
89
-
90
- <rel-divider orientation="horizontal"></rel-divider>
91
-
92
- <div style="color: #333;">
93
- <h3 style="margin: 0 0 8px;">Section 2</h3>
94
- <p style="margin: 0;">Second section with different content.</p>
95
- </div>
96
-
97
- <rel-divider orientation="horizontal"></rel-divider>
98
-
99
- <div style="color: #333;">
100
- <h3 style="margin: 0 0 8px;">Section 3</h3>
101
- <p style="margin: 0;">Third section completing the layout.</p>
102
- </div>
103
- </div>
104
- `,
105
- };
106
-
107
- /**
108
- * Multiple vertical dividers
109
- */
110
- export const MultipleVertical: Story = {
111
- render: () => html`
112
- <div style="display: flex; align-items: stretch; padding: 24px; background: #f5f5f5; height: 120px;">
113
- <div style="flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #333;">
114
- <strong>Column 1</strong>
115
- <p style="margin: 8px 0 0; font-size: 13px;">First</p>
116
- </div>
117
-
118
- <rel-divider orientation="vertical"></rel-divider>
119
-
120
- <div style="flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #333;">
121
- <strong>Column 2</strong>
122
- <p style="margin: 8px 0 0; font-size: 13px;">Second</p>
123
- </div>
124
-
125
- <rel-divider orientation="vertical"></rel-divider>
126
-
127
- <div style="flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #333;">
128
- <strong>Column 3</strong>
129
- <p style="margin: 8px 0 0; font-size: 13px;">Third</p>
130
- </div>
131
- </div>
132
- `,
133
- };
134
-
135
- /**
136
- * In a card layout
137
- */
138
- export const InCardLayout: Story = {
139
- render: () => html`
140
- <div style="max-width: 500px; background: white; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); padding: 24px;">
141
- <h2 style="margin: 0 0 8px; color: #333; font-size: 20px;">User Profile</h2>
142
- <p style="margin: 0; color: #666; font-size: 14px;">Personal information</p>
143
-
144
- <rel-divider orientation="horizontal"></rel-divider>
145
-
146
- <div style="color: #333;">
147
- <div style="margin-bottom: 12px;">
148
- <strong>Name:</strong> John Doe
149
- </div>
150
- <div style="margin-bottom: 12px;">
151
- <strong>Email:</strong> john.doe@example.com
152
- </div>
153
- <div>
154
- <strong>Role:</strong> Developer
155
- </div>
156
- </div>
157
-
158
- <rel-divider orientation="horizontal"></rel-divider>
159
-
160
- <div style="display: flex; gap: 12px;">
161
- <button style="flex: 1; padding: 10px; background: #0059F4; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: 600;">
162
- Edit Profile
163
- </button>
164
- <button style="flex: 1; padding: 10px; background: #f5f5f5; color: #333; border: none; border-radius: 6px; cursor: pointer; font-weight: 600;">
165
- Cancel
166
- </button>
167
- </div>
168
- </div>
169
- `,
170
- };
171
-
172
- /**
173
- * In a navigation layout
174
- */
175
- export const InNavigation: Story = {
176
- render: () => html`
177
- <div style="display: flex; align-items: center; padding: 16px 24px; background: white; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
178
- <div style="font-weight: 700; font-size: 18px; color: #333; margin-right: 24px;">
179
- Logo
180
- </div>
181
-
182
- <rel-divider orientation="vertical" style="height: 30px;"></rel-divider>
183
-
184
- <nav style="display: flex; align-items: center; gap: 24px; margin-left: 24px; flex: 1;">
185
- <a href="#" style="color: #333; text-decoration: none; font-weight: 500;">Home</a>
186
- <a href="#" style="color: #333; text-decoration: none; font-weight: 500;">Products</a>
187
- <a href="#" style="color: #333; text-decoration: none; font-weight: 500;">About</a>
188
- <a href="#" style="color: #333; text-decoration: none; font-weight: 500;">Contact</a>
189
- </nav>
190
-
191
- <rel-divider orientation="vertical" style="height: 30px;"></rel-divider>
192
-
193
- <button style="margin-left: 24px; padding: 8px 16px; background: #0059F4; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: 600;">
194
- Sign In
195
- </button>
196
- </div>
197
- `,
198
- };
199
-
200
- /**
201
- * All orientations showcase
202
- */
203
- export const AllOrientations: Story = {
204
- render: () => html`
205
- <div style="display: flex; flex-direction: column; gap: 32px; padding: 24px;">
206
- <div>
207
- <h3 style="margin-bottom: 16px; font-size: 16px; font-weight: 600; color: #333;">Horizontal Divider</h3>
208
- <div style="background: #f5f5f5; padding: 20px;">
209
- <p style="margin: 0; color: #333;">Content above</p>
210
- <rel-divider orientation="horizontal"></rel-divider>
211
- <p style="margin: 0; color: #333;">Content below</p>
212
- </div>
213
- </div>
214
-
215
- <div>
216
- <h3 style="margin-bottom: 16px; font-size: 16px; font-weight: 600; color: #333;">Vertical Divider</h3>
217
- <div style="display: flex; background: #f5f5f5; padding: 20px; height: 80px;">
218
- <div style="flex: 1; display: flex; align-items: center; justify-content: center; color: #333;">
219
- Left
220
- </div>
221
- <rel-divider orientation="vertical"></rel-divider>
222
- <div style="flex: 1; display: flex; align-items: center; justify-content: center; color: #333;">
223
- Right
224
- </div>
225
- </div>
226
- </div>
227
- </div>
228
- `,
229
- };