@sp-days-framework/docusaurus-frontpage-collection 1.0.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.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +339 -0
  3. package/lib/components/Block/index.d.ts +22 -0
  4. package/lib/components/Block/index.d.ts.map +1 -0
  5. package/lib/components/Block/index.js +32 -0
  6. package/lib/components/Block/index.js.map +1 -0
  7. package/lib/components/Block/styles.module.css +26 -0
  8. package/lib/components/Columns/index.d.ts +68 -0
  9. package/lib/components/Columns/index.d.ts.map +1 -0
  10. package/lib/components/Columns/index.js +119 -0
  11. package/lib/components/Columns/index.js.map +1 -0
  12. package/lib/components/Columns/styles.module.css +196 -0
  13. package/lib/components/CourseFeature/index.d.ts +99 -0
  14. package/lib/components/CourseFeature/index.d.ts.map +1 -0
  15. package/lib/components/CourseFeature/index.js +188 -0
  16. package/lib/components/CourseFeature/index.js.map +1 -0
  17. package/lib/components/CourseFeature/styles.module.css +204 -0
  18. package/lib/components/FancyHeader/index.d.ts +24 -0
  19. package/lib/components/FancyHeader/index.d.ts.map +1 -0
  20. package/lib/components/FancyHeader/index.js +32 -0
  21. package/lib/components/FancyHeader/index.js.map +1 -0
  22. package/lib/components/FancyHeader/styles.module.css +23 -0
  23. package/lib/components/GetStarted/index.d.ts +99 -0
  24. package/lib/components/GetStarted/index.d.ts.map +1 -0
  25. package/lib/components/GetStarted/index.js +127 -0
  26. package/lib/components/GetStarted/index.js.map +1 -0
  27. package/lib/components/GetStarted/styles.module.css +174 -0
  28. package/lib/components/HeroBanner/DotCrossGrid.d.ts +25 -0
  29. package/lib/components/HeroBanner/DotCrossGrid.d.ts.map +1 -0
  30. package/lib/components/HeroBanner/DotCrossGrid.js +283 -0
  31. package/lib/components/HeroBanner/DotCrossGrid.js.map +1 -0
  32. package/lib/components/HeroBanner/DotCrossGrid.module.css +9 -0
  33. package/lib/components/HeroBanner/index.d.ts +42 -0
  34. package/lib/components/HeroBanner/index.d.ts.map +1 -0
  35. package/lib/components/HeroBanner/index.js +116 -0
  36. package/lib/components/HeroBanner/index.js.map +1 -0
  37. package/lib/components/HeroBanner/styles.module.css +204 -0
  38. package/lib/components/IconContainer/index.d.ts +76 -0
  39. package/lib/components/IconContainer/index.d.ts.map +1 -0
  40. package/lib/components/IconContainer/index.js +119 -0
  41. package/lib/components/IconContainer/index.js.map +1 -0
  42. package/lib/components/IconContainer/styles.module.css +147 -0
  43. package/lib/components/Iconify/index.d.ts +56 -0
  44. package/lib/components/Iconify/index.d.ts.map +1 -0
  45. package/lib/components/Iconify/index.js +88 -0
  46. package/lib/components/Iconify/index.js.map +1 -0
  47. package/lib/components/Iconify/styles.module.css +30 -0
  48. package/lib/index.d.ts +36 -0
  49. package/lib/index.d.ts.map +1 -0
  50. package/lib/index.js +73 -0
  51. package/lib/index.js.map +1 -0
  52. package/lib/utils/IconifyIcon.d.ts +17 -0
  53. package/lib/utils/IconifyIcon.d.ts.map +1 -0
  54. package/lib/utils/IconifyIcon.js +26 -0
  55. package/lib/utils/IconifyIcon.js.map +1 -0
  56. package/lib/utils/InlineSvg.d.ts +29 -0
  57. package/lib/utils/InlineSvg.d.ts.map +1 -0
  58. package/lib/utils/InlineSvg.js +90 -0
  59. package/lib/utils/InlineSvg.js.map +1 -0
  60. package/lib/utils/ThemedIcon.d.ts +61 -0
  61. package/lib/utils/ThemedIcon.d.ts.map +1 -0
  62. package/lib/utils/ThemedIcon.js +128 -0
  63. package/lib/utils/ThemedIcon.js.map +1 -0
  64. package/lib/utils/constants.d.ts +23 -0
  65. package/lib/utils/constants.d.ts.map +1 -0
  66. package/lib/utils/constants.js +36 -0
  67. package/lib/utils/constants.js.map +1 -0
  68. package/lib/utils/index.d.ts +9 -0
  69. package/lib/utils/index.d.ts.map +1 -0
  70. package/lib/utils/index.js +19 -0
  71. package/lib/utils/index.js.map +1 -0
  72. package/lib/utils/logger.d.ts +21 -0
  73. package/lib/utils/logger.d.ts.map +1 -0
  74. package/lib/utils/logger.js +38 -0
  75. package/lib/utils/logger.js.map +1 -0
  76. package/lib/utils/types.d.ts +129 -0
  77. package/lib/utils/types.d.ts.map +1 -0
  78. package/lib/utils/types.js +6 -0
  79. package/lib/utils/types.js.map +1 -0
  80. 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