@rendr-view/card 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +8 -0
- package/dist/_bundles/card.d.ts +89 -0
- package/dist/_bundles/card.js +176 -0
- package/dist/_bundles/card.js.map +1 -0
- package/dist/lib/card-renderer.d.ts +12 -0
- package/dist/lib/card-renderer.js +55 -0
- package/dist/lib/card-renderer.js.map +1 -0
- package/dist/lib/card-sections.d.ts +12 -0
- package/dist/lib/card-sections.js +94 -0
- package/dist/lib/card-sections.js.map +1 -0
- package/dist/lib/card.d.ts +4 -0
- package/dist/lib/card.js +30 -0
- package/dist/lib/card.js.map +1 -0
- package/dist/lib/index.d.ts +9 -0
- package/dist/lib/index.js +22 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/types.d.ts +42 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib-esm/card-renderer.d.ts +12 -0
- package/dist/lib-esm/card-renderer.js +47 -0
- package/dist/lib-esm/card-renderer.js.map +1 -0
- package/dist/lib-esm/card-sections.d.ts +12 -0
- package/dist/lib-esm/card-sections.js +82 -0
- package/dist/lib-esm/card-sections.js.map +1 -0
- package/dist/lib-esm/card.d.ts +4 -0
- package/dist/lib-esm/card.js +23 -0
- package/dist/lib-esm/card.js.map +1 -0
- package/dist/lib-esm/index.d.ts +9 -0
- package/dist/lib-esm/index.js +7 -0
- package/dist/lib-esm/index.js.map +1 -0
- package/dist/lib-esm/types.d.ts +42 -0
- package/dist/lib-esm/types.js +2 -0
- package/dist/lib-esm/types.js.map +1 -0
- package/package.json +21 -0
- package/src/card-renderer.tsx +47 -0
- package/src/card-sections.tsx +132 -0
- package/src/card.tsx +22 -0
- package/src/index.ts +11 -0
- package/src/types.ts +66 -0
- package/tsconfig.json +8 -0
- package/yarn-error.log +53 -0
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare module "types" {
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { PropsWithClxnObject } from "@rendr-view/with-clxn";
|
|
5
|
+
export interface CardCategory {
|
|
6
|
+
className?: string;
|
|
7
|
+
link?: string;
|
|
8
|
+
label?: string;
|
|
9
|
+
}
|
|
10
|
+
export type ClassNamesList = {
|
|
11
|
+
buttons?: string;
|
|
12
|
+
button?: string;
|
|
13
|
+
card?: string;
|
|
14
|
+
content?: string;
|
|
15
|
+
categories?: string;
|
|
16
|
+
category?: string;
|
|
17
|
+
figure?: string;
|
|
18
|
+
image?: string;
|
|
19
|
+
imageWrapper?: string;
|
|
20
|
+
paragraph?: string;
|
|
21
|
+
subtitle?: string;
|
|
22
|
+
title?: string;
|
|
23
|
+
};
|
|
24
|
+
export type HTMLImageProps = React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>;
|
|
25
|
+
export type HTMLButtonProps = React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
|
|
26
|
+
export type HTMLLinkProps = React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
|
|
27
|
+
export type CardButtonProps = HTMLButtonProps & HTMLLinkProps;
|
|
28
|
+
export type CardStructureType = Array<string | React.ComponentType<CardSectionProps>>;
|
|
29
|
+
export type CardSectionsDirectory = {
|
|
30
|
+
[key: string]: React.ComponentType<CardSectionProps>;
|
|
31
|
+
};
|
|
32
|
+
export interface Props {
|
|
33
|
+
className?: string;
|
|
34
|
+
title?: string;
|
|
35
|
+
text?: string;
|
|
36
|
+
image?: HTMLImageProps;
|
|
37
|
+
structure?: CardStructureType;
|
|
38
|
+
categories?: CardCategory[];
|
|
39
|
+
subtitle?: string;
|
|
40
|
+
buttons?: CardButtonProps[];
|
|
41
|
+
}
|
|
42
|
+
export type CardSectionProps<T = any> = PropsWithClxnObject<Props & {
|
|
43
|
+
CustomComp?: React.ComponentType<T> | string;
|
|
44
|
+
}, ClassNamesList>;
|
|
45
|
+
}
|
|
46
|
+
declare module "card-sections" {
|
|
47
|
+
import React from "react";
|
|
48
|
+
import { CardButtonProps, CardCategory, CardSectionProps, CardSectionsDirectory, HTMLImageProps } from "types";
|
|
49
|
+
export function CardImage({ clx, CustomComp, ...props }: CardSectionProps<HTMLImageProps>): JSX.Element;
|
|
50
|
+
export function CardCategories({ clx, CustomComp, ...props }: CardSectionProps<React.PropsWithChildren<CardCategory>>): JSX.Element;
|
|
51
|
+
export function CardTitle({ clx, CustomComp, ...props }: CardSectionProps): JSX.Element;
|
|
52
|
+
export function CardSubtitle({ clx, CustomComp, ...props }: CardSectionProps<React.PropsWithChildren<{
|
|
53
|
+
className?: string;
|
|
54
|
+
}>>): JSX.Element;
|
|
55
|
+
export function CardParagraph({ clx, CustomComp, ...props }: CardSectionProps): JSX.Element;
|
|
56
|
+
export function CardButtons({ clx, CustomComp, ...props }: CardSectionProps<CardButtonProps>): JSX.Element;
|
|
57
|
+
export const cardSectionsList: CardSectionsDirectory;
|
|
58
|
+
export default cardSectionsList;
|
|
59
|
+
}
|
|
60
|
+
declare module "card-renderer" {
|
|
61
|
+
import { CardSectionProps, CardStructureType } from "types";
|
|
62
|
+
export const defaultStructure: string[];
|
|
63
|
+
export enum CardSections {
|
|
64
|
+
Image = "image",
|
|
65
|
+
Categories = "categories",
|
|
66
|
+
Title = "title",
|
|
67
|
+
Subtitle = "subtitle",
|
|
68
|
+
Paragraph = "paragraph",
|
|
69
|
+
Buttons = "buttons"
|
|
70
|
+
}
|
|
71
|
+
export function renderCardSections(structure: CardStructureType, props: CardSectionProps): JSX.Element[];
|
|
72
|
+
export function renderCardSectionGroup(className: string, structure?: CardStructureType): (props: CardSectionProps) => JSX.Element;
|
|
73
|
+
}
|
|
74
|
+
declare module "card" {
|
|
75
|
+
import { PropsWithClxnObject } from "@rendr-view/with-clxn";
|
|
76
|
+
import { ClassNamesList, Props } from "types";
|
|
77
|
+
export function Card(props: PropsWithClxnObject<Props, ClassNamesList>): JSX.Element;
|
|
78
|
+
export default Card;
|
|
79
|
+
}
|
|
80
|
+
declare module "index" {
|
|
81
|
+
import { CardCategory, ClassNamesList, HTMLImageProps, HTMLButtonProps, HTMLLinkProps, CardButtonProps, CardStructureType, Props, CardSectionProps, CardSectionsDirectory } from "types";
|
|
82
|
+
import { CardImage, CardCategories, CardTitle, CardSubtitle, CardParagraph, CardButtons } from "card-sections";
|
|
83
|
+
import { defaultStructure, CardSections, renderCardSections, renderCardSectionGroup } from "card-renderer";
|
|
84
|
+
import Card from "card";
|
|
85
|
+
const _default: import("react").FunctionComponent<import("@rendr-view/with-clxn").PropsWithClxnLoader<Props, ClassNamesList>>;
|
|
86
|
+
export default _default;
|
|
87
|
+
export { defaultStructure, renderCardSections, renderCardSectionGroup, Card, CardImage, CardCategories, CardTitle, CardSubtitle, CardParagraph, CardButtons };
|
|
88
|
+
export type { CardCategory, ClassNamesList, HTMLImageProps, HTMLButtonProps, HTMLLinkProps, CardButtonProps, CardStructureType, Props, CardSectionProps, CardSectionsDirectory, CardSections };
|
|
89
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
24
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
25
|
+
};
|
|
26
|
+
define("types", ["require", "exports"], function (require, exports) {
|
|
27
|
+
"use strict";
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
});
|
|
30
|
+
define("card-sections", ["require", "exports", "react", "clsx"], function (require, exports, react_1, clsx_1) {
|
|
31
|
+
"use strict";
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.cardSectionsList = exports.CardButtons = exports.CardParagraph = exports.CardSubtitle = exports.CardTitle = exports.CardCategories = exports.CardImage = void 0;
|
|
34
|
+
react_1 = __importDefault(react_1);
|
|
35
|
+
clsx_1 = __importDefault(clsx_1);
|
|
36
|
+
function CardImage(_a) {
|
|
37
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "img" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
38
|
+
if (!props.image || !props.image.src) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return (react_1.default.createElement("figure", { className: (0, clsx_1.default)("Card__figure", clx.figure) },
|
|
42
|
+
react_1.default.createElement("span", { className: (0, clsx_1.default)("Card__imageWrapper", clx.imageWrapper) },
|
|
43
|
+
react_1.default.createElement(CustomComp, __assign({ className: (0, clsx_1.default)("Card__image", clx.image) }, props.image)))));
|
|
44
|
+
}
|
|
45
|
+
exports.CardImage = CardImage;
|
|
46
|
+
function CardCategories(_a) {
|
|
47
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
48
|
+
if (!props.categories || props.categories.length === 0) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return (react_1.default.createElement("div", { className: (0, clsx_1.default)("Card__categories", clx.categories) }, props.categories.map(function (category, i) { return (react_1.default.createElement(CustomComp, __assign({ key: category.label, className: (0, clsx_1.default)("Card__category", clx.category) }, category),
|
|
52
|
+
react_1.default.createElement("a", { className: category.className, href: category.link }, category.label))); })));
|
|
53
|
+
}
|
|
54
|
+
exports.CardCategories = CardCategories;
|
|
55
|
+
function CardTitle(_a) {
|
|
56
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
57
|
+
if (!props.title) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return (react_1.default.createElement(CustomComp, { className: (0, clsx_1.default)("Card__title", clx.title) }, props.title));
|
|
61
|
+
}
|
|
62
|
+
exports.CardTitle = CardTitle;
|
|
63
|
+
function CardSubtitle(_a) {
|
|
64
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
65
|
+
if (!props.subtitle) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return (react_1.default.createElement(CustomComp, { className: (0, clsx_1.default)("Card__subtitle", clx.subtitle) }, props.subtitle));
|
|
69
|
+
}
|
|
70
|
+
exports.CardSubtitle = CardSubtitle;
|
|
71
|
+
function CardParagraph(_a) {
|
|
72
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
73
|
+
if (!props.text) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return (react_1.default.createElement(CustomComp, { className: (0, clsx_1.default)("Card__paragraph", clx.paragraph) }, props.text));
|
|
77
|
+
}
|
|
78
|
+
exports.CardParagraph = CardParagraph;
|
|
79
|
+
function CardButtons(_a) {
|
|
80
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "a" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
81
|
+
if (!props.buttons || props.buttons.length === 0) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
return (react_1.default.createElement("div", { className: (0, clsx_1.default)("Card__buttons", clx.buttons) }, props.buttons.map(function (_a, i) {
|
|
85
|
+
var buttonClassName = _a.className, button = __rest(_a, ["className"]);
|
|
86
|
+
return (react_1.default.createElement(CustomComp, __assign({ className: (0, clsx_1.default)("Card__button", clx.button, buttonClassName), key: "".concat(i, "-").concat(button.id || "card-button") }, button)));
|
|
87
|
+
})));
|
|
88
|
+
}
|
|
89
|
+
exports.CardButtons = CardButtons;
|
|
90
|
+
exports.cardSectionsList = {
|
|
91
|
+
image: CardImage,
|
|
92
|
+
categories: CardCategories,
|
|
93
|
+
title: CardTitle,
|
|
94
|
+
subtitle: CardSubtitle,
|
|
95
|
+
paragraph: CardParagraph,
|
|
96
|
+
buttons: CardButtons
|
|
97
|
+
};
|
|
98
|
+
exports.default = exports.cardSectionsList;
|
|
99
|
+
});
|
|
100
|
+
define("card-renderer", ["require", "exports", "react", "card-sections"], function (require, exports, react_2, card_sections_1) {
|
|
101
|
+
"use strict";
|
|
102
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
103
|
+
exports.renderCardSectionGroup = exports.renderCardSections = exports.CardSections = exports.defaultStructure = void 0;
|
|
104
|
+
react_2 = __importDefault(react_2);
|
|
105
|
+
card_sections_1 = __importDefault(card_sections_1);
|
|
106
|
+
exports.defaultStructure = [
|
|
107
|
+
"image",
|
|
108
|
+
"categories",
|
|
109
|
+
"title",
|
|
110
|
+
"subtitle",
|
|
111
|
+
"paragraph",
|
|
112
|
+
"buttons"
|
|
113
|
+
];
|
|
114
|
+
var CardSections;
|
|
115
|
+
(function (CardSections) {
|
|
116
|
+
CardSections["Image"] = "image";
|
|
117
|
+
CardSections["Categories"] = "categories";
|
|
118
|
+
CardSections["Title"] = "title";
|
|
119
|
+
CardSections["Subtitle"] = "subtitle";
|
|
120
|
+
CardSections["Paragraph"] = "paragraph";
|
|
121
|
+
CardSections["Buttons"] = "buttons";
|
|
122
|
+
})(CardSections = exports.CardSections || (exports.CardSections = {}));
|
|
123
|
+
function renderCardSections(structure, props) {
|
|
124
|
+
return structure.map(function (contentBlock, i) {
|
|
125
|
+
var Comp = typeof contentBlock === "string"
|
|
126
|
+
? card_sections_1.default[contentBlock]
|
|
127
|
+
: contentBlock;
|
|
128
|
+
if (Comp) {
|
|
129
|
+
return react_2.default.createElement(Comp, __assign({ key: i }, props));
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
exports.renderCardSections = renderCardSections;
|
|
135
|
+
function renderCardSectionGroup(className, structure) {
|
|
136
|
+
if (structure === void 0) { structure = []; }
|
|
137
|
+
var CardSectionGroup = function (props) { return (react_2.default.createElement("div", { className: className }, renderCardSections(structure, props))); };
|
|
138
|
+
return CardSectionGroup;
|
|
139
|
+
}
|
|
140
|
+
exports.renderCardSectionGroup = renderCardSectionGroup;
|
|
141
|
+
});
|
|
142
|
+
define("card", ["require", "exports", "react", "clsx", "card-renderer"], function (require, exports, react_3, clsx_2, card_renderer_1) {
|
|
143
|
+
"use strict";
|
|
144
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
145
|
+
exports.Card = void 0;
|
|
146
|
+
react_3 = __importDefault(react_3);
|
|
147
|
+
clsx_2 = __importDefault(clsx_2);
|
|
148
|
+
function Card(props) {
|
|
149
|
+
var _a, _b;
|
|
150
|
+
var structure = props.structure || card_renderer_1.defaultStructure;
|
|
151
|
+
var CardContent = (0, card_renderer_1.renderCardSectionGroup)((0, clsx_2.default)("Card__content", (_a = props.clx) === null || _a === void 0 ? void 0 : _a.content), structure);
|
|
152
|
+
return (react_3.default.createElement("div", { className: (0, clsx_2.default)("Card", (_b = props.clx) === null || _b === void 0 ? void 0 : _b.card, props.className) },
|
|
153
|
+
react_3.default.createElement(CardContent, __assign({}, props))));
|
|
154
|
+
}
|
|
155
|
+
exports.Card = Card;
|
|
156
|
+
exports.default = Card;
|
|
157
|
+
});
|
|
158
|
+
define("index", ["require", "exports", "@rendr-view/with-clxn", "card-sections", "card-renderer", "card"], function (require, exports, with_clxn_1, card_sections_2, card_renderer_2, card_1) {
|
|
159
|
+
"use strict";
|
|
160
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
161
|
+
exports.CardButtons = exports.CardParagraph = exports.CardSubtitle = exports.CardTitle = exports.CardCategories = exports.CardImage = exports.Card = exports.renderCardSectionGroup = exports.renderCardSections = exports.defaultStructure = void 0;
|
|
162
|
+
with_clxn_1 = __importDefault(with_clxn_1);
|
|
163
|
+
card_1 = __importDefault(card_1);
|
|
164
|
+
Object.defineProperty(exports, "CardImage", { enumerable: true, get: function () { return card_sections_2.CardImage; } });
|
|
165
|
+
Object.defineProperty(exports, "CardCategories", { enumerable: true, get: function () { return card_sections_2.CardCategories; } });
|
|
166
|
+
Object.defineProperty(exports, "CardTitle", { enumerable: true, get: function () { return card_sections_2.CardTitle; } });
|
|
167
|
+
Object.defineProperty(exports, "CardSubtitle", { enumerable: true, get: function () { return card_sections_2.CardSubtitle; } });
|
|
168
|
+
Object.defineProperty(exports, "CardParagraph", { enumerable: true, get: function () { return card_sections_2.CardParagraph; } });
|
|
169
|
+
Object.defineProperty(exports, "CardButtons", { enumerable: true, get: function () { return card_sections_2.CardButtons; } });
|
|
170
|
+
Object.defineProperty(exports, "defaultStructure", { enumerable: true, get: function () { return card_renderer_2.defaultStructure; } });
|
|
171
|
+
Object.defineProperty(exports, "renderCardSections", { enumerable: true, get: function () { return card_renderer_2.renderCardSections; } });
|
|
172
|
+
Object.defineProperty(exports, "renderCardSectionGroup", { enumerable: true, get: function () { return card_renderer_2.renderCardSectionGroup; } });
|
|
173
|
+
exports.Card = card_1.default;
|
|
174
|
+
exports.default = (0, with_clxn_1.default)(card_1.default, {});
|
|
175
|
+
});
|
|
176
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/types.ts","../../src/card-sections.tsx","../../src/card-renderer.tsx","../../src/card.tsx","../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CardSectionProps, CardStructureType } from "./types";
|
|
2
|
+
export declare const defaultStructure: string[];
|
|
3
|
+
export declare enum CardSections {
|
|
4
|
+
Image = "image",
|
|
5
|
+
Categories = "categories",
|
|
6
|
+
Title = "title",
|
|
7
|
+
Subtitle = "subtitle",
|
|
8
|
+
Paragraph = "paragraph",
|
|
9
|
+
Buttons = "buttons"
|
|
10
|
+
}
|
|
11
|
+
export declare function renderCardSections(structure: CardStructureType, props: CardSectionProps): JSX.Element[];
|
|
12
|
+
export declare function renderCardSectionGroup(className: string, structure?: CardStructureType): (props: CardSectionProps) => JSX.Element;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.renderCardSectionGroup = exports.renderCardSections = exports.CardSections = exports.defaultStructure = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var card_sections_1 = __importDefault(require("./card-sections"));
|
|
20
|
+
exports.defaultStructure = [
|
|
21
|
+
"image",
|
|
22
|
+
"categories",
|
|
23
|
+
"title",
|
|
24
|
+
"subtitle",
|
|
25
|
+
"paragraph",
|
|
26
|
+
"buttons"
|
|
27
|
+
];
|
|
28
|
+
var CardSections;
|
|
29
|
+
(function (CardSections) {
|
|
30
|
+
CardSections["Image"] = "image";
|
|
31
|
+
CardSections["Categories"] = "categories";
|
|
32
|
+
CardSections["Title"] = "title";
|
|
33
|
+
CardSections["Subtitle"] = "subtitle";
|
|
34
|
+
CardSections["Paragraph"] = "paragraph";
|
|
35
|
+
CardSections["Buttons"] = "buttons";
|
|
36
|
+
})(CardSections = exports.CardSections || (exports.CardSections = {}));
|
|
37
|
+
function renderCardSections(structure, props) {
|
|
38
|
+
return structure.map(function (contentBlock, i) {
|
|
39
|
+
var Comp = typeof contentBlock === "string"
|
|
40
|
+
? card_sections_1.default[contentBlock]
|
|
41
|
+
: contentBlock;
|
|
42
|
+
if (Comp) {
|
|
43
|
+
return react_1.default.createElement(Comp, __assign({ key: i }, props));
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
exports.renderCardSections = renderCardSections;
|
|
49
|
+
function renderCardSectionGroup(className, structure) {
|
|
50
|
+
if (structure === void 0) { structure = []; }
|
|
51
|
+
var CardSectionGroup = function (props) { return (react_1.default.createElement("div", { className: className }, renderCardSections(structure, props))); };
|
|
52
|
+
return CardSectionGroup;
|
|
53
|
+
}
|
|
54
|
+
exports.renderCardSectionGroup = renderCardSectionGroup;
|
|
55
|
+
//# sourceMappingURL=card-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-renderer.js","sourceRoot":"","sources":["../../src/card-renderer.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,kEAA+C;AAGlC,QAAA,gBAAgB,GAAG;IAC9B,OAAO;IACP,YAAY;IACZ,OAAO;IACP,UAAU;IACV,WAAW;IACX,SAAS;CACV,CAAC;AAEF,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,yCAAyB,CAAA;IACzB,+BAAe,CAAA;IACf,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;AACrB,CAAC,EAPW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAOvB;AAED,SAAgB,kBAAkB,CAChC,SAA4B,EAC5B,KAAuB;IAEvB,OAAO,SAAS,CAAC,GAAG,CAAC,UAAC,YAAY,EAAE,CAAC;QACnC,IAAM,IAAI,GACR,OAAO,YAAY,KAAK,QAAQ;YAC9B,CAAC,CAAC,uBAAgB,CAAC,YAAY,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC;QACnB,IAAI,IAAI,EAAE;YACR,OAAO,8BAAC,IAAI,aAAC,GAAG,EAAE,CAAC,IAAM,KAAK,EAAI,CAAC;SACpC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,gDAcC;AAED,SAAgB,sBAAsB,CACpC,SAAiB,EACjB,SAAiC;IAAjC,0BAAA,EAAA,cAAiC;IAEjC,IAAM,gBAAgB,GAAG,UAAC,KAAuB,IAAK,OAAA,CACpD,uCAAK,SAAS,EAAE,SAAS,IAAG,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAO,CACxE,EAFqD,CAErD,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AARD,wDAQC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CardButtonProps, CardCategory, CardSectionProps, CardSectionsDirectory, HTMLImageProps } from "./types";
|
|
3
|
+
export declare function CardImage({ clx, CustomComp, ...props }: CardSectionProps<HTMLImageProps>): JSX.Element;
|
|
4
|
+
export declare function CardCategories({ clx, CustomComp, ...props }: CardSectionProps<React.PropsWithChildren<CardCategory>>): JSX.Element;
|
|
5
|
+
export declare function CardTitle({ clx, CustomComp, ...props }: CardSectionProps): JSX.Element;
|
|
6
|
+
export declare function CardSubtitle({ clx, CustomComp, ...props }: CardSectionProps<React.PropsWithChildren<{
|
|
7
|
+
className?: string;
|
|
8
|
+
}>>): JSX.Element;
|
|
9
|
+
export declare function CardParagraph({ clx, CustomComp, ...props }: CardSectionProps): JSX.Element;
|
|
10
|
+
export declare function CardButtons({ clx, CustomComp, ...props }: CardSectionProps<CardButtonProps>): JSX.Element;
|
|
11
|
+
export declare const cardSectionsList: CardSectionsDirectory;
|
|
12
|
+
export default cardSectionsList;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.cardSectionsList = exports.CardButtons = exports.CardParagraph = exports.CardSubtitle = exports.CardTitle = exports.CardCategories = exports.CardImage = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var clsx_1 = __importDefault(require("clsx"));
|
|
31
|
+
function CardImage(_a) {
|
|
32
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "img" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
33
|
+
if (!props.image || !props.image.src) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return (react_1.default.createElement("figure", { className: (0, clsx_1.default)("Card__figure", clx.figure) },
|
|
37
|
+
react_1.default.createElement("span", { className: (0, clsx_1.default)("Card__imageWrapper", clx.imageWrapper) },
|
|
38
|
+
react_1.default.createElement(CustomComp, __assign({ className: (0, clsx_1.default)("Card__image", clx.image) }, props.image)))));
|
|
39
|
+
}
|
|
40
|
+
exports.CardImage = CardImage;
|
|
41
|
+
function CardCategories(_a) {
|
|
42
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
43
|
+
if (!props.categories || props.categories.length === 0) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return (react_1.default.createElement("div", { className: (0, clsx_1.default)("Card__categories", clx.categories) }, props.categories.map(function (category, i) { return (react_1.default.createElement(CustomComp, __assign({ key: category.label, className: (0, clsx_1.default)("Card__category", clx.category) }, category),
|
|
47
|
+
react_1.default.createElement("a", { className: category.className, href: category.link }, category.label))); })));
|
|
48
|
+
}
|
|
49
|
+
exports.CardCategories = CardCategories;
|
|
50
|
+
function CardTitle(_a) {
|
|
51
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
52
|
+
if (!props.title) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return (react_1.default.createElement(CustomComp, { className: (0, clsx_1.default)("Card__title", clx.title) }, props.title));
|
|
56
|
+
}
|
|
57
|
+
exports.CardTitle = CardTitle;
|
|
58
|
+
function CardSubtitle(_a) {
|
|
59
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
60
|
+
if (!props.subtitle) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
return (react_1.default.createElement(CustomComp, { className: (0, clsx_1.default)("Card__subtitle", clx.subtitle) }, props.subtitle));
|
|
64
|
+
}
|
|
65
|
+
exports.CardSubtitle = CardSubtitle;
|
|
66
|
+
function CardParagraph(_a) {
|
|
67
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "span" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
68
|
+
if (!props.text) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return (react_1.default.createElement(CustomComp, { className: (0, clsx_1.default)("Card__paragraph", clx.paragraph) }, props.text));
|
|
72
|
+
}
|
|
73
|
+
exports.CardParagraph = CardParagraph;
|
|
74
|
+
function CardButtons(_a) {
|
|
75
|
+
var _b = _a.clx, clx = _b === void 0 ? {} : _b, _c = _a.CustomComp, CustomComp = _c === void 0 ? "a" : _c, props = __rest(_a, ["clx", "CustomComp"]);
|
|
76
|
+
if (!props.buttons || props.buttons.length === 0) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return (react_1.default.createElement("div", { className: (0, clsx_1.default)("Card__buttons", clx.buttons) }, props.buttons.map(function (_a, i) {
|
|
80
|
+
var buttonClassName = _a.className, button = __rest(_a, ["className"]);
|
|
81
|
+
return (react_1.default.createElement(CustomComp, __assign({ className: (0, clsx_1.default)("Card__button", clx.button, buttonClassName), key: "".concat(i, "-").concat(button.id || "card-button") }, button)));
|
|
82
|
+
})));
|
|
83
|
+
}
|
|
84
|
+
exports.CardButtons = CardButtons;
|
|
85
|
+
exports.cardSectionsList = {
|
|
86
|
+
image: CardImage,
|
|
87
|
+
categories: CardCategories,
|
|
88
|
+
title: CardTitle,
|
|
89
|
+
subtitle: CardSubtitle,
|
|
90
|
+
paragraph: CardParagraph,
|
|
91
|
+
buttons: CardButtons
|
|
92
|
+
};
|
|
93
|
+
exports.default = exports.cardSectionsList;
|
|
94
|
+
//# sourceMappingURL=card-sections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-sections.js","sourceRoot":"","sources":["../../src/card-sections.tsx"],"names":[],"mappings":"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"}
|
package/dist/lib/card.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Card = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var clsx_1 = __importDefault(require("clsx"));
|
|
20
|
+
var card_renderer_1 = require("./card-renderer");
|
|
21
|
+
function Card(props) {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
var structure = props.structure || card_renderer_1.defaultStructure;
|
|
24
|
+
var CardContent = (0, card_renderer_1.renderCardSectionGroup)((0, clsx_1.default)("Card__content", (_a = props.clx) === null || _a === void 0 ? void 0 : _a.content), structure);
|
|
25
|
+
return (react_1.default.createElement("div", { className: (0, clsx_1.default)("Card", (_b = props.clx) === null || _b === void 0 ? void 0 : _b.card, props.className) },
|
|
26
|
+
react_1.default.createElement(CardContent, __assign({}, props))));
|
|
27
|
+
}
|
|
28
|
+
exports.Card = Card;
|
|
29
|
+
exports.default = Card;
|
|
30
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/card.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,8CAAwB;AAGxB,iDAA2E;AAE3E,SAAgB,IAAI,CAAC,KAAiD;;IACpE,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,gCAAgB,CAAC;IAEtD,IAAM,WAAW,GAAG,IAAA,sCAAsB,EACxC,IAAA,cAAI,EAAC,eAAe,EAAE,MAAA,KAAK,CAAC,GAAG,0CAAE,OAAO,CAAC,EACzC,SAAS,CACV,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,cAAI,EAAC,MAAM,EAAE,MAAA,KAAK,CAAC,GAAG,0CAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;QAC5D,8BAAC,WAAW,eAAK,KAAK,EAAI,CACtB,CACP,CAAC;AACJ,CAAC;AAbD,oBAaC;AAED,kBAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CardCategory, ClassNamesList, HTMLImageProps, HTMLButtonProps, HTMLLinkProps, CardButtonProps, CardStructureType, Props, CardSectionProps, CardSectionsDirectory } from "./types";
|
|
3
|
+
import { CardImage, CardCategories, CardTitle, CardSubtitle, CardParagraph, CardButtons } from "./card-sections";
|
|
4
|
+
import { defaultStructure, CardSections, renderCardSections, renderCardSectionGroup } from "./card-renderer";
|
|
5
|
+
import Card from "./card";
|
|
6
|
+
declare const _default: import("react").FunctionComponent<import("@rendr-view/with-clxn").PropsWithClxnLoader<Props, ClassNamesList>>;
|
|
7
|
+
export default _default;
|
|
8
|
+
export { defaultStructure, renderCardSections, renderCardSectionGroup, Card, CardImage, CardCategories, CardTitle, CardSubtitle, CardParagraph, CardButtons };
|
|
9
|
+
export type { CardCategory, ClassNamesList, HTMLImageProps, HTMLButtonProps, HTMLLinkProps, CardButtonProps, CardStructureType, Props, CardSectionProps, CardSectionsDirectory, CardSections };
|
|
@@ -0,0 +1,22 @@
|
|
|
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.CardButtons = exports.CardParagraph = exports.CardSubtitle = exports.CardTitle = exports.CardCategories = exports.CardImage = exports.Card = exports.renderCardSectionGroup = exports.renderCardSections = exports.defaultStructure = void 0;
|
|
7
|
+
var with_clxn_1 = __importDefault(require("@rendr-view/with-clxn"));
|
|
8
|
+
var card_sections_1 = require("./card-sections");
|
|
9
|
+
Object.defineProperty(exports, "CardImage", { enumerable: true, get: function () { return card_sections_1.CardImage; } });
|
|
10
|
+
Object.defineProperty(exports, "CardCategories", { enumerable: true, get: function () { return card_sections_1.CardCategories; } });
|
|
11
|
+
Object.defineProperty(exports, "CardTitle", { enumerable: true, get: function () { return card_sections_1.CardTitle; } });
|
|
12
|
+
Object.defineProperty(exports, "CardSubtitle", { enumerable: true, get: function () { return card_sections_1.CardSubtitle; } });
|
|
13
|
+
Object.defineProperty(exports, "CardParagraph", { enumerable: true, get: function () { return card_sections_1.CardParagraph; } });
|
|
14
|
+
Object.defineProperty(exports, "CardButtons", { enumerable: true, get: function () { return card_sections_1.CardButtons; } });
|
|
15
|
+
var card_renderer_1 = require("./card-renderer");
|
|
16
|
+
Object.defineProperty(exports, "defaultStructure", { enumerable: true, get: function () { return card_renderer_1.defaultStructure; } });
|
|
17
|
+
Object.defineProperty(exports, "renderCardSections", { enumerable: true, get: function () { return card_renderer_1.renderCardSections; } });
|
|
18
|
+
Object.defineProperty(exports, "renderCardSectionGroup", { enumerable: true, get: function () { return card_renderer_1.renderCardSectionGroup; } });
|
|
19
|
+
var card_1 = __importDefault(require("./card"));
|
|
20
|
+
exports.Card = card_1.default;
|
|
21
|
+
exports.default = (0, with_clxn_1.default)(card_1.default, {});
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA6C;AAE7C,iDAAiH;AAMpC,0FANpE,yBAAS,OAMoE;AAAE,+FANpE,8BAAc,OAMoE;AAAE,0FANpE,yBAAS,OAMoE;AAAE,6FANpE,4BAAY,OAMoE;AAAE,8FANpE,6BAAa,OAMoE;AAAE,4FANpE,2BAAW,OAMoE;AAL3J,iDAA6G;AAKpG,iGALA,gCAAgB,OAKA;AAAE,mGALc,kCAAkB,OAKd;AAAE,uGALc,sCAAsB,OAKd;AAJrE,gDAA0B;AAI6C,eAJhE,cAAI,CAIgE;AAF3E,kBAAe,IAAA,mBAAQ,EAAwB,cAAI,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { PropsWithClxnObject } from "@rendr-view/with-clxn";
|
|
3
|
+
export interface CardCategory {
|
|
4
|
+
className?: string;
|
|
5
|
+
link?: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare type ClassNamesList = {
|
|
9
|
+
buttons?: string;
|
|
10
|
+
button?: string;
|
|
11
|
+
card?: string;
|
|
12
|
+
content?: string;
|
|
13
|
+
categories?: string;
|
|
14
|
+
category?: string;
|
|
15
|
+
figure?: string;
|
|
16
|
+
image?: string;
|
|
17
|
+
imageWrapper?: string;
|
|
18
|
+
paragraph?: string;
|
|
19
|
+
subtitle?: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare type HTMLImageProps = React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>;
|
|
23
|
+
export declare type HTMLButtonProps = React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
|
|
24
|
+
export declare type HTMLLinkProps = React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
|
|
25
|
+
export declare type CardButtonProps = HTMLButtonProps & HTMLLinkProps;
|
|
26
|
+
export declare type CardStructureType = Array<string | React.ComponentType<CardSectionProps>>;
|
|
27
|
+
export declare type CardSectionsDirectory = {
|
|
28
|
+
[key: string]: React.ComponentType<CardSectionProps>;
|
|
29
|
+
};
|
|
30
|
+
export interface Props {
|
|
31
|
+
className?: string;
|
|
32
|
+
title?: string;
|
|
33
|
+
text?: string;
|
|
34
|
+
image?: HTMLImageProps;
|
|
35
|
+
structure?: CardStructureType;
|
|
36
|
+
categories?: CardCategory[];
|
|
37
|
+
subtitle?: string;
|
|
38
|
+
buttons?: CardButtonProps[];
|
|
39
|
+
}
|
|
40
|
+
export declare type CardSectionProps<T = any> = PropsWithClxnObject<Props & {
|
|
41
|
+
CustomComp?: React.ComponentType<T> | string;
|
|
42
|
+
}, ClassNamesList>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CardSectionProps, CardStructureType } from "./types";
|
|
2
|
+
export declare const defaultStructure: string[];
|
|
3
|
+
export declare enum CardSections {
|
|
4
|
+
Image = "image",
|
|
5
|
+
Categories = "categories",
|
|
6
|
+
Title = "title",
|
|
7
|
+
Subtitle = "subtitle",
|
|
8
|
+
Paragraph = "paragraph",
|
|
9
|
+
Buttons = "buttons"
|
|
10
|
+
}
|
|
11
|
+
export declare function renderCardSections(structure: CardStructureType, props: CardSectionProps): JSX.Element[];
|
|
12
|
+
export declare function renderCardSectionGroup(className: string, structure?: CardStructureType): (props: CardSectionProps) => JSX.Element;
|