@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.
Files changed (42) hide show
  1. package/.eslintrc.js +8 -0
  2. package/dist/_bundles/card.d.ts +89 -0
  3. package/dist/_bundles/card.js +176 -0
  4. package/dist/_bundles/card.js.map +1 -0
  5. package/dist/lib/card-renderer.d.ts +12 -0
  6. package/dist/lib/card-renderer.js +55 -0
  7. package/dist/lib/card-renderer.js.map +1 -0
  8. package/dist/lib/card-sections.d.ts +12 -0
  9. package/dist/lib/card-sections.js +94 -0
  10. package/dist/lib/card-sections.js.map +1 -0
  11. package/dist/lib/card.d.ts +4 -0
  12. package/dist/lib/card.js +30 -0
  13. package/dist/lib/card.js.map +1 -0
  14. package/dist/lib/index.d.ts +9 -0
  15. package/dist/lib/index.js +22 -0
  16. package/dist/lib/index.js.map +1 -0
  17. package/dist/lib/types.d.ts +42 -0
  18. package/dist/lib/types.js +3 -0
  19. package/dist/lib/types.js.map +1 -0
  20. package/dist/lib-esm/card-renderer.d.ts +12 -0
  21. package/dist/lib-esm/card-renderer.js +47 -0
  22. package/dist/lib-esm/card-renderer.js.map +1 -0
  23. package/dist/lib-esm/card-sections.d.ts +12 -0
  24. package/dist/lib-esm/card-sections.js +82 -0
  25. package/dist/lib-esm/card-sections.js.map +1 -0
  26. package/dist/lib-esm/card.d.ts +4 -0
  27. package/dist/lib-esm/card.js +23 -0
  28. package/dist/lib-esm/card.js.map +1 -0
  29. package/dist/lib-esm/index.d.ts +9 -0
  30. package/dist/lib-esm/index.js +7 -0
  31. package/dist/lib-esm/index.js.map +1 -0
  32. package/dist/lib-esm/types.d.ts +42 -0
  33. package/dist/lib-esm/types.js +2 -0
  34. package/dist/lib-esm/types.js.map +1 -0
  35. package/package.json +21 -0
  36. package/src/card-renderer.tsx +47 -0
  37. package/src/card-sections.tsx +132 -0
  38. package/src/card.tsx +22 -0
  39. package/src/index.ts +11 -0
  40. package/src/types.ts +66 -0
  41. package/tsconfig.json +8 -0
  42. package/yarn-error.log +53 -0
package/.eslintrc.js ADDED
@@ -0,0 +1,8 @@
1
+ const path = require("path");
2
+
3
+ module.exports = {
4
+ extends: "../../.eslintrc.js",
5
+ parserOptions: {
6
+ project: path.resolve("tsconfig.json"),
7
+ },
8
+ };
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ import { PropsWithClxnObject } from "@rendr-view/with-clxn";
2
+ import { ClassNamesList, Props } from "./types";
3
+ export declare function Card(props: PropsWithClxnObject<Props, ClassNamesList>): JSX.Element;
4
+ export default Card;
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -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;