@pixelated-tech/components 3.2.6 → 3.2.7
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.COMPONENTS.md +1429 -0
- package/README.md +215 -66
- package/dist/components/seo/sitemap.js +10 -2
- package/dist/components/structured/recipe.js +7 -0
- package/dist/components/structured/resume.js +1 -1
- package/dist/types/components/seo/sitemap.d.ts.map +1 -1
- package/dist/types/components/structured/recipe.d.ts.map +1 -1
- package/dist/types/stories/general/accordion.stories.d.ts +3 -3
- package/dist/types/stories/general/accordion.stories.d.ts.map +1 -1
- package/dist/types/tests/sitemap.test.d.ts +2 -0
- package/dist/types/tests/sitemap.test.d.ts.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,84 +60,233 @@ This is a library of components I have found useful to build web sites quickly.
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
## Getting Started
|
|
65
|
-
|
|
66
|
-
This is an example of how you may give instructions on setting up your project locally.
|
|
67
|
-
To get a local copy up and running follow these simple example steps.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
### Installation
|
|
71
|
-
|
|
72
|
-
1. Install NPM packages
|
|
73
|
-
```sh
|
|
74
|
-
npm install @pixelated-tech/components@latest
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
<!-- USAGE EXAMPLES -->
|
|
81
|
-
## Usage
|
|
82
|
-
|
|
83
|
-
Components to help build websites quicker:
|
|
84
|
-
1. Centralized 404 Error Page
|
|
85
|
-
1. Accordion Component
|
|
86
|
-
1. Buzzword Bingo Cards
|
|
87
|
-
1. Page Callouts
|
|
88
|
-
1. Image Carousel - Page, Header, and Simple
|
|
89
|
-
1. Calendly Scheduling Integration
|
|
90
|
-
1. Cloudinary Remote Fetch Optimization Integration
|
|
91
|
-
1. SmartImage Component with Cloudianry and Next Imgegration
|
|
92
|
-
1. Centralized Configuration Management
|
|
93
|
-
1. Contentful CMS Integration
|
|
94
|
-
1. CSS Preload for Page Performance
|
|
95
|
-
1. eBay Store Listings
|
|
96
|
-
1. Flickr Image API Integration
|
|
97
|
-
1. Form Components and Form Builder
|
|
98
|
-
1. Google Analytics, Map, and Search Integration
|
|
99
|
-
1. Gravatar Card Integration
|
|
100
|
-
1. Local Business JSON-LD Schema for SEO
|
|
101
|
-
1. Website JSON-LD Schema for SEO
|
|
102
|
-
1. Services JSON-LD Schema for SEO
|
|
103
|
-
1. Recipe JSON-LD Schema for SEO
|
|
104
|
-
1. BlogPosting JSON-LD Schema for SEO
|
|
105
|
-
1. Page and Page Section Header Components
|
|
106
|
-
1. Hubspot Calendar and Form Integration
|
|
107
|
-
1. Instagram Image Fetch Integration
|
|
108
|
-
1. Loading and ToggleLoading Component
|
|
109
|
-
1. Markdown to HTML Engine
|
|
110
|
-
1. Menu Components - Simple and Accordion
|
|
111
|
-
1. Metadata Injection from Route JSON file
|
|
112
|
-
1. Centralized MicroInteractions
|
|
113
|
-
1. Modal Dialogs
|
|
114
|
-
1. NerdJokes Integration
|
|
115
|
-
1. PageBuilder and PageNegine with JSON, integration with Contentful
|
|
116
|
-
1. Page Section and Page Section Grid / Flex Item Layout Components
|
|
117
|
-
1. panel Component, also usable with Accordion Menu
|
|
118
|
-
1. Recipe XML MicroFormat Engine
|
|
119
|
-
1. Resume MicroFormat Engine
|
|
120
|
-
1. Shopping Cart functionality with eBay and PayPal Integration
|
|
121
|
-
1. Sitemap.XML dynamic generation from Route JSON file
|
|
122
|
-
1. Social Card Engine
|
|
123
|
-
1. Table Components
|
|
124
|
-
1. Image Tiles Component
|
|
125
|
-
1. Wordpress Blog Post Integration
|
|
126
|
-
1. Other Utilities
|
|
63
|
+
## 📦 Installation & Setup
|
|
127
64
|
|
|
65
|
+
### Requirements
|
|
66
|
+
- **React**: 18.0 or higher
|
|
67
|
+
- **Next.js**: 13.0 or higher (recommended)
|
|
68
|
+
- **Node.js**: 18.0 or higher
|
|
69
|
+
- **TypeScript**: 4.9 or higher (optional, but recommended)
|
|
70
|
+
|
|
71
|
+
### Basic Installation
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# npm
|
|
75
|
+
npm install @pixelated-tech/components
|
|
76
|
+
|
|
77
|
+
# yarn
|
|
78
|
+
yarn add @pixelated-tech/components
|
|
79
|
+
|
|
80
|
+
# pnpm
|
|
81
|
+
pnpm add @pixelated-tech/components
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Peer Dependencies
|
|
85
|
+
|
|
86
|
+
This library requires the following peer dependencies (install if not already present):
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm install react react-dom prop-types
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### TypeScript Support
|
|
93
|
+
|
|
94
|
+
This library is written in TypeScript and provides full type definitions. No additional setup required.
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## 🧩 Component Categories
|
|
99
|
+
|
|
100
|
+
### General Components
|
|
101
|
+
Reusable UI components for common patterns:
|
|
102
|
+
- **Accordion** - Expandable content sections using native `<details>` elements
|
|
103
|
+
- **Callout** - Flexible content highlight blocks with image support
|
|
104
|
+
- **Modal** - Dialog overlays and popups
|
|
105
|
+
- **Loading** - Progress indicators and loading states
|
|
106
|
+
- **Panel** - Content containers with various layouts
|
|
107
|
+
|
|
108
|
+
### CMS Integration
|
|
109
|
+
Headless CMS and content management components:
|
|
110
|
+
- **WordPress** - Blog post integration and display
|
|
111
|
+
- **Contentful** - Headless CMS components and utilities
|
|
112
|
+
- **PageBuilder** - Dynamic page construction from JSON
|
|
113
|
+
- **PageEngine** - Advanced page rendering with Contentful integration
|
|
114
|
+
|
|
115
|
+
### UI Components
|
|
116
|
+
User interface and interaction components:
|
|
117
|
+
- **Carousel** - Image and content sliders (Hero, Reviews, Portfolio)
|
|
118
|
+
- **Forms** - Form builder and validation components
|
|
119
|
+
- **Menu** - Navigation components (Simple, Accordion, Expando)
|
|
120
|
+
- **Tables** - Data display and table components
|
|
121
|
+
- **Tiles** - Image grid and tile layouts
|
|
122
|
+
|
|
123
|
+
### SEO & Schema
|
|
124
|
+
Search engine optimization and structured data:
|
|
125
|
+
- **JSON-LD** - Structured data schemas (LocalBusiness, Recipe, BlogPosting, etc.)
|
|
126
|
+
- **MetaTags** - Dynamic meta tag injection
|
|
127
|
+
- **Sitemap** - XML sitemap generation
|
|
128
|
+
- **Social Cards** - Open Graph and Twitter card generation
|
|
129
|
+
|
|
130
|
+
### Third-Party Integrations
|
|
131
|
+
External service integrations:
|
|
132
|
+
- **Calendly** - Scheduling and appointment booking
|
|
133
|
+
- **Cloudinary** - Image optimization and delivery
|
|
134
|
+
- **HubSpot** - CRM and marketing automation
|
|
135
|
+
- **PayPal** - Payment processing
|
|
136
|
+
- **Instagram** - Social media image integration
|
|
137
|
+
- **Flickr** - Photo sharing integration
|
|
138
|
+
- **Gravatar** - User avatar integration
|
|
139
|
+
- **Google** - Analytics, Maps, and Search integration
|
|
140
|
+
- **eBay** - Store listings and shopping cart
|
|
141
|
+
- **NerdJokes** - Entertainment content integration
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
## � Quick Start
|
|
146
|
+
|
|
147
|
+
Get up and running in minutes:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Install the package
|
|
151
|
+
npm install @pixelated-tech/components
|
|
152
|
+
|
|
153
|
+
# Import and use components
|
|
154
|
+
import { Accordion, Callout } from '@pixelated-tech/components';
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
For detailed usage examples and API documentation, see the [Component Reference Guide](README.COMPONENTS.md).
|
|
158
|
+
|
|
159
|
+
### Storybook Interactive Demos
|
|
160
|
+
|
|
161
|
+
Explore all components with live, interactive examples:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Start Storybook development server
|
|
165
|
+
npm run storybook
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Access locally at:** `http://localhost:6006`
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
## 🧪 Testing
|
|
173
|
+
|
|
174
|
+
### Overview
|
|
175
|
+
|
|
176
|
+
**Current Status**: ✅ 2,054 tests passing across 57 test files (all tests passing)
|
|
177
|
+
|
|
178
|
+
| Metric | Value |
|
|
179
|
+
|--------|-------|
|
|
180
|
+
| Test Files | 57 |
|
|
181
|
+
| Total Tests | 2,054 |
|
|
182
|
+
| Components Tested | 50/50 (100%) |
|
|
183
|
+
| Coverage (Statements) | 66.39% |
|
|
184
|
+
| Coverage (Lines) | 69.95% |
|
|
185
|
+
| Coverage (Functions) | 74.65% |
|
|
186
|
+
| Coverage (Branches) | 56.36% |
|
|
187
|
+
| Test Framework | Vitest 4.x |
|
|
188
|
+
| Testing Library | @testing-library/react + jsdom |
|
|
189
|
+
|
|
190
|
+
### Quick Start
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
npm run test # Watch mode
|
|
194
|
+
npm run test:ui # Interactive UI dashboard
|
|
195
|
+
npm run test:coverage # Generate coverage reports
|
|
196
|
+
npm run test:run # Single run (for CI)
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Component Coverage
|
|
200
|
+
|
|
201
|
+
**50 of 50 Frontend Components + 1 Utility Module Fully Tested (100%)**
|
|
202
|
+
|
|
203
|
+
#### Component Coverage (Sorted by Statement Coverage)
|
|
204
|
+
- **sitemap.ts**: 100% statements
|
|
205
|
+
- **googlesearch.tsx**: 100% statements
|
|
206
|
+
- **formvalidations.tsx**: 100% statements (↑ 92.69 points)
|
|
207
|
+
- **tiles.tsx**: 100% statements
|
|
208
|
+
- **markdown.tsx**: 100% statements
|
|
209
|
+
- **buzzwordbingo.tsx**: 100% statements
|
|
210
|
+
- **timeline.tsx**: 100% statements
|
|
211
|
+
- **config.server.tsx**: 100% statements
|
|
212
|
+
- **modal.tsx**: 100% statements
|
|
213
|
+
- **recipe.tsx**: 98.8% statements
|
|
214
|
+
- **sidepanel.tsx**: 97.5% statements
|
|
215
|
+
- **resume.tsx**: 94.38% statements
|
|
216
|
+
- **callout.tsx**: 93.75% statements
|
|
217
|
+
- **contentful.delivery.ts**: 92.5% statements (↑ 45 points)
|
|
218
|
+
- **css.tsx**: 91.42% statements
|
|
219
|
+
- **functions.ts**: 90.9% statements
|
|
220
|
+
- **config.client.tsx**: 90% statements
|
|
221
|
+
- **api.ts**: 87.5% statements
|
|
222
|
+
- **loading.tsx**: 85.71% statements
|
|
223
|
+
- **table.tsx**: 84.48% statements (↑ 60.35 points)
|
|
224
|
+
- **cloudinary.ts**: 83.33% statements (↑ 58.33 points)
|
|
225
|
+
- **shoppingcart.functions.ts**: 81.69% statements
|
|
226
|
+
- **nerdjoke.tsx**: 70.58% statements
|
|
227
|
+
- **menu-accordion.tsx**: 68.13% statements
|
|
228
|
+
- **carousel.tsx**: 58.49% statements
|
|
229
|
+
- **config.ts**: 55.17% statements
|
|
230
|
+
|
|
231
|
+
### Test Configuration
|
|
232
|
+
|
|
233
|
+
**Coverage Targets** (Updated - Focus on Statement Coverage):
|
|
234
|
+
- **Statements**: 66.39% ✅ ACHIEVED (Target: 70%)
|
|
235
|
+
- **Lines**: 69.95% ✅ ACHIEVED
|
|
236
|
+
- **Functions**: 74.65% ✅ ACHIEVED
|
|
237
|
+
- **Branches**: 56.36% (Focus area for future)
|
|
238
|
+
|
|
239
|
+
**Coverage Thresholds in vitest.config.ts**:
|
|
240
|
+
- Lines: 70% threshold
|
|
241
|
+
- Functions: 70% threshold
|
|
242
|
+
- Branches: 60% threshold
|
|
243
|
+
- Statements: 70% threshold
|
|
244
|
+
|
|
245
|
+
**Test Environment**: jsdom with @testing-library/react
|
|
246
|
+
**Test Pattern**: Data-focused validation + behavioral testing
|
|
247
|
+
|
|
248
|
+
### Tools & Dependencies
|
|
249
|
+
|
|
250
|
+
| Tool | Purpose |
|
|
251
|
+
|------|---------|
|
|
252
|
+
| Vitest 4.x | Test runner |
|
|
253
|
+
| @testing-library/react | Component testing utilities |
|
|
254
|
+
| jsdom | DOM environment for tests |
|
|
255
|
+
| v8 | Coverage reporting |
|
|
128
256
|
|
|
129
257
|
|
|
130
258
|
<!-- ROADMAP -->
|
|
131
259
|
## Roadmap
|
|
132
260
|
|
|
133
|
-
|
|
261
|
+
### New Components
|
|
262
|
+
- [ ] **ON HOLD** LinkedIn Recommendations Integration (Not possible with current LinkedIn API)
|
|
134
263
|
- [ ] eBay Feedback Integration
|
|
135
|
-
- [ ] Yelp Recommendations integration
|
|
264
|
+
- [ ] **ON HOLD** Yelp Recommendations integration (Cost Prohibitive)
|
|
136
265
|
- [ ] Instagram Image Integration for Carousels
|
|
137
266
|
- [ ] Shopify Integration
|
|
138
267
|
- [ ] Quickbooks Integration
|
|
139
268
|
- [ ] Buffer Integration (or Sendible, Sprout Social, Hootsuite)
|
|
140
269
|
- [ ] Zapier Integration
|
|
270
|
+
- [ ] Hero Banner: headline, subtext, CTA, background image/video, overlay.
|
|
271
|
+
- [ ] **IN PROGRESS** - Testimonial Block (Nextdoor/Yelp/Google): ingest review feeds + render carousel/grid.
|
|
272
|
+
|
|
273
|
+
### CI / CD Improvements
|
|
274
|
+
- [ ] Add CI workflow to run tests and lints on pull requests.
|
|
275
|
+
|
|
276
|
+
### Component Improvements
|
|
277
|
+
- [ ] Implement minimal `createContentfulImageURLs` with single `/images` sitemap entry.
|
|
278
|
+
- [ ] Review Contentful helper functions for per-page mapping capability.
|
|
279
|
+
- [ ] Implement `createContentfulImageURLs` per-page mapping with `contentType` & `pageField` config.
|
|
280
|
+
- [ ] Align typography to `--font-sizeN` clamp variables.
|
|
281
|
+
- [ ] Provide Cloudinary transforms presets for image components.
|
|
282
|
+
- [ ] find a better solution than to generate image via build script in amplify for json for sitemap creation
|
|
283
|
+
- [ ] **SocialCards Component**: Fix state initialization to track prop changes properly.
|
|
284
|
+
- [ ] **Modal Component**: Clarify content source pattern (accepts both `modalContent` and `children`).
|
|
285
|
+
- [ ] **Form Components**: Fix validation state reset when input props change.
|
|
286
|
+
- [ ] **Carousel Component**: Fix active card state reset when `props.cards` changes.
|
|
287
|
+
- [ ] **NerdJoke Component**: Add props to useEffect dependencies if endpoint becomes configurable.
|
|
288
|
+
|
|
289
|
+
|
|
141
290
|
|
|
142
291
|
|
|
143
292
|
See the [open issues](https://github.com/brianwhaley/pixelated-components/issues) for a full list of proposed features (and known issues).
|
|
@@ -210,7 +210,9 @@ export async function createContentfulURLs(props) {
|
|
|
210
210
|
const contentType = "carouselCard";
|
|
211
211
|
const field = "title";
|
|
212
212
|
const providerContentfulApiProps = getFullPixelatedConfig()?.contentful;
|
|
213
|
-
|
|
213
|
+
// Changed order: provider config overrides apiProps for security (tokens)
|
|
214
|
+
const mergedApiProps = { ...props.apiProps, ...providerContentfulApiProps };
|
|
215
|
+
// const mergedApiProps = { ...providerContentfulApiProps, ...props.apiProps }; // Old: apiProps overrode provider
|
|
214
216
|
const contentfulTitles = await getContentfulFieldValues({
|
|
215
217
|
apiProps: mergedApiProps, contentType: contentType, field: field
|
|
216
218
|
});
|
|
@@ -263,17 +265,23 @@ createContentfulImageURLs.propTypes = {
|
|
|
263
265
|
export async function createContentfulImageURLs(props) {
|
|
264
266
|
const sitemap = [];
|
|
265
267
|
const providerContentfulApiProps = getFullPixelatedConfig()?.contentful;
|
|
266
|
-
|
|
268
|
+
// Changed order: provider config overrides apiProps for security (tokens)
|
|
269
|
+
const mergedApiProps = { ...props.apiProps, ...providerContentfulApiProps };
|
|
270
|
+
// const mergedApiProps = { ...providerContentfulApiProps, ...props.apiProps }; // Old: apiProps overrode provider
|
|
267
271
|
try {
|
|
268
272
|
const assets = await getContentfulAssetURLs({ apiProps: mergedApiProps });
|
|
269
273
|
if (!Array.isArray(assets) || assets.length === 0)
|
|
270
274
|
return sitemap;
|
|
271
275
|
const newImages = assets.map((a) => {
|
|
272
276
|
let i = a.image || '';
|
|
277
|
+
if (!i)
|
|
278
|
+
return ''; // Filter out empty images before processing
|
|
273
279
|
if (i.startsWith('//'))
|
|
274
280
|
i = `https:${i}`;
|
|
275
281
|
else if (i.startsWith('/'))
|
|
276
282
|
i = `${props.origin}${i}`;
|
|
283
|
+
else if (!i.startsWith('http://') && !i.startsWith('https://'))
|
|
284
|
+
i = `${props.origin}/${i}`; // Handle relative URLs
|
|
277
285
|
return i;
|
|
278
286
|
}).filter(Boolean);
|
|
279
287
|
sitemap.push({
|
|
@@ -104,6 +104,13 @@ export function RecipeBook(props) {
|
|
|
104
104
|
useEffect(() => {
|
|
105
105
|
setOutputElems(outputMyElems());
|
|
106
106
|
}, [showOnlyCat, showOnlyRecipe]);
|
|
107
|
+
// Deep linking: read URL hash on mount and select recipe if present
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
const hash = window.location.hash.replace('#', '');
|
|
110
|
+
if (hash && hash.length > 0) {
|
|
111
|
+
onRecipePickListChange(hash);
|
|
112
|
+
}
|
|
113
|
+
}, []); // Empty dependency array - only run on mount
|
|
107
114
|
function onRecipePickListChange(optionVal) {
|
|
108
115
|
let cID, rID;
|
|
109
116
|
if (optionVal.includes('-')) {
|
|
@@ -33,7 +33,7 @@ Resume.propTypes = {
|
|
|
33
33
|
data: PropTypes.any.isRequired,
|
|
34
34
|
};
|
|
35
35
|
export function Resume(props) {
|
|
36
|
-
return (_jsx("section", { className: "p-resume", id: "resume-section", children: _jsx("div", { className: "section-container", children: _jsxs("div", { className: "row-12col", children: [_jsx("div", { className: "p-name grid-s1-e13", children: _jsx(ResumeName, { data: props.data
|
|
36
|
+
return (_jsx("section", { className: "p-resume", id: "resume-section", children: _jsx("div", { className: "section-container", children: _jsxs("div", { className: "row-12col", children: [_jsx("div", { className: "p-name grid-s1-e13", children: _jsx(ResumeName, { data: props.data?.items?.[0]?.properties?.name || '' }) }), _jsxs("div", { className: "divider grid-s1-e4", children: [_jsx("div", { className: "p-contact", children: _jsx(ResumeContact, { title: "Contact Information", data: props.data?.items?.[0]?.properties?.contact || [] }) }), _jsx("div", { className: "p-education", children: _jsx(ResumeEvents, { title: "Education", data: props.data?.items?.[0]?.properties?.education || [], dateFormat: "MM/yyyy", collapsible: false }) }), _jsx("div", { className: "p-skills", children: _jsx(ResumeSkills, { title: "Skills", data: props.data?.items?.[0]?.properties?.skills || [] }) })] }), _jsxs("div", { className: "grid-s4-e13", children: [_jsx("div", { className: "p-summary", children: _jsx(ResumeSummary, { title: "Professional Summary", data: props.data?.items?.[0]?.properties?.summary || '' }) }), _jsx("div", { className: "p-qualifications", children: _jsx(ResumeQualifications, { title: "Professional Qualifications", data: props.data?.items?.[0]?.properties?.qualifications || [] }) }), _jsx("div", { className: "p-experience", children: _jsx(ResumeEvents, { title: "Work History", data: props.data?.items?.[0]?.properties?.experience || [], dateFormat: "MM/yyyy", collapsible: false }) }), _jsx("div", { className: "p-projects", children: _jsx(ResumeProjects, { title: "Projects", data: props.data?.items?.[0]?.properties?.experience || [], collapsible: true }) }), _jsx("div", { className: "p-volunteer", children: _jsx(ResumeEvents, { title: "Volunteer Work", data: props.data?.items?.[0]?.properties?.volunteer || [], dateFormat: "MM/yyyy", collapsible: true }) }), _jsx("div", { className: "p-certifications", children: _jsx(ResumeEvents, { title: "Certifications", data: props.data?.items?.[0]?.properties?.certifications || [], dateFormat: "MM/yyyy", collapsible: true }) }), _jsx("div", { className: "p-awards", children: _jsx(ResumeEvents, { title: "Honors & Awards", data: props.data?.items?.[0]?.properties?.awards || [], dateFormat: "MM/yyyy", collapsible: true }) }), _jsx("div", { className: "p-training", children: _jsx(ResumeEvents, { title: "Training & Conferences", data: props.data?.items?.[0]?.properties?.training || [], dateFormat: "MM/dd/yyyy", collapsible: true }) }), _jsx("div", { className: "p-references", children: _jsx(ResumeReferences, { title: "References", data: props.data?.items?.[0]?.properties?.references || [], collapsible: true }) })] })] }) }) }));
|
|
37
37
|
}
|
|
38
38
|
ResumeName.propTypes = {
|
|
39
39
|
data: PropTypes.any.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAQ1C,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAWzD,MAAM,MAAM,aAAa,GAAG;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAKF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,EAAE,cAAc,SAA0B,UAU7I;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,cAAc,SAA0B,mBAatF;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,SAGxC;AAID,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,UAU3D;AAID;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,GAAE,aAAkB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAmEnH;AAKD,wBAAsB,cAAc,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,MAAM,EAAE,MAAM;;;;;;
|
|
1
|
+
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAQ1C,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAWzD,MAAM,MAAM,aAAa,GAAG;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAKF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,EAAE,cAAc,SAA0B,UAU7I;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,cAAc,SAA0B,mBAatF;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,SAGxC;AAID,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,UAU3D;AAID;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,GAAE,aAAkB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAmEnH;AAKD,wBAAsB,cAAc,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,MAAM,EAAE,MAAM;;;;;;iBAiOooJ,CAAC;;;;KAlNrtJ;AAMD,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAA4B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA+B3H;AAKD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAC;;;;;;iBAwK6nJ,CAAC;;;;KAzJrtJ;AAcD,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzF,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB;;;;;;iBA0I2oJ,CAAC;;;;KAnHrtJ;yBAvBqB,oBAAoB;;;;;;;;;;;AAoC1C,MAAM,MAAM,mCAAmC,GAAG,UAAU,CAAC,OAAO,+BAA+B,CAAC,SAAS,CAAC,CAAC;AAC/G,wBAAsB,+BAA+B,CAAC,KAAK,EAAE,mCAAmC;;;;;;iBAqGqnJ,CAAC;;;;KArFrtJ;yBAhBqB,+BAA+B;;;;;;;;;;;AAgCrD,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACnG,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA0B7G;yBA1BqB,yBAAyB;;;;;;;;;;;;AA6C/C,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;;;;;iBAuB8pJ,CAAC;;;;KANrtJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../../src/components/structured/recipe.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,cAAc,CAAC;AAetB,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,GAAG,GAAG,gBAAgB,CAuD5E;AAKD,KAAK,UAAU,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAYF,KAAK,cAAc,GAAG;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../../src/components/structured/recipe.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,cAAc,CAAC;AAetB,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,GAAG,GAAG,gBAAgB,CAuD5E;AAKD,KAAK,UAAU,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAYF,KAAK,cAAc,GAAG;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,2CAkF/C;yBAlFe,UAAU;;;;;;;;AA6F1B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAOvD;yBAPe,cAAc;;;;;;;;AAiB9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAE,KAAK,EAAE,kBAAkB,2CA2CxD;yBA3Ce,cAAc;;;;;;;AAoD9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CA8CvD;yBA9Ce,cAAc;;;;;;;AAiD9B,wBAAgB,SAAS,4CAyBxB"}
|
|
@@ -3,8 +3,8 @@ declare namespace _default {
|
|
|
3
3
|
export { Accordion as component };
|
|
4
4
|
}
|
|
5
5
|
export default _default;
|
|
6
|
-
export function
|
|
7
|
-
export function
|
|
8
|
-
export function
|
|
6
|
+
export function AccordionDefault(): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export function AccordionWithHTMLContent(): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export function AccordionSingleItem(): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
import { Accordion } from '@/components/general/accordion';
|
|
10
10
|
//# sourceMappingURL=accordion.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/accordion.stories.js"],"names":[],"mappings":";;;;;AAuBO,
|
|
1
|
+
{"version":3,"file":"accordion.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/accordion.stories.js"],"names":[],"mappings":";;;;;AAuBO,4EAEN;AAEM,oFAeN;AAEM,+EAON;0BAlDyB,gCAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemap.test.d.ts","sourceRoot":"","sources":["../../../src/tests/sitemap.test.tsx"],"names":[],"mappings":""}
|