@bbki.ng/components 1.5.8 → 1.5.9

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/dist/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
- import React, { EventHandler, ReactElement, CSSProperties, Ref, ReactNode, FunctionComponent } from 'react';
1
+ import React, { FunctionComponent, EventHandler, ReactElement, CSSProperties, Ref, ReactNode } from 'react';
2
2
  import { LinkProps as LinkProps$1 } from 'react-router-dom';
3
3
 
4
4
  declare type ArticleProps = {
5
- title: string;
5
+ title: any;
6
6
  className?: string;
7
7
  content?: any;
8
8
  children: any;
9
+ description?: any;
9
10
  };
10
- declare const Article: (props: ArticleProps) => JSX.Element;
11
+ declare const Article: FunctionComponent<ArticleProps>;
11
12
 
12
13
  declare enum ButtonType {
13
14
  DANGER = "danger",
@@ -55,8 +56,9 @@ interface LinkProps extends LinkProps$1 {
55
56
  color?: LinkColor;
56
57
  className?: string;
57
58
  external?: boolean;
59
+ name?: any;
60
+ children?: any;
58
61
  to: string;
59
- children: any;
60
62
  }
61
63
  declare const Link: (props: LinkProps) => JSX.Element;
62
64
 
@@ -167,6 +169,17 @@ interface listProps {
167
169
  itemRenderer: (itemProps: any, index: number) => ReactElement;
168
170
  horizontal?: boolean;
169
171
  }
170
- declare const List: FunctionComponent<listProps>;
172
+ declare const List: FunctionComponent<listProps>;
173
+ interface TitledListProps extends listProps {
174
+ title?: any;
175
+ description?: any;
176
+ }
177
+ declare const TitledList: FunctionComponent<TitledListProps>;
178
+ interface LinkListProps extends Omit<listProps, "itemRenderer" | "items"> {
179
+ title?: string;
180
+ description?: any;
181
+ links: LinkProps[];
182
+ }
183
+ declare const LinkList: (props: LinkListProps) => JSX.Element;
171
184
 
172
- export { Article, ArticleProps, BLinkDotProps, BlinkDot, Breadcrumb, BreadcrumbProps, Button, ButtonProps, ButtonType, DropImage, ImageDropProps, ImagePreviewerProps, Link, LinkColor, LinkProps, List, Logo, LogoProps, Nav, NavProps, Page, Panel, PanelProps, PathObj, PopConfirm, PopConfirmProps, Skeleton, SkeletonColor, SkeletonProps, Table, TableProps, Tag, TagProps, Tags, ThreeColLayout, listProps, threeColLayoutProps };
185
+ export { Article, ArticleProps, BLinkDotProps, BlinkDot, Breadcrumb, BreadcrumbProps, Button, ButtonProps, ButtonType, DropImage, ImageDropProps, ImagePreviewerProps, Link, LinkColor, LinkList, LinkListProps, LinkProps, List, Logo, LogoProps, Nav, NavProps, Page, Panel, PanelProps, PathObj, PopConfirm, PopConfirmProps, Skeleton, SkeletonColor, SkeletonProps, Table, TableProps, Tag, TagProps, Tags, ThreeColLayout, TitledList, TitledListProps, listProps, threeColLayoutProps };
package/dist/index.js CHANGED
@@ -66,6 +66,7 @@ __export(src_exports, {
66
66
  DropImage: () => DropImage,
67
67
  Link: () => Link,
68
68
  LinkColor: () => LinkColor,
69
+ LinkList: () => LinkList,
69
70
  List: () => List,
70
71
  Logo: () => Logo,
71
72
  Nav: () => Nav,
@@ -77,21 +78,24 @@ __export(src_exports, {
77
78
  Table: () => Table,
78
79
  Tag: () => Tag,
79
80
  Tags: () => Tags,
80
- ThreeColLayout: () => ThreeColLayout
81
+ ThreeColLayout: () => ThreeColLayout,
82
+ TitledList: () => TitledList
81
83
  });
82
84
 
83
85
  // src/article/Article.tsx
84
86
  var import_classnames = __toESM(require("classnames"));
85
87
  var import_react = __toESM(require("react"));
86
88
  var Article = (props) => {
87
- const { title, content, children, className } = props;
89
+ const { title, content, children, className, description } = props;
88
90
  return /* @__PURE__ */ import_react.default.createElement("div", {
89
91
  className: (0, import_classnames.default)("article", className)
90
92
  }, /* @__PURE__ */ import_react.default.createElement("div", {
91
93
  className: "text-[2.25rem] leading-none"
92
94
  }, title), /* @__PURE__ */ import_react.default.createElement("hr", {
93
95
  className: "my-64 border-gray-200"
94
- }), /* @__PURE__ */ import_react.default.createElement("div", {
96
+ }), description && /* @__PURE__ */ import_react.default.createElement("div", {
97
+ className: "mb-128"
98
+ }, description), /* @__PURE__ */ import_react.default.createElement("div", {
95
99
  className: "text-gray-700"
96
100
  }, children || content));
97
101
  };
@@ -668,6 +672,31 @@ var List = (props) => {
668
672
  }, itemRenderer(item, index));
669
673
  }));
