@sp-days-framework/docusaurus-frontpage-collection 1.0.2
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/LICENSE +21 -0
- package/README.md +339 -0
- package/lib/components/Block/index.d.ts +22 -0
- package/lib/components/Block/index.d.ts.map +1 -0
- package/lib/components/Block/index.js +32 -0
- package/lib/components/Block/index.js.map +1 -0
- package/lib/components/Block/styles.module.css +26 -0
- package/lib/components/Columns/index.d.ts +68 -0
- package/lib/components/Columns/index.d.ts.map +1 -0
- package/lib/components/Columns/index.js +119 -0
- package/lib/components/Columns/index.js.map +1 -0
- package/lib/components/Columns/styles.module.css +196 -0
- package/lib/components/CourseFeature/index.d.ts +99 -0
- package/lib/components/CourseFeature/index.d.ts.map +1 -0
- package/lib/components/CourseFeature/index.js +188 -0
- package/lib/components/CourseFeature/index.js.map +1 -0
- package/lib/components/CourseFeature/styles.module.css +204 -0
- package/lib/components/FancyHeader/index.d.ts +24 -0
- package/lib/components/FancyHeader/index.d.ts.map +1 -0
- package/lib/components/FancyHeader/index.js +32 -0
- package/lib/components/FancyHeader/index.js.map +1 -0
- package/lib/components/FancyHeader/styles.module.css +23 -0
- package/lib/components/GetStarted/index.d.ts +99 -0
- package/lib/components/GetStarted/index.d.ts.map +1 -0
- package/lib/components/GetStarted/index.js +127 -0
- package/lib/components/GetStarted/index.js.map +1 -0
- package/lib/components/GetStarted/styles.module.css +174 -0
- package/lib/components/HeroBanner/DotCrossGrid.d.ts +25 -0
- package/lib/components/HeroBanner/DotCrossGrid.d.ts.map +1 -0
- package/lib/components/HeroBanner/DotCrossGrid.js +283 -0
- package/lib/components/HeroBanner/DotCrossGrid.js.map +1 -0
- package/lib/components/HeroBanner/DotCrossGrid.module.css +9 -0
- package/lib/components/HeroBanner/index.d.ts +42 -0
- package/lib/components/HeroBanner/index.d.ts.map +1 -0
- package/lib/components/HeroBanner/index.js +116 -0
- package/lib/components/HeroBanner/index.js.map +1 -0
- package/lib/components/HeroBanner/styles.module.css +204 -0
- package/lib/components/IconContainer/index.d.ts +76 -0
- package/lib/components/IconContainer/index.d.ts.map +1 -0
- package/lib/components/IconContainer/index.js +119 -0
- package/lib/components/IconContainer/index.js.map +1 -0
- package/lib/components/IconContainer/styles.module.css +147 -0
- package/lib/components/Iconify/index.d.ts +56 -0
- package/lib/components/Iconify/index.d.ts.map +1 -0
- package/lib/components/Iconify/index.js +88 -0
- package/lib/components/Iconify/index.js.map +1 -0
- package/lib/components/Iconify/styles.module.css +30 -0
- package/lib/index.d.ts +36 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +73 -0
- package/lib/index.js.map +1 -0
- package/lib/utils/IconifyIcon.d.ts +17 -0
- package/lib/utils/IconifyIcon.d.ts.map +1 -0
- package/lib/utils/IconifyIcon.js +26 -0
- package/lib/utils/IconifyIcon.js.map +1 -0
- package/lib/utils/InlineSvg.d.ts +29 -0
- package/lib/utils/InlineSvg.d.ts.map +1 -0
- package/lib/utils/InlineSvg.js +90 -0
- package/lib/utils/InlineSvg.js.map +1 -0
- package/lib/utils/ThemedIcon.d.ts +61 -0
- package/lib/utils/ThemedIcon.d.ts.map +1 -0
- package/lib/utils/ThemedIcon.js +128 -0
- package/lib/utils/ThemedIcon.js.map +1 -0
- package/lib/utils/constants.d.ts +23 -0
- package/lib/utils/constants.d.ts.map +1 -0
- package/lib/utils/constants.js +36 -0
- package/lib/utils/constants.js.map +1 -0
- package/lib/utils/index.d.ts +9 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +19 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/logger.d.ts +21 -0
- package/lib/utils/logger.d.ts.map +1 -0
- package/lib/utils/logger.js +38 -0
- package/lib/utils/logger.js.map +1 -0
- package/lib/utils/types.d.ts +129 -0
- package/lib/utils/types.d.ts.map +1 -0
- package/lib/utils/types.js +6 -0
- package/lib/utils/types.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { WithChildren } from '../../utils/types';
|
|
3
|
+
import type { IconifyConfig, CustomSvgConfig, CustomImageConfig, IconColorConfig, TitleColorConfig } from '../../utils/types';
|
|
4
|
+
export interface IconContainerBlockProps {
|
|
5
|
+
/** Unique identifier for the iconContainer (optional) */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** Title of the iconContainer */
|
|
8
|
+
title: string;
|
|
9
|
+
/** Iconify icon configuration */
|
|
10
|
+
iconify?: IconifyConfig | string;
|
|
11
|
+
/** Custom SVG configuration (inline rendering, supports color override) */
|
|
12
|
+
customSvg?: CustomSvgConfig;
|
|
13
|
+
/** Custom image configuration (img tag, no color override) */
|
|
14
|
+
customImage?: CustomImageConfig;
|
|
15
|
+
/** Icon color configuration */
|
|
16
|
+
iconColors?: IconColorConfig;
|
|
17
|
+
/** Title color configuration */
|
|
18
|
+
titleColors?: TitleColorConfig;
|
|
19
|
+
/** Disable hover animations (default: false) */
|
|
20
|
+
disableAnimation?: boolean;
|
|
21
|
+
/** Link to navigate to when clicked */
|
|
22
|
+
link: string;
|
|
23
|
+
/** Inline style override for card */
|
|
24
|
+
style?: React.CSSProperties;
|
|
25
|
+
/** Inline style override for link wrapper */
|
|
26
|
+
linkStyle?: React.CSSProperties;
|
|
27
|
+
}
|
|
28
|
+
export interface IconContainersSectionProps extends WithChildren {
|
|
29
|
+
/** Minimum width for each iconContainer block (default: '200px') */
|
|
30
|
+
minWidth?: string;
|
|
31
|
+
/** Maximum number of items per row ('auto' for responsive, default: 'auto') */
|
|
32
|
+
maxItemsPerRow?: string | number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* IconContainerBlock Component
|
|
36
|
+
*
|
|
37
|
+
* Individual card for a iconContainer item.
|
|
38
|
+
* Must be used as a child of IconContainersSection component.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* <IconContainerBlock
|
|
43
|
+
* id="github-user"
|
|
44
|
+
* title="GitHub Account"
|
|
45
|
+
* iconify="mdi:github"
|
|
46
|
+
* link="/docs/iconContainers#github"
|
|
47
|
+
* />
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare const IconContainerBlock: React.FC<IconContainerBlockProps>;
|
|
51
|
+
/**
|
|
52
|
+
* IconContainersSection Component
|
|
53
|
+
*
|
|
54
|
+
* Container for iconContainer blocks in a responsive grid layout.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
* <IconContainersSection>
|
|
59
|
+
* <IconContainerBlock
|
|
60
|
+
* id="github-user"
|
|
61
|
+
* title="GitHub Account"
|
|
62
|
+
* iconify="mdi:github"
|
|
63
|
+
* link="/docs/iconContainers#github"
|
|
64
|
+
* />
|
|
65
|
+
* <IconContainerBlock
|
|
66
|
+
* id="linux-knowledge"
|
|
67
|
+
* title="Linux Basics"
|
|
68
|
+
* iconify="mdi:linux"
|
|
69
|
+
* link="/docs/iconContainers#linux"
|
|
70
|
+
* />
|
|
71
|
+
* </IconContainersSection>
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare const IconContainersSection: React.FC<IconContainersSectionProps>;
|
|
75
|
+
export default IconContainersSection;
|
|
76
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/IconContainer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG9H,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IACjC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,gCAAgC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,0BAA2B,SAAQ,YAAY;IAC9D,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAoDhE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA6DtE,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.IconContainersSection = exports.IconContainerBlock = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const react_2 = require("@mdx-js/react");
|
|
9
|
+
const Link_1 = __importDefault(require("@docusaurus/Link"));
|
|
10
|
+
const ThemedIcon_1 = require("../../utils/ThemedIcon");
|
|
11
|
+
const styles_module_css_1 = __importDefault(require("./styles.module.css"));
|
|
12
|
+
/**
|
|
13
|
+
* IconContainerBlock Component
|
|
14
|
+
*
|
|
15
|
+
* Individual card for a iconContainer item.
|
|
16
|
+
* Must be used as a child of IconContainersSection component.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <IconContainerBlock
|
|
21
|
+
* id="github-user"
|
|
22
|
+
* title="GitHub Account"
|
|
23
|
+
* iconify="mdi:github"
|
|
24
|
+
* link="/docs/iconContainers#github"
|
|
25
|
+
* />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
const IconContainerBlock = ({ id, title, iconify, customSvg, customImage, iconColors, titleColors, disableAnimation = false, link, style, linkStyle }) => {
|
|
29
|
+
// Build iconify config with colors if provided
|
|
30
|
+
const iconifyWithColors = iconify && iconColors
|
|
31
|
+
? (typeof iconify === 'string'
|
|
32
|
+
? { icon: iconify, colors: iconColors }
|
|
33
|
+
: { ...iconify, colors: { ...iconify.colors, ...iconColors } })
|
|
34
|
+
: iconify;
|
|
35
|
+
// Build CSS custom properties for title colors
|
|
36
|
+
const titleCssVars = titleColors ? {
|
|
37
|
+
'--title-color': titleColors.light,
|
|
38
|
+
'--title-color-hover': titleColors.lightHover,
|
|
39
|
+
'--title-color-dark': titleColors.dark || titleColors.light,
|
|
40
|
+
'--title-color-hover-dark': titleColors.darkHover || titleColors.lightHover,
|
|
41
|
+
} : {};
|
|
42
|
+
return (react_1.default.createElement(Link_1.default, { to: link, className: styles_module_css_1.default.iconContainerLink, style: linkStyle },
|
|
43
|
+
react_1.default.createElement("div", { className: `${styles_module_css_1.default.iconContainerCard} ${disableAnimation ? styles_module_css_1.default.disableAnimation : ''}`.trim(), ...(id && { id }), style: { ...titleCssVars, ...style } },
|
|
44
|
+
(iconify || customSvg || customImage) && (react_1.default.createElement("div", { className: styles_module_css_1.default.iconContainerIconContainer },
|
|
45
|
+
react_1.default.createElement(ThemedIcon_1.ThemedIcon, { iconify: iconifyWithColors, customSvg: customSvg, customImage: customImage, alt: title, className: styles_module_css_1.default.iconContainerIcon, supportsHover: true, disableAnimation: disableAnimation }))),
|
|
46
|
+
react_1.default.createElement("h4", null, title))));
|
|
47
|
+
};
|
|
48
|
+
exports.IconContainerBlock = IconContainerBlock;
|
|
49
|
+
/**
|
|
50
|
+
* IconContainersSection Component
|
|
51
|
+
*
|
|
52
|
+
* Container for iconContainer blocks in a responsive grid layout.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```tsx
|
|
56
|
+
* <IconContainersSection>
|
|
57
|
+
* <IconContainerBlock
|
|
58
|
+
* id="github-user"
|
|
59
|
+
* title="GitHub Account"
|
|
60
|
+
* iconify="mdi:github"
|
|
61
|
+
* link="/docs/iconContainers#github"
|
|
62
|
+
* />
|
|
63
|
+
* <IconContainerBlock
|
|
64
|
+
* id="linux-knowledge"
|
|
65
|
+
* title="Linux Basics"
|
|
66
|
+
* iconify="mdi:linux"
|
|
67
|
+
* link="/docs/iconContainers#linux"
|
|
68
|
+
* />
|
|
69
|
+
* </IconContainersSection>
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
const IconContainersSection = ({ children, minWidth = '200px', maxItemsPerRow = 'auto' }) => {
|
|
73
|
+
// Extract the string content and iconContainer blocks
|
|
74
|
+
let introContent = null;
|
|
75
|
+
const iconContainerBlocks = [];
|
|
76
|
+
if (Array.isArray(children)) {
|
|
77
|
+
children.forEach((child) => {
|
|
78
|
+
if (typeof child === 'string') {
|
|
79
|
+
introContent = child;
|
|
80
|
+
}
|
|
81
|
+
else if (react_1.default.isValidElement(child)) {
|
|
82
|
+
iconContainerBlocks.push(child);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
else if (react_1.default.isValidElement(children)) {
|
|
87
|
+
iconContainerBlocks.push(children);
|
|
88
|
+
}
|
|
89
|
+
// Calculate flex-basis for even distribution
|
|
90
|
+
let flexBasis = 'calc(25% - 1.5rem)'; // Default: ~4 per row
|
|
91
|
+
if (maxItemsPerRow !== 'auto') {
|
|
92
|
+
const maxItems = parseInt(maxItemsPerRow.toString());
|
|
93
|
+
flexBasis = `calc(${100 / maxItems}% - 1.5rem)`;
|
|
94
|
+
}
|
|
95
|
+
// Apply custom flex styling to each block if custom props are provided
|
|
96
|
+
const shouldApplyCustomStyles = minWidth !== '200px' || maxItemsPerRow !== 'auto';
|
|
97
|
+
const styledBlocks = shouldApplyCustomStyles
|
|
98
|
+
? iconContainerBlocks.map((block, index) => {
|
|
99
|
+
if (react_1.default.isValidElement(block)) {
|
|
100
|
+
return react_1.default.cloneElement(block, {
|
|
101
|
+
key: index,
|
|
102
|
+
linkStyle: {
|
|
103
|
+
flex: `1 1 ${flexBasis}`,
|
|
104
|
+
minWidth: minWidth,
|
|
105
|
+
maxWidth: maxItemsPerRow !== 'auto' ? '100%' : '300px',
|
|
106
|
+
...(block.props.linkStyle || {})
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return block;
|
|
111
|
+
})
|
|
112
|
+
: iconContainerBlocks;
|
|
113
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
114
|
+
introContent && (react_1.default.createElement(react_2.MDXProvider, null, introContent)),
|
|
115
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.iconContainersRow }, styledBlocks)));
|
|
116
|
+
};
|
|
117
|
+
exports.IconContainersSection = IconContainersSection;
|
|
118
|
+
exports.default = exports.IconContainersSection;
|
|
119
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/IconContainer/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IconContainers Section component styles
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
.iconContainersRow {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-wrap: wrap;
|
|
8
|
+
gap: 1.5rem;
|
|
9
|
+
padding: 0.5rem 1rem 1rem 1rem;
|
|
10
|
+
width: 100%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.iconContainerLink {
|
|
14
|
+
text-decoration: none !important;
|
|
15
|
+
color: inherit !important;
|
|
16
|
+
/* Use flex to control sizing - this encourages even distribution */
|
|
17
|
+
flex: 1 1 calc(25% - 1.5rem);
|
|
18
|
+
min-width: 200px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.iconContainerCard {
|
|
22
|
+
padding: 1.25rem;
|
|
23
|
+
border-radius: 8px;
|
|
24
|
+
background-color: var(--ifm-color-emphasis-100);
|
|
25
|
+
box-shadow: var(--ifm-global-shadow-lw);
|
|
26
|
+
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
27
|
+
border-left: 4px solid var(--ifm-color-primary);
|
|
28
|
+
height: 100%;
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
position: relative;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.iconContainerCard:hover {
|
|
35
|
+
transform: translateY(-4px);
|
|
36
|
+
box-shadow: var(--ifm-global-shadow-md);
|
|
37
|
+
background-color: var(--ifm-color-primary-contrast-background);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.iconContainerCard:hover::after {
|
|
41
|
+
content: "";
|
|
42
|
+
position: absolute;
|
|
43
|
+
right: 1rem;
|
|
44
|
+
top: 50%;
|
|
45
|
+
transform: translateY(-50%);
|
|
46
|
+
font-size: 1.5rem;
|
|
47
|
+
color: var(--ifm-color-primary);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.iconContainerIconContainer {
|
|
51
|
+
margin-bottom: 1rem;
|
|
52
|
+
display: flex;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
align-items: center;
|
|
55
|
+
color: var(--icon-color, var(--ifm-color-emphasis-600));
|
|
56
|
+
transition: color 0.3s ease, transform 0.3s ease;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.iconContainerCard:hover .iconContainerIconContainer {
|
|
60
|
+
color: var(--icon-color-hover, var(--ifm-color-primary));
|
|
61
|
+
transform: scale(1.05) translateY(-2px);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Dark theme support */
|
|
65
|
+
[data-theme="dark"] .iconContainerIconContainer {
|
|
66
|
+
color: var(
|
|
67
|
+
--icon-color-dark,
|
|
68
|
+
var(--icon-color, var(--ifm-color-emphasis-600))
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
[data-theme="dark"] .iconContainerCard:hover .iconContainerIconContainer {
|
|
73
|
+
color: var(
|
|
74
|
+
--icon-color-hover-dark,
|
|
75
|
+
var(--icon-color-hover, var(--ifm-color-primary))
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* Disable animation when requested */
|
|
80
|
+
.iconContainerCard.disableAnimation:hover .iconContainerIconContainer {
|
|
81
|
+
transform: none;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.iconContainerIcon {
|
|
85
|
+
width: 50px;
|
|
86
|
+
height: 50px;
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: center;
|
|
89
|
+
justify-content: center;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Ensure SVG fills the container */
|
|
93
|
+
.iconContainerIcon svg {
|
|
94
|
+
width: 100%;
|
|
95
|
+
height: 100%;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.iconContainerCard h4 {
|
|
99
|
+
color: var(--title-color, var(--ifm-color-emphasis-600));
|
|
100
|
+
margin-bottom: 0;
|
|
101
|
+
text-align: center;
|
|
102
|
+
transition: color 0.3s ease;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.iconContainerCard:hover h4 {
|
|
106
|
+
color: var(--title-color-hover, var(--ifm-color-primary));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* Dark theme support */
|
|
110
|
+
[data-theme="dark"] .iconContainerCard h4 {
|
|
111
|
+
color: var(
|
|
112
|
+
--title-color-dark,
|
|
113
|
+
var(--title-color, var(--ifm-color-emphasis-600))
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
[data-theme="dark"] .iconContainerCard:hover h4 {
|
|
118
|
+
color: var(
|
|
119
|
+
--title-color-hover-dark,
|
|
120
|
+
var(--title-color-hover, var(--ifm-color-primary))
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Responsive adjustments */
|
|
125
|
+
@media (max-width: 996px) {
|
|
126
|
+
.iconContainerLink {
|
|
127
|
+
flex: 1 1 calc(33.333% - 1.5rem);
|
|
128
|
+
min-width: 180px;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
@media (max-width: 768px) {
|
|
133
|
+
.iconContainerLink {
|
|
134
|
+
flex: 1 1 calc(50% - 1.5rem);
|
|
135
|
+
min-width: 150px;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* .iconContainerCard h4 {
|
|
139
|
+
font-size: 1.1rem;
|
|
140
|
+
} */
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
@media (max-width: 480px) {
|
|
144
|
+
.iconContainerLink {
|
|
145
|
+
flex: 1 1 100%;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Color configuration for Iconify component (simplified, no hover states)
|
|
4
|
+
*/
|
|
5
|
+
export interface IconifyImageColorConfig {
|
|
6
|
+
/** Icon color in light mode (default: --ifm-color-primary) */
|
|
7
|
+
light?: string;
|
|
8
|
+
/** Icon color in dark mode (default: --ifm-color-primary if light is not defined, otherwise inherits from light) */
|
|
9
|
+
dark?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface IconifyProps {
|
|
12
|
+
/** Iconify icon name (e.g., "mdi:tools") */
|
|
13
|
+
icon: string;
|
|
14
|
+
/** Optional width (e.g., "200px", "10rem"). Maintains aspect ratio. */
|
|
15
|
+
width?: string;
|
|
16
|
+
/** Optional height (e.g., "200px", "10rem"). Maintains aspect ratio. */
|
|
17
|
+
height?: string;
|
|
18
|
+
/** Alignment of the component on the page (default: 'center') */
|
|
19
|
+
alignment?: 'left' | 'center' | 'right';
|
|
20
|
+
/** Icon color configuration */
|
|
21
|
+
iconColors?: IconifyImageColorConfig;
|
|
22
|
+
/** Additional CSS class */
|
|
23
|
+
className?: string;
|
|
24
|
+
/** Additional inline styles */
|
|
25
|
+
style?: React.CSSProperties;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Iconify Component
|
|
29
|
+
*
|
|
30
|
+
* A simple component for adding Iconify icons to MDX pages and documentation.
|
|
31
|
+
* Supports theme-aware colors, flexible sizing, and page alignment.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```tsx
|
|
35
|
+
* // Basic usage with default settings
|
|
36
|
+
* <Iconify icon="mdi:tools" />
|
|
37
|
+
*
|
|
38
|
+
* // Custom size and alignment
|
|
39
|
+
* <Iconify icon="mdi:docker" width="300px" alignment="left" />
|
|
40
|
+
*
|
|
41
|
+
* // Custom colors for light and dark themes
|
|
42
|
+
* <Iconify
|
|
43
|
+
* icon="mdi:kubernetes"
|
|
44
|
+
* iconColors={{
|
|
45
|
+
* light: "#326CE5",
|
|
46
|
+
* dark: "#326CE5"
|
|
47
|
+
* }}
|
|
48
|
+
* />
|
|
49
|
+
*
|
|
50
|
+
* // Only specify one dimension (maintains aspect ratio)
|
|
51
|
+
* <Iconify icon="mdi:react" height="150px" />
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare const Iconify: React.FC<IconifyProps>;
|
|
55
|
+
export default Iconify;
|
|
56
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Iconify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oHAAoH;IACpH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoE1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Iconify = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const useIsBrowser_1 = __importDefault(require("@docusaurus/useIsBrowser"));
|
|
9
|
+
const theme_common_1 = require("@docusaurus/theme-common");
|
|
10
|
+
const IconifyIcon_1 = require("../../utils/IconifyIcon");
|
|
11
|
+
const styles_module_css_1 = __importDefault(require("./styles.module.css"));
|
|
12
|
+
/**
|
|
13
|
+
* Iconify Component
|
|
14
|
+
*
|
|
15
|
+
* A simple component for adding Iconify icons to MDX pages and documentation.
|
|
16
|
+
* Supports theme-aware colors, flexible sizing, and page alignment.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* // Basic usage with default settings
|
|
21
|
+
* <Iconify icon="mdi:tools" />
|
|
22
|
+
*
|
|
23
|
+
* // Custom size and alignment
|
|
24
|
+
* <Iconify icon="mdi:docker" width="300px" alignment="left" />
|
|
25
|
+
*
|
|
26
|
+
* // Custom colors for light and dark themes
|
|
27
|
+
* <Iconify
|
|
28
|
+
* icon="mdi:kubernetes"
|
|
29
|
+
* iconColors={{
|
|
30
|
+
* light: "#326CE5",
|
|
31
|
+
* dark: "#326CE5"
|
|
32
|
+
* }}
|
|
33
|
+
* />
|
|
34
|
+
*
|
|
35
|
+
* // Only specify one dimension (maintains aspect ratio)
|
|
36
|
+
* <Iconify icon="mdi:react" height="150px" />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
const Iconify = ({ icon, width, height, alignment = 'center', iconColors, className, style, }) => {
|
|
40
|
+
const isBrowser = (0, useIsBrowser_1.default)();
|
|
41
|
+
const { colorMode } = (0, theme_common_1.useColorMode)();
|
|
42
|
+
const isDarkTheme = isBrowser ? colorMode === 'dark' : false;
|
|
43
|
+
// Determine icon color based on theme and user config
|
|
44
|
+
let iconColor;
|
|
45
|
+
if (iconColors?.light && iconColors?.dark) {
|
|
46
|
+
// Both defined - use appropriate one
|
|
47
|
+
iconColor = isDarkTheme ? iconColors.dark : iconColors.light;
|
|
48
|
+
}
|
|
49
|
+
else if (iconColors?.light) {
|
|
50
|
+
// Only light defined - use for light, default primary for dark
|
|
51
|
+
iconColor = isDarkTheme ? 'var(--ifm-color-primary)' : iconColors.light;
|
|
52
|
+
}
|
|
53
|
+
else if (iconColors?.dark) {
|
|
54
|
+
// Only dark defined - use for dark, default primary for light
|
|
55
|
+
iconColor = isDarkTheme ? iconColors.dark : 'var(--ifm-color-primary)';
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
// Neither defined - use default primary for both
|
|
59
|
+
iconColor = 'var(--ifm-color-primary)';
|
|
60
|
+
}
|
|
61
|
+
// Build icon sizing styles
|
|
62
|
+
const iconSizeStyle = {};
|
|
63
|
+
if (width) {
|
|
64
|
+
iconSizeStyle.maxWidth = width;
|
|
65
|
+
iconSizeStyle.width = width;
|
|
66
|
+
}
|
|
67
|
+
if (height) {
|
|
68
|
+
iconSizeStyle.maxHeight = height;
|
|
69
|
+
iconSizeStyle.height = height;
|
|
70
|
+
}
|
|
71
|
+
// If no size specified, use default 200px constraint
|
|
72
|
+
if (!width && !height) {
|
|
73
|
+
iconSizeStyle.maxWidth = '200px';
|
|
74
|
+
iconSizeStyle.maxHeight = '200px';
|
|
75
|
+
iconSizeStyle.width = '200px';
|
|
76
|
+
iconSizeStyle.height = '200px';
|
|
77
|
+
}
|
|
78
|
+
// Determine alignment class
|
|
79
|
+
const alignmentClass = alignment === 'left' ? styles_module_css_1.default.alignLeft :
|
|
80
|
+
alignment === 'right' ? styles_module_css_1.default.alignRight :
|
|
81
|
+
styles_module_css_1.default.alignCenter;
|
|
82
|
+
return (react_1.default.createElement("div", { className: `${styles_module_css_1.default.iconifyContainer} ${alignmentClass} ${className || ''}`.trim(), style: style },
|
|
83
|
+
react_1.default.createElement("div", { className: styles_module_css_1.default.iconifyWrapper },
|
|
84
|
+
react_1.default.createElement(IconifyIcon_1.IconifyIcon, { icon: icon, color: iconColor, width: "100%", height: "100%", className: styles_module_css_1.default.iconifyIcon, style: iconSizeStyle }))));
|
|
85
|
+
};
|
|
86
|
+
exports.Iconify = Iconify;
|
|
87
|
+
exports.default = exports.Iconify;
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Iconify/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4EAAoD;AACpD,2DAAwD;AACxD,yDAAsD;AACtD,4EAAyC;AA6BzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,MAAM,OAAO,GAA2B,CAAC,EAC9C,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,GAAG,QAAQ,EACpB,UAAU,EACV,SAAS,EACT,KAAK,GACN,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,IAAA,sBAAY,GAAE,CAAC;IACjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,2BAAY,GAAE,CAAC;IACrC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAE7D,sDAAsD;IACtD,IAAI,SAAiB,CAAC;IACtB,IAAI,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QAC1C,qCAAqC;QACrC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/D,CAAC;SAAM,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;QAC7B,+DAA+D;QAC/D,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAC1E,CAAC;SAAM,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QAC5B,8DAA8D;QAC9D,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,iDAAiD;QACjD,SAAS,GAAG,0BAA0B,CAAC;IACzC,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAwB,EAAE,CAAC;IAC9C,IAAI,KAAK,EAAE,CAAC;QACV,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC/B,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC;QACjC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;IAChC,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC;QACjC,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC;QAClC,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC;QAC9B,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,4BAA4B;IAC5B,MAAM,cAAc,GAClB,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,2BAAM,CAAC,SAAS,CAAC,CAAC;QACzC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,2BAAM,CAAC,UAAU,CAAC,CAAC;YAC3C,2BAAM,CAAC,WAAW,CAAC;IAErB,OAAO,CACL,uCAAK,SAAS,EAAE,GAAG,2BAAM,CAAC,gBAAgB,IAAI,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK;QACpG,uCAAK,SAAS,EAAE,2BAAM,CAAC,cAAc;YACnC,8BAAC,yBAAW,IACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,EAChB,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,SAAS,EAAE,2BAAM,CAAC,WAAW,EAC7B,KAAK,EAAE,aAAa,GACpB,CACE,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AApEW,QAAA,OAAO,WAoElB;AAEF,kBAAe,eAAO,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Iconify component styles
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
.iconifyContainer {
|
|
6
|
+
display: block;
|
|
7
|
+
width: 100%;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.alignLeft {
|
|
11
|
+
text-align: left;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.alignCenter {
|
|
15
|
+
text-align: center;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.alignRight {
|
|
19
|
+
text-align: right;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.iconifyWrapper {
|
|
23
|
+
display: inline-block;
|
|
24
|
+
padding: 10px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.iconifyIcon {
|
|
28
|
+
display: block;
|
|
29
|
+
object-fit: contain;
|
|
30
|
+
}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @sp-days-framework/docusaurus-frontpage-collection
|
|
3
|
+
*
|
|
4
|
+
* A collection of reusable React components for Docusaurus with TypeScript support.
|
|
5
|
+
* Includes flexible icon system supporting both Iconify icons and custom images.
|
|
6
|
+
*/
|
|
7
|
+
export { IconifyIcon } from "./utils/IconifyIcon";
|
|
8
|
+
export { ThemedIcon } from "./utils/ThemedIcon";
|
|
9
|
+
export { logWarn, logError, logInfo } from "./utils/logger";
|
|
10
|
+
export { IMAGE_NOT_FOUND_SVG, DEFAULT_ICON_COLORS, DEFAULT_TITLE_COLORS, } from "./utils/constants";
|
|
11
|
+
export type { IconifyConfig, CustomSvgConfig, CustomImageConfig, IconColorConfig, TitleColorConfig, IconifyImageColorConfig, IconifyIconProps, ThemedIconProps, WithChildren, WithClassName, StyledComponentProps, } from "./utils/types";
|
|
12
|
+
export { Block } from "./components/Block";
|
|
13
|
+
export { default as BlockDefault } from "./components/Block";
|
|
14
|
+
export type { BlockProps } from "./components/Block";
|
|
15
|
+
export { Columns, Left, Right } from "./components/Columns";
|
|
16
|
+
export { default as ColumnsDefault } from "./components/Columns";
|
|
17
|
+
export type { ColumnsProps, LeftProps, RightProps } from "./components/Columns";
|
|
18
|
+
export { CourseFeature, Included, NotIncluded, } from "./components/CourseFeature";
|
|
19
|
+
export { default as CourseFeatureDefault } from "./components/CourseFeature";
|
|
20
|
+
export type { CourseFeatureProps, IncludedProps, NotIncludedProps, } from "./components/CourseFeature";
|
|
21
|
+
export { FancyHeader } from "./components/FancyHeader";
|
|
22
|
+
export { default as FancyHeaderDefault } from "./components/FancyHeader";
|
|
23
|
+
export type { FancyHeaderProps } from "./components/FancyHeader";
|
|
24
|
+
export { GetStarted, Explore, ExploreItem } from "./components/GetStarted";
|
|
25
|
+
export { default as GetStartedDefault } from "./components/GetStarted";
|
|
26
|
+
export type { GetStartedProps, ExploreProps, ExploreItemProps, } from "./components/GetStarted";
|
|
27
|
+
export { HeroBanner } from "./components/HeroBanner";
|
|
28
|
+
export { default as HeroBannerDefault } from "./components/HeroBanner";
|
|
29
|
+
export type { HeroBannerProps } from "./components/HeroBanner";
|
|
30
|
+
export { IconContainersSection, IconContainerBlock, } from "./components/IconContainer";
|
|
31
|
+
export { default as IconContainersSectionDefault } from "./components/IconContainer";
|
|
32
|
+
export type { IconContainersSectionProps, IconContainerBlockProps, } from "./components/IconContainer";
|
|
33
|
+
export { Iconify } from "./components/Iconify";
|
|
34
|
+
export { default as IconifyDefault } from "./components/Iconify";
|
|
35
|
+
export type { IconifyProps } from "./components/Iconify";
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EACL,aAAa,EACb,QAAQ,EACR,WAAW,GACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACrF,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @sp-days-framework/docusaurus-frontpage-collection
|
|
4
|
+
*
|
|
5
|
+
* A collection of reusable React components for Docusaurus with TypeScript support.
|
|
6
|
+
* Includes flexible icon system supporting both Iconify icons and custom images.
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IconifyDefault = exports.Iconify = exports.IconContainersSectionDefault = exports.IconContainerBlock = exports.IconContainersSection = exports.HeroBannerDefault = exports.HeroBanner = exports.GetStartedDefault = exports.ExploreItem = exports.Explore = exports.GetStarted = exports.FancyHeaderDefault = exports.FancyHeader = exports.CourseFeatureDefault = exports.NotIncluded = exports.Included = exports.CourseFeature = exports.ColumnsDefault = exports.Right = exports.Left = exports.Columns = exports.BlockDefault = exports.Block = exports.DEFAULT_TITLE_COLORS = exports.DEFAULT_ICON_COLORS = exports.IMAGE_NOT_FOUND_SVG = exports.logInfo = exports.logError = exports.logWarn = exports.ThemedIcon = exports.IconifyIcon = void 0;
|
|
13
|
+
// Utility exports
|
|
14
|
+
var IconifyIcon_1 = require("./utils/IconifyIcon");
|
|
15
|
+
Object.defineProperty(exports, "IconifyIcon", { enumerable: true, get: function () { return IconifyIcon_1.IconifyIcon; } });
|
|
16
|
+
var ThemedIcon_1 = require("./utils/ThemedIcon");
|
|
17
|
+
Object.defineProperty(exports, "ThemedIcon", { enumerable: true, get: function () { return ThemedIcon_1.ThemedIcon; } });
|
|
18
|
+
var logger_1 = require("./utils/logger");
|
|
19
|
+
Object.defineProperty(exports, "logWarn", { enumerable: true, get: function () { return logger_1.logWarn; } });
|
|
20
|
+
Object.defineProperty(exports, "logError", { enumerable: true, get: function () { return logger_1.logError; } });
|
|
21
|
+
Object.defineProperty(exports, "logInfo", { enumerable: true, get: function () { return logger_1.logInfo; } });
|
|
22
|
+
var constants_1 = require("./utils/constants");
|
|
23
|
+
Object.defineProperty(exports, "IMAGE_NOT_FOUND_SVG", { enumerable: true, get: function () { return constants_1.IMAGE_NOT_FOUND_SVG; } });
|
|
24
|
+
Object.defineProperty(exports, "DEFAULT_ICON_COLORS", { enumerable: true, get: function () { return constants_1.DEFAULT_ICON_COLORS; } });
|
|
25
|
+
Object.defineProperty(exports, "DEFAULT_TITLE_COLORS", { enumerable: true, get: function () { return constants_1.DEFAULT_TITLE_COLORS; } });
|
|
26
|
+
// Block component
|
|
27
|
+
var Block_1 = require("./components/Block");
|
|
28
|
+
Object.defineProperty(exports, "Block", { enumerable: true, get: function () { return Block_1.Block; } });
|
|
29
|
+
var Block_2 = require("./components/Block");
|
|
30
|
+
Object.defineProperty(exports, "BlockDefault", { enumerable: true, get: function () { return __importDefault(Block_2).default; } });
|
|
31
|
+
// Columns component and sub-components
|
|
32
|
+
var Columns_1 = require("./components/Columns");
|
|
33
|
+
Object.defineProperty(exports, "Columns", { enumerable: true, get: function () { return Columns_1.Columns; } });
|
|
34
|
+
Object.defineProperty(exports, "Left", { enumerable: true, get: function () { return Columns_1.Left; } });
|
|
35
|
+
Object.defineProperty(exports, "Right", { enumerable: true, get: function () { return Columns_1.Right; } });
|
|
36
|
+
var Columns_2 = require("./components/Columns");
|
|
37
|
+
Object.defineProperty(exports, "ColumnsDefault", { enumerable: true, get: function () { return __importDefault(Columns_2).default; } });
|
|
38
|
+
// CourseFeature component and sub-components
|
|
39
|
+
var CourseFeature_1 = require("./components/CourseFeature");
|
|
40
|
+
Object.defineProperty(exports, "CourseFeature", { enumerable: true, get: function () { return CourseFeature_1.CourseFeature; } });
|
|
41
|
+
Object.defineProperty(exports, "Included", { enumerable: true, get: function () { return CourseFeature_1.Included; } });
|
|
42
|
+
Object.defineProperty(exports, "NotIncluded", { enumerable: true, get: function () { return CourseFeature_1.NotIncluded; } });
|
|
43
|
+
var CourseFeature_2 = require("./components/CourseFeature");
|
|
44
|
+
Object.defineProperty(exports, "CourseFeatureDefault", { enumerable: true, get: function () { return __importDefault(CourseFeature_2).default; } });
|
|
45
|
+
// FancyHeader component
|
|
46
|
+
var FancyHeader_1 = require("./components/FancyHeader");
|
|
47
|
+
Object.defineProperty(exports, "FancyHeader", { enumerable: true, get: function () { return FancyHeader_1.FancyHeader; } });
|
|
48
|
+
var FancyHeader_2 = require("./components/FancyHeader");
|
|
49
|
+
Object.defineProperty(exports, "FancyHeaderDefault", { enumerable: true, get: function () { return __importDefault(FancyHeader_2).default; } });
|
|
50
|
+
// GetStarted component and sub-components
|
|
51
|
+
var GetStarted_1 = require("./components/GetStarted");
|
|
52
|
+
Object.defineProperty(exports, "GetStarted", { enumerable: true, get: function () { return GetStarted_1.GetStarted; } });
|
|
53
|
+
Object.defineProperty(exports, "Explore", { enumerable: true, get: function () { return GetStarted_1.Explore; } });
|
|
54
|
+
Object.defineProperty(exports, "ExploreItem", { enumerable: true, get: function () { return GetStarted_1.ExploreItem; } });
|
|
55
|
+
var GetStarted_2 = require("./components/GetStarted");
|
|
56
|
+
Object.defineProperty(exports, "GetStartedDefault", { enumerable: true, get: function () { return __importDefault(GetStarted_2).default; } });
|
|
57
|
+
// HeroBanner component
|
|
58
|
+
var HeroBanner_1 = require("./components/HeroBanner");
|
|
59
|
+
Object.defineProperty(exports, "HeroBanner", { enumerable: true, get: function () { return HeroBanner_1.HeroBanner; } });
|
|
60
|
+
var HeroBanner_2 = require("./components/HeroBanner");
|
|
61
|
+
Object.defineProperty(exports, "HeroBannerDefault", { enumerable: true, get: function () { return __importDefault(HeroBanner_2).default; } });
|
|
62
|
+
// IconContainersSection component and sub-components
|
|
63
|
+
var IconContainer_1 = require("./components/IconContainer");
|
|
64
|
+
Object.defineProperty(exports, "IconContainersSection", { enumerable: true, get: function () { return IconContainer_1.IconContainersSection; } });
|
|
65
|
+
Object.defineProperty(exports, "IconContainerBlock", { enumerable: true, get: function () { return IconContainer_1.IconContainerBlock; } });
|
|
66
|
+
var IconContainer_2 = require("./components/IconContainer");
|
|
67
|
+
Object.defineProperty(exports, "IconContainersSectionDefault", { enumerable: true, get: function () { return __importDefault(IconContainer_2).default; } });
|
|
68
|
+
// Iconify component
|
|
69
|
+
var Iconify_1 = require("./components/Iconify");
|
|
70
|
+
Object.defineProperty(exports, "Iconify", { enumerable: true, get: function () { return Iconify_1.Iconify; } });
|
|
71
|
+
var Iconify_2 = require("./components/Iconify");
|
|
72
|
+
Object.defineProperty(exports, "IconifyDefault", { enumerable: true, get: function () { return __importDefault(Iconify_2).default; } });
|
|
73
|
+
//# sourceMappingURL=index.js.map
|