670
674
  };
675
+ var TitledList = (props) => {
676
+ const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
677
+ if (!title) {
678
+ return /* @__PURE__ */ import_react17.default.createElement(List, __spreadValues({}, rest));
679
+ }
680
+ return /* @__PURE__ */ import_react17.default.createElement(Article, {
681
+ title,
682
+ description
683
+ }, /* @__PURE__ */ import_react17.default.createElement(List, __spreadValues({}, rest)));
684
+ };
685
+ var LinkList = (props) => {
686
+ const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
687
+ const renderLink = ({ name, to }) => {
688
+ return /* @__PURE__ */ import_react17.default.createElement(Link, {
689
+ to,
690
+ key: name
691
+ }, name);
692
+ };
693
+ return /* @__PURE__ */ import_react17.default.createElement(TitledList, __spreadValues({
694
+ title,
695
+ description,
696
+ items: links,
697
+ itemRenderer: renderLink
698
+ }, rest));
699
+ };
671
700
  module.exports = __toCommonJS(src_exports);
672
701
  // Annotate the CommonJS export names for ESM import in node:
673
702
  0 && (module.exports = {
@@ -679,6 +708,7 @@ module.exports = __toCommonJS(src_exports);
679
708
  DropImage,
680
709
  Link,
681
710
  LinkColor,
711
+ LinkList,
682
712
  List,
683
713
  Logo,
684
714
  Nav,
@@ -690,5 +720,6 @@ module.exports = __toCommonJS(src_exports);
690
720
  Table,
691
721
  Tag,
692
722
  Tags,
693
- ThreeColLayout
723
+ ThreeColLayout,
724
+ TitledList
694
725
  });
package/dist/index.mjs CHANGED
@@ -34,14 +34,16 @@ var __objRest = (source, exclude) => {
34
34
  import classNames from "classnames";
35
35
  import React from "react";
36
36
  var Article = (props) => {
37
- const { title, content, children, className } = props;
37
+ const { title, content, children, className, description } = props;
38
38
  return /* @__PURE__ */ React.createElement("div", {
39
39
  className: classNames("article", className)
40
40
  }, /* @__PURE__ */ React.createElement("div", {
41
41
  className: "text-[2.25rem] leading-none"
42
42
  }, title), /* @__PURE__ */ React.createElement("hr", {
43
43
  className: "my-64 border-gray-200"
44
- }), /* @__PURE__ */ React.createElement("div", {
44
+ }), description && /* @__PURE__ */ React.createElement("div", {
45
+ className: "mb-128"
46
+ }, description), /* @__PURE__ */ React.createElement("div", {
45
47
  className: "text-gray-700"
46
48
  }, children || content));
47
49
  };
@@ -621,6 +623,31 @@ var List = (props) => {
621
623
  }, itemRenderer(item, index));
622
624
  }));
623
625
  };
626
+ var TitledList = (props) => {
627
+ const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
628
+ if (!title) {
629
+ return /* @__PURE__ */ React16.createElement(List, __spreadValues({}, rest));
630
+ }
631
+ return /* @__PURE__ */ React16.createElement(Article, {
632
+ title,
633
+ description
634
+ }, /* @__PURE__ */ React16.createElement(List, __spreadValues({}, rest)));
635
+ };
636
+ var LinkList = (props) => {
637
+ const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
638
+ const renderLink = ({ name, to }) => {
639
+ return /* @__PURE__ */ React16.createElement(Link, {
640
+ to,
641
+ key: name
642
+ }, name);
643
+ };
644
+ return /* @__PURE__ */ React16.createElement(TitledList, __spreadValues({
645
+ title,
646
+ description,
647
+ items: links,
648
+ itemRenderer: renderLink
649
+ }, rest));
650
+ };
624
651
  export {
625
652
  Article,
626
653
  BlinkDot,
@@ -630,6 +657,7 @@ export {
630
657
  DropImage,
631
658
  Link,
632
659
  LinkColor,
660
+ LinkList,
633
661
  List,
634
662
  Logo,
635
663
  Nav,
@@ -641,5 +669,6 @@ export {
641
669
  Table,
642
670
  Tag,
643
671
  Tags,
644
- ThreeColLayout
672
+ ThreeColLayout,
673
+ TitledList
645
674
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbki.ng/components",
3
- "version": "1.5.8",
3
+ "version": "1.5.9",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
package/dist/index.css DELETED
@@ -1,226 +0,0 @@
1
- /* src/main.css */
2
- *,
3
- ::before,
4
- ::after {
5
- box-sizing: border-box;
6
- border-width: 0;
7
- border-style: solid;
8
- border-color: currentColor;
9
- }
10
- ::before,
11
- ::after {
12
- --tw-content: "";
13
- }
14
- html {
15
- line-height: 1.5;
16
- -webkit-text-size-adjust: 100%;
17
- -moz-tab-size: 4;
18
- -o-tab-size: 4;
19
- tab-size: 4;
20
- font-family:
21
- pt-sans,
22
- ui-sans-serif,
23
- system-ui,
24
- -apple-system,
25
- BlinkMacSystemFont,
26
- Segoe UI,
27
- Roboto,
28
- Helvetica Neue,
29
- Arial,
30
- Noto Sans,
31
- sans-serif,
32
- Apple Color Emoji,
33
- Segoe UI Emoji,
34
- Segoe UI Symbol,
35
- Noto Color Emoji;
36
- }
37
- body {
38
- margin: 0;
39
- line-height: inherit;
40
- }
41
- hr {
42
- height: 0;
43
- color: inherit;
44
- border-top-width: 1px;
45
- }
46
- abbr[title] {
47
- -webkit-text-decoration: underline dotted;
48
- text-decoration: underline dotted;
49
- }
50
- h1,
51
- h2,
52
- h3,
53
- h4,
54
- h5,
55
- h6 {
56
- font-size: inherit;
57
- font-weight: inherit;
58
- }
59
- a {
60
- color: inherit;
61
- text-decoration: inherit;
62
- }
63
- b,
64
- strong {
65
- font-weight: bolder;
66
- }
67
- code,
68
- kbd,
69
- samp,
70
- pre {
71
- font-family:
72
- ui-monospace,
73
- SFMono-Regular,
74
- Menlo,
75
- Monaco,
76
- Consolas,
77
- Liberation Mono,
78
- Courier New,
79
- monospace;
80
- font-size: 1em;
81
- }
82
- small {
83
- font-size: 80%;
84
- }
85
- sub,
86
- sup {
87
- font-size: 75%;
88
- line-height: 0;
89
- position: relative;
90
- vertical-align: baseline;
91
- }
92
- sub {
93
- bottom: -0.25em;
94
- }
95
- sup {
96
- top: -0.5em;
97
- }
98
- table {
99
- text-indent: 0;
100
- border-color: inherit;
101
- border-collapse: collapse;
102
- }
103
- button,
104
- input,
105
- optgroup,
106
- select,
107
- textarea {
108
- font-family: inherit;
109
- font-size: 100%;
110
- line-height: inherit;
111
- color: inherit;
112
- margin: 0;
113
- padding: 0;
114
- }
115
- button,
116
- select {
117
- text-transform: none;
118
- }
119
- button,
120
- [type=button],
121
- [type=reset],
122
- [type=submit] {
123
- -webkit-appearance: button;
124
- background-color: transparent;
125
- background-image: none;
126
- }
127
- :-moz-focusring {
128
- outline: auto;
129
- }
130
- :-moz-ui-invalid {
131
- box-shadow: none;
132
- }
133
- progress {
134
- vertical-align: baseline;
135
- }
136
- ::-webkit-inner-spin-button,
137
- ::-webkit-outer-spin-button {
138
- height: auto;
139
- }
140
- [type=search] {
141
- -webkit-appearance: textfield;
142
- outline-offset: -2px;
143
- }
144
- ::-webkit-search-decoration {
145
- -webkit-appearance: none;
146
- }
147
- ::-webkit-file-upload-button {
148
- -webkit-appearance: button;
149
- font: inherit;
150
- }
151
- summary {
152
- display: list-item;
153
- }
154
- blockquote,
155
- dl,
156
- dd,
157
- h1,
158
- h2,
159
- h3,
160
- h4,
161
- h5,
162
- h6,
163
- hr,
164
- figure,
165
- p,
166
- pre {
167
- margin: 0;
168
- }
169
- fieldset {
170
- margin: 0;
171
- padding: 0;
172
- }
173
- legend {
174
- padding: 0;
175
- }
176
- ol,
177
- ul,
178
- menu {
179
- list-style: none;
180
- margin: 0;
181
- padding: 0;
182
- }
183
- textarea {
184
- resize: vertical;
185
- }
186
- input::-moz-placeholder,
187
- textarea::-moz-placeholder {
188
- opacity: 1;
189
- color: #9CA3AF;
190
- }
191
- input:-ms-input-placeholder,
192
- textarea:-ms-input-placeholder {
193
- opacity: 1;
194
- color: #9CA3AF;
195
- }
196
- input::placeholder,
197
- textarea::placeholder {
198
- opacity: 1;
199
- color: #9CA3AF;
200
- }
201
- button,
202
- [role=button] {
203
- cursor: pointer;
204
- }
205
- :disabled {
206
- cursor: default;
207
- }
208
- img,
209
- svg,
210
- video,
211
- canvas,
212
- audio,
213
- iframe,
214
- embed,
215
- object {
216
- display: block;
217
- vertical-align: middle;
218
- }
219
- img,
220
- video {
221
- max-width: 100%;
222
- height: auto;
223
- }
224
- [hidden] {
225
- display: none;
226
- }