@elliemae/ds-legacy-ribbon 1.0.0-rc.1
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/cjs/DSRibbon.js +275 -0
- package/dist/cjs/DSRibbon.js.map +7 -0
- package/dist/cjs/index.js +38 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +7 -0
- package/dist/esm/DSRibbon.js +245 -0
- package/dist/esm/DSRibbon.js.map +7 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +7 -0
- package/dist/types/DSRibbon.d.ts +68 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var DSRibbon_exports = {};
|
|
30
|
+
__export(DSRibbon_exports, {
|
|
31
|
+
DSRibbon: () => DSRibbon,
|
|
32
|
+
DSRibbonCardWithSchema: () => DSRibbonCardWithSchema,
|
|
33
|
+
RibbonCol: () => RibbonCol,
|
|
34
|
+
default: () => DSRibbon_default
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(DSRibbon_exports);
|
|
37
|
+
var React = __toESM(require("react"));
|
|
38
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
|
+
var import_ds_legacy_props_helpers = require("@elliemae/ds-legacy-props-helpers");
|
|
40
|
+
var import_ds_legacy_system = require("@elliemae/ds-legacy-system");
|
|
41
|
+
const RibbonColSimple = import_ds_legacy_system.styled.div`
|
|
42
|
+
display: flex;
|
|
43
|
+
flex-direction: column;
|
|
44
|
+
padding: 0.25rem 0.5rem;
|
|
45
|
+
height: 100%;
|
|
46
|
+
justify-content: center;
|
|
47
|
+
flex: 1;
|
|
48
|
+
position: relative;
|
|
49
|
+
&:after {
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 10%;
|
|
52
|
+
right: 0;
|
|
53
|
+
height: 80%;
|
|
54
|
+
content: '';
|
|
55
|
+
border-right: dashed 1px #ebedf0;
|
|
56
|
+
}
|
|
57
|
+
`;
|
|
58
|
+
const RibbonRow = import_ds_legacy_system.styled.div`
|
|
59
|
+
width: 100%;
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-direction: row;
|
|
62
|
+
align-items: center;
|
|
63
|
+
min-height: 4rem;
|
|
64
|
+
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
|
65
|
+
height: 5rem;
|
|
66
|
+
overflow-y: hidden;
|
|
67
|
+
}
|
|
68
|
+
flex-wrap: nowrap;
|
|
69
|
+
overflow-x: auto;
|
|
70
|
+
${(props) => {
|
|
71
|
+
if (props.alignLeft) {
|
|
72
|
+
return `
|
|
73
|
+
align-items: stretch;
|
|
74
|
+
& > ${RibbonColSimple} {
|
|
75
|
+
align-items: flex-start;
|
|
76
|
+
align-self: stretch;
|
|
77
|
+
flex: 0;
|
|
78
|
+
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
|
79
|
+
flex: 1;
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
82
|
+
}
|
|
83
|
+
return `
|
|
84
|
+
align-items: center;
|
|
85
|
+
`;
|
|
86
|
+
}};
|
|
87
|
+
${(props) => {
|
|
88
|
+
if (props.solid) {
|
|
89
|
+
return `
|
|
90
|
+
& > ${RibbonColSimple} {
|
|
91
|
+
&:after{
|
|
92
|
+
top: 0%;
|
|
93
|
+
height: 100%;
|
|
94
|
+
border-right: solid 1px #CBCFD7;
|
|
95
|
+
}
|
|
96
|
+
`;
|
|
97
|
+
}
|
|
98
|
+
return "";
|
|
99
|
+
}};
|
|
100
|
+
`;
|
|
101
|
+
const RibbonCol = (0, import_ds_legacy_system.styled)(RibbonColSimple)`
|
|
102
|
+
& > ${RibbonRow} {
|
|
103
|
+
align-items: flex-start;
|
|
104
|
+
}
|
|
105
|
+
`;
|
|
106
|
+
const RibbonWrapper = import_ds_legacy_system.styled.div`
|
|
107
|
+
width: 100%;
|
|
108
|
+
display: flex;
|
|
109
|
+
flex-direction: column;
|
|
110
|
+
padding: 0.62rem 1.22rem;
|
|
111
|
+
border-bottom: solid 1px #cfcfd7;
|
|
112
|
+
background: #fff;
|
|
113
|
+
& > ${RibbonRow} {
|
|
114
|
+
border-bottom: solid 1px #ebedf0;
|
|
115
|
+
width: auto;
|
|
116
|
+
&:last-child {
|
|
117
|
+
border: none;
|
|
118
|
+
}
|
|
119
|
+
& > ${RibbonCol} {
|
|
120
|
+
&:last-child {
|
|
121
|
+
&:after {
|
|
122
|
+
display: none;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
`;
|
|
128
|
+
const RibbonBlockIcon = import_ds_legacy_system.styled.div`
|
|
129
|
+
padding-right: 0.5rem;
|
|
130
|
+
padding-top: 0.1rem;
|
|
131
|
+
svg,
|
|
132
|
+
svg:not([fill]) {
|
|
133
|
+
fill: ${(props) => {
|
|
134
|
+
if (props.info)
|
|
135
|
+
return "#1e79c2";
|
|
136
|
+
if (props.error)
|
|
137
|
+
return "#E34256";
|
|
138
|
+
if (props.warning)
|
|
139
|
+
return "#FBB431";
|
|
140
|
+
if (props.success)
|
|
141
|
+
return "#32B87C";
|
|
142
|
+
return "#1e79c2";
|
|
143
|
+
}};
|
|
144
|
+
}
|
|
145
|
+
`;
|
|
146
|
+
const RibbonBlockLabel = import_ds_legacy_system.styled.div`
|
|
147
|
+
padding: 0.25rem 0.5rem;
|
|
148
|
+
color: #697489;
|
|
149
|
+
font-size: 0.9rem;
|
|
150
|
+
line-height: 1.2rem;
|
|
151
|
+
`;
|
|
152
|
+
const RibbonBlockValue = import_ds_legacy_system.styled.div`
|
|
153
|
+
flex: 2;
|
|
154
|
+
font-weight: 600;
|
|
155
|
+
padding: 0.25rem 0.5rem 0.25rem 0rem;
|
|
156
|
+
font-size: 1.1rem;
|
|
157
|
+
color: #333333;
|
|
158
|
+
flex-wrap: nowrap;
|
|
159
|
+
white-space: nowrap;
|
|
160
|
+
`;
|
|
161
|
+
const RibbonBlockValueLabel = import_ds_legacy_system.styled.div`
|
|
162
|
+
flex: 2;
|
|
163
|
+
padding: 0.25rem 0.5rem 0.25rem 0rem;
|
|
164
|
+
font-size: 0.9rem;
|
|
165
|
+
color: #697489;
|
|
166
|
+
flex-wrap: nowrap;
|
|
167
|
+
white-space: nowrap;
|
|
168
|
+
`;
|
|
169
|
+
const RibbonBlockCol = import_ds_legacy_system.styled.div`
|
|
170
|
+
display: flex;
|
|
171
|
+
flex-direction: column;
|
|
172
|
+
flex: 2;
|
|
173
|
+
flex-wrap: nowrap;
|
|
174
|
+
align-items: ${(props) => {
|
|
175
|
+
if (props.center)
|
|
176
|
+
return "center";
|
|
177
|
+
return "";
|
|
178
|
+
}};
|
|
179
|
+
height: 100%;
|
|
180
|
+
`;
|
|
181
|
+
const RibbonBlockRow = import_ds_legacy_system.styled.div`
|
|
182
|
+
display: flex;
|
|
183
|
+
flex-direction: row;
|
|
184
|
+
flex-wrap: nowrap;
|
|
185
|
+
flex: 1;
|
|
186
|
+
height: 100%;
|
|
187
|
+
align-items: ${(props) => {
|
|
188
|
+
if (props.center)
|
|
189
|
+
return "center";
|
|
190
|
+
return "";
|
|
191
|
+
}};
|
|
192
|
+
`;
|
|
193
|
+
const RibbonBlock = import_ds_legacy_system.styled.div`
|
|
194
|
+
flex: 1;
|
|
195
|
+
height: 100%;
|
|
196
|
+
`;
|
|
197
|
+
const RibbonCard = ({
|
|
198
|
+
containerProps = {},
|
|
199
|
+
icon = null,
|
|
200
|
+
label = "",
|
|
201
|
+
value = "",
|
|
202
|
+
additionalValue = "",
|
|
203
|
+
additionalLabel = "",
|
|
204
|
+
info = false,
|
|
205
|
+
error = false,
|
|
206
|
+
warning = false,
|
|
207
|
+
success = false,
|
|
208
|
+
center = false,
|
|
209
|
+
solid = false
|
|
210
|
+
}) => {
|
|
211
|
+
const labelPlace = icon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlockIcon, { error, info, success, warning, children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlockLabel, { children: label });
|
|
212
|
+
if (additionalValue || additionalLabel) {
|
|
213
|
+
let additionalInformation;
|
|
214
|
+
if (additionalValue) {
|
|
215
|
+
additionalInformation = additionalValue && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlockValue, { children: additionalValue });
|
|
216
|
+
} else if (additionalLabel) {
|
|
217
|
+
additionalInformation = additionalLabel && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlockValueLabel, { children: additionalLabel });
|
|
218
|
+
}
|
|
219
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlock, { ...containerProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(RibbonBlockRow, { className: "ribbon-block-row", solid, style: { alignItems: "flex-start" }, children: [
|
|
220
|
+
labelPlace,
|
|
221
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(RibbonBlockCol, { center, className: "ribbon-block-col", children: [
|
|
222
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlockValue, { children: value }),
|
|
223
|
+
additionalInformation
|
|
224
|
+
] })
|
|
225
|
+
] }) });
|
|
226
|
+
}
|
|
227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlock, { ...containerProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(RibbonBlockRow, { center, solid, children: [
|
|
228
|
+
labelPlace,
|
|
229
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RibbonBlockValue, { children: value })
|
|
230
|
+
] }) });
|
|
231
|
+
};
|
|
232
|
+
const DSRibbon = {
|
|
233
|
+
RibbonWrapper,
|
|
234
|
+
RibbonRow,
|
|
235
|
+
RibbonCol,
|
|
236
|
+
RibbonCard
|
|
237
|
+
};
|
|
238
|
+
RibbonWrapper.propTypes = {};
|
|
239
|
+
RibbonRow.propTypes = {
|
|
240
|
+
/** align left */
|
|
241
|
+
alignLeft: import_ds_legacy_props_helpers.PropTypes.bool.description("align left")
|
|
242
|
+
};
|
|
243
|
+
RibbonCol.propTypes = {};
|
|
244
|
+
const cardprops = {
|
|
245
|
+
/** props to inject to wrapper */
|
|
246
|
+
containerProps: import_ds_legacy_props_helpers.PropTypes.object.description("props to inject to wrapper"),
|
|
247
|
+
/** icon for ribbon card */
|
|
248
|
+
icon: import_ds_legacy_props_helpers.PropTypes.element.description("icon for ribbon card"),
|
|
249
|
+
/** label for ribbon card */
|
|
250
|
+
label: import_ds_legacy_props_helpers.PropTypes.string.description("label for ribbon card"),
|
|
251
|
+
/** value for ribbon */
|
|
252
|
+
value: import_ds_legacy_props_helpers.PropTypes.string.description("value for ribbon"),
|
|
253
|
+
/** additional value */
|
|
254
|
+
additionalValue: import_ds_legacy_props_helpers.PropTypes.string.description("additional value"),
|
|
255
|
+
/** additional label */
|
|
256
|
+
additionalLabel: import_ds_legacy_props_helpers.PropTypes.string.description("additional label"),
|
|
257
|
+
/** for main label */
|
|
258
|
+
info: import_ds_legacy_props_helpers.PropTypes.bool.description("for main label"),
|
|
259
|
+
/** error state toggle */
|
|
260
|
+
error: import_ds_legacy_props_helpers.PropTypes.bool.description("error state toggle"),
|
|
261
|
+
/** warning state toggle */
|
|
262
|
+
warning: import_ds_legacy_props_helpers.PropTypes.bool.description("warning state toggle"),
|
|
263
|
+
/** success state toggle */
|
|
264
|
+
success: import_ds_legacy_props_helpers.PropTypes.bool.description("success state toggle"),
|
|
265
|
+
/** align center */
|
|
266
|
+
center: import_ds_legacy_props_helpers.PropTypes.bool.description("align center"),
|
|
267
|
+
/** solid style */
|
|
268
|
+
solid: import_ds_legacy_props_helpers.PropTypes.bool.description("solid style")
|
|
269
|
+
};
|
|
270
|
+
RibbonCard.propTypes = cardprops;
|
|
271
|
+
RibbonCard.displayName = "RibbonCard";
|
|
272
|
+
const DSRibbonCardWithSchema = (0, import_ds_legacy_props_helpers.describe)(RibbonCard);
|
|
273
|
+
DSRibbonCardWithSchema.propTypes = cardprops;
|
|
274
|
+
var DSRibbon_default = DSRibbon;
|
|
275
|
+
//# sourceMappingURL=DSRibbon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/DSRibbon.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable no-use-before-define */\n/* eslint-disable no-confusing-arrow */\nimport React, { type WeakValidationMap } from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-legacy-props-helpers';\nimport { styled } from '@elliemae/ds-legacy-system';\n\nconst RibbonColSimple = styled.div`\n display: flex;\n flex-direction: column;\n padding: 0.25rem 0.5rem;\n height: 100%;\n justify-content: center;\n flex: 1;\n position: relative;\n &:after {\n position: absolute;\n top: 10%;\n right: 0;\n height: 80%;\n content: '';\n border-right: dashed 1px #ebedf0;\n }\n`;\n\nconst RibbonRow = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: 4rem;\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n height: 5rem;\n overflow-y: hidden;\n }\n flex-wrap: nowrap;\n overflow-x: auto;\n ${(props) => {\n if (props.alignLeft) {\n return `\n align-items: stretch;\n & > ${RibbonColSimple} {\n align-items: flex-start;\n align-self: stretch; \n flex: 0;\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n flex: 1;\n }\n `;\n }\n return `\n align-items: center;\n `;\n }};\n ${(props) => {\n if (props.solid) {\n return `\n & > ${RibbonColSimple} {\n &:after{\n top: 0%;\n height: 100%;\n border-right: solid 1px #CBCFD7;\n }\n `;\n }\n return '';\n }};\n`;\n\nexport const RibbonCol = styled(RibbonColSimple)`\n & > ${RibbonRow} {\n align-items: flex-start;\n }\n`;\n\nconst RibbonWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n padding: 0.62rem 1.22rem;\n border-bottom: solid 1px #cfcfd7;\n background: #fff;\n & > ${RibbonRow} {\n border-bottom: solid 1px #ebedf0;\n width: auto;\n &:last-child {\n border: none;\n }\n & > ${RibbonCol} {\n &:last-child {\n &:after {\n display: none;\n }\n }\n }\n }\n`;\n\n/* eslint-disable indent */\nconst RibbonBlockIcon = styled.div`\n padding-right: 0.5rem;\n padding-top: 0.1rem;\n svg,\n svg:not([fill]) {\n fill: ${(props) => {\n if (props.info) return '#1e79c2';\n if (props.error) return '#E34256';\n if (props.warning) return '#FBB431';\n if (props.success) return '#32B87C';\n return '#1e79c2';\n }};\n }\n`;\n/* eslint-enable indent */\n\nconst RibbonBlockLabel = styled.div`\n padding: 0.25rem 0.5rem;\n color: #697489;\n font-size: 0.9rem;\n line-height: 1.2rem;\n`;\nconst RibbonBlockValue = styled.div`\n flex: 2;\n font-weight: 600;\n padding: 0.25rem 0.5rem 0.25rem 0rem;\n font-size: 1.1rem;\n color: #333333;\n flex-wrap: nowrap;\n white-space: nowrap;\n`;\nconst RibbonBlockValueLabel = styled.div`\n flex: 2;\n padding: 0.25rem 0.5rem 0.25rem 0rem;\n font-size: 0.9rem;\n color: #697489;\n flex-wrap: nowrap;\n white-space: nowrap;\n`;\n\nconst RibbonBlockCol = styled.div`\n display: flex;\n flex-direction: column;\n flex: 2;\n flex-wrap: nowrap;\n align-items: ${(props) => {\n if (props.center) return 'center';\n return '';\n }};\n height: 100%;\n`;\nconst RibbonBlockRow = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n flex: 1;\n height: 100%;\n align-items: ${(props) => {\n if (props.center) return 'center';\n return '';\n }};\n`;\nconst RibbonBlock = styled.div`\n flex: 1;\n height: 100%;\n`;\n\nconst RibbonCard = ({\n containerProps = {},\n icon = null,\n label = '',\n value = '',\n additionalValue = '',\n additionalLabel = '',\n info = false,\n error = false,\n warning = false,\n success = false,\n center = false,\n solid = false,\n}) => {\n const labelPlace = icon ? (\n <RibbonBlockIcon error={error} info={info} success={success} warning={warning}>\n {icon}\n </RibbonBlockIcon>\n ) : (\n <RibbonBlockLabel>{label}</RibbonBlockLabel>\n );\n if (additionalValue || additionalLabel) {\n let additionalInformation;\n if (additionalValue) {\n additionalInformation = additionalValue && <RibbonBlockValue>{additionalValue}</RibbonBlockValue>;\n } else if (additionalLabel) {\n additionalInformation = additionalLabel && <RibbonBlockValueLabel>{additionalLabel}</RibbonBlockValueLabel>;\n }\n return (\n <RibbonBlock {...containerProps}>\n <RibbonBlockRow className=\"ribbon-block-row\" solid={solid} style={{ alignItems: 'flex-start' }}>\n {labelPlace}\n <RibbonBlockCol center={center} className=\"ribbon-block-col\">\n <RibbonBlockValue>{value}</RibbonBlockValue>\n {additionalInformation}\n </RibbonBlockCol>\n </RibbonBlockRow>\n </RibbonBlock>\n );\n }\n\n return (\n <RibbonBlock {...containerProps}>\n <RibbonBlockRow center={center} solid={solid}>\n {labelPlace}\n <RibbonBlockValue>{value}</RibbonBlockValue>\n </RibbonBlockRow>\n </RibbonBlock>\n );\n};\n\nconst DSRibbon = {\n RibbonWrapper,\n RibbonRow,\n RibbonCol,\n RibbonCard,\n};\n\nRibbonWrapper.propTypes = {};\n\nRibbonRow.propTypes = {\n /** align left */\n alignLeft: PropTypes.bool.description('align left'),\n} as WeakValidationMap<unknown>;\n\nRibbonCol.propTypes = {};\n\nconst cardprops = {\n /** props to inject to wrapper */\n containerProps: PropTypes.object.description('props to inject to wrapper'),\n /** icon for ribbon card */\n icon: PropTypes.element.description('icon for ribbon card'),\n /** label for ribbon card */\n label: PropTypes.string.description('label for ribbon card'),\n /** value for ribbon */\n value: PropTypes.string.description('value for ribbon'),\n /** additional value */\n additionalValue: PropTypes.string.description('additional value'),\n /** additional label */\n additionalLabel: PropTypes.string.description('additional label'),\n /** for main label */\n info: PropTypes.bool.description('for main label'),\n /** error state toggle */\n error: PropTypes.bool.description('error state toggle'),\n /** warning state toggle */\n warning: PropTypes.bool.description('warning state toggle'),\n /** success state toggle */\n success: PropTypes.bool.description('success state toggle'),\n /** align center */\n center: PropTypes.bool.description('align center'),\n /** solid style */\n solid: PropTypes.bool.description('solid style'),\n} as WeakValidationMap<unknown>;\n\nRibbonCard.propTypes = cardprops;\nRibbonCard.displayName = 'RibbonCard';\nconst DSRibbonCardWithSchema = describe(RibbonCard);\nDSRibbonCardWithSchema.propTypes = cardprops;\n\nexport default DSRibbon;\nexport { DSRibbonCardWithSchema, DSRibbon };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var src_exports = {};
|
|
30
|
+
__export(src_exports, {
|
|
31
|
+
DSRibbon: () => import_DSRibbon.DSRibbon,
|
|
32
|
+
DSRibbonCardWithSchema: () => import_DSRibbon.DSRibbonCardWithSchema,
|
|
33
|
+
default: () => import_DSRibbon.default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(src_exports);
|
|
36
|
+
var React = __toESM(require("react"));
|
|
37
|
+
var import_DSRibbon = __toESM(require("./DSRibbon.js"));
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["export { default, DSRibbon, DSRibbonCardWithSchema } from './DSRibbon.js';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,sBAA0D;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { PropTypes, describe } from "@elliemae/ds-legacy-props-helpers";
|
|
4
|
+
import { styled } from "@elliemae/ds-legacy-system";
|
|
5
|
+
const RibbonColSimple = styled.div`
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
padding: 0.25rem 0.5rem;
|
|
9
|
+
height: 100%;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
flex: 1;
|
|
12
|
+
position: relative;
|
|
13
|
+
&:after {
|
|
14
|
+
position: absolute;
|
|
15
|
+
top: 10%;
|
|
16
|
+
right: 0;
|
|
17
|
+
height: 80%;
|
|
18
|
+
content: '';
|
|
19
|
+
border-right: dashed 1px #ebedf0;
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
const RibbonRow = styled.div`
|
|
23
|
+
width: 100%;
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: row;
|
|
26
|
+
align-items: center;
|
|
27
|
+
min-height: 4rem;
|
|
28
|
+
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
|
29
|
+
height: 5rem;
|
|
30
|
+
overflow-y: hidden;
|
|
31
|
+
}
|
|
32
|
+
flex-wrap: nowrap;
|
|
33
|
+
overflow-x: auto;
|
|
34
|
+
${(props) => {
|
|
35
|
+
if (props.alignLeft) {
|
|
36
|
+
return `
|
|
37
|
+
align-items: stretch;
|
|
38
|
+
& > ${RibbonColSimple} {
|
|
39
|
+
align-items: flex-start;
|
|
40
|
+
align-self: stretch;
|
|
41
|
+
flex: 0;
|
|
42
|
+
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
|
43
|
+
flex: 1;
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
}
|
|
47
|
+
return `
|
|
48
|
+
align-items: center;
|
|
49
|
+
`;
|
|
50
|
+
}};
|
|
51
|
+
${(props) => {
|
|
52
|
+
if (props.solid) {
|
|
53
|
+
return `
|
|
54
|
+
& > ${RibbonColSimple} {
|
|
55
|
+
&:after{
|
|
56
|
+
top: 0%;
|
|
57
|
+
height: 100%;
|
|
58
|
+
border-right: solid 1px #CBCFD7;
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
return "";
|
|
63
|
+
}};
|
|
64
|
+
`;
|
|
65
|
+
const RibbonCol = styled(RibbonColSimple)`
|
|
66
|
+
& > ${RibbonRow} {
|
|
67
|
+
align-items: flex-start;
|
|
68
|
+
}
|
|
69
|
+
`;
|
|
70
|
+
const RibbonWrapper = styled.div`
|
|
71
|
+
width: 100%;
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
padding: 0.62rem 1.22rem;
|
|
75
|
+
border-bottom: solid 1px #cfcfd7;
|
|
76
|
+
background: #fff;
|
|
77
|
+
& > ${RibbonRow} {
|
|
78
|
+
border-bottom: solid 1px #ebedf0;
|
|
79
|
+
width: auto;
|
|
80
|
+
&:last-child {
|
|
81
|
+
border: none;
|
|
82
|
+
}
|
|
83
|
+
& > ${RibbonCol} {
|
|
84
|
+
&:last-child {
|
|
85
|
+
&:after {
|
|
86
|
+
display: none;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
`;
|
|
92
|
+
const RibbonBlockIcon = styled.div`
|
|
93
|
+
padding-right: 0.5rem;
|
|
94
|
+
padding-top: 0.1rem;
|
|
95
|
+
svg,
|
|
96
|
+
svg:not([fill]) {
|
|
97
|
+
fill: ${(props) => {
|
|
98
|
+
if (props.info)
|
|
99
|
+
return "#1e79c2";
|
|
100
|
+
if (props.error)
|
|
101
|
+
return "#E34256";
|
|
102
|
+
if (props.warning)
|
|
103
|
+
return "#FBB431";
|
|
104
|
+
if (props.success)
|
|
105
|
+
return "#32B87C";
|
|
106
|
+
return "#1e79c2";
|
|
107
|
+
}};
|
|
108
|
+
}
|
|
109
|
+
`;
|
|
110
|
+
const RibbonBlockLabel = styled.div`
|
|
111
|
+
padding: 0.25rem 0.5rem;
|
|
112
|
+
color: #697489;
|
|
113
|
+
font-size: 0.9rem;
|
|
114
|
+
line-height: 1.2rem;
|
|
115
|
+
`;
|
|
116
|
+
const RibbonBlockValue = styled.div`
|
|
117
|
+
flex: 2;
|
|
118
|
+
font-weight: 600;
|
|
119
|
+
padding: 0.25rem 0.5rem 0.25rem 0rem;
|
|
120
|
+
font-size: 1.1rem;
|
|
121
|
+
color: #333333;
|
|
122
|
+
flex-wrap: nowrap;
|
|
123
|
+
white-space: nowrap;
|
|
124
|
+
`;
|
|
125
|
+
const RibbonBlockValueLabel = styled.div`
|
|
126
|
+
flex: 2;
|
|
127
|
+
padding: 0.25rem 0.5rem 0.25rem 0rem;
|
|
128
|
+
font-size: 0.9rem;
|
|
129
|
+
color: #697489;
|
|
130
|
+
flex-wrap: nowrap;
|
|
131
|
+
white-space: nowrap;
|
|
132
|
+
`;
|
|
133
|
+
const RibbonBlockCol = styled.div`
|
|
134
|
+
display: flex;
|
|
135
|
+
flex-direction: column;
|
|
136
|
+
flex: 2;
|
|
137
|
+
flex-wrap: nowrap;
|
|
138
|
+
align-items: ${(props) => {
|
|
139
|
+
if (props.center)
|
|
140
|
+
return "center";
|
|
141
|
+
return "";
|
|
142
|
+
}};
|
|
143
|
+
height: 100%;
|
|
144
|
+
`;
|
|
145
|
+
const RibbonBlockRow = styled.div`
|
|
146
|
+
display: flex;
|
|
147
|
+
flex-direction: row;
|
|
148
|
+
flex-wrap: nowrap;
|
|
149
|
+
flex: 1;
|
|
150
|
+
height: 100%;
|
|
151
|
+
align-items: ${(props) => {
|
|
152
|
+
if (props.center)
|
|
153
|
+
return "center";
|
|
154
|
+
return "";
|
|
155
|
+
}};
|
|
156
|
+
`;
|
|
157
|
+
const RibbonBlock = styled.div`
|
|
158
|
+
flex: 1;
|
|
159
|
+
height: 100%;
|
|
160
|
+
`;
|
|
161
|
+
const RibbonCard = ({
|
|
162
|
+
containerProps = {},
|
|
163
|
+
icon = null,
|
|
164
|
+
label = "",
|
|
165
|
+
value = "",
|
|
166
|
+
additionalValue = "",
|
|
167
|
+
additionalLabel = "",
|
|
168
|
+
info = false,
|
|
169
|
+
error = false,
|
|
170
|
+
warning = false,
|
|
171
|
+
success = false,
|
|
172
|
+
center = false,
|
|
173
|
+
solid = false
|
|
174
|
+
}) => {
|
|
175
|
+
const labelPlace = icon ? /* @__PURE__ */ jsx(RibbonBlockIcon, { error, info, success, warning, children: icon }) : /* @__PURE__ */ jsx(RibbonBlockLabel, { children: label });
|
|
176
|
+
if (additionalValue || additionalLabel) {
|
|
177
|
+
let additionalInformation;
|
|
178
|
+
if (additionalValue) {
|
|
179
|
+
additionalInformation = additionalValue && /* @__PURE__ */ jsx(RibbonBlockValue, { children: additionalValue });
|
|
180
|
+
} else if (additionalLabel) {
|
|
181
|
+
additionalInformation = additionalLabel && /* @__PURE__ */ jsx(RibbonBlockValueLabel, { children: additionalLabel });
|
|
182
|
+
}
|
|
183
|
+
return /* @__PURE__ */ jsx(RibbonBlock, { ...containerProps, children: /* @__PURE__ */ jsxs(RibbonBlockRow, { className: "ribbon-block-row", solid, style: { alignItems: "flex-start" }, children: [
|
|
184
|
+
labelPlace,
|
|
185
|
+
/* @__PURE__ */ jsxs(RibbonBlockCol, { center, className: "ribbon-block-col", children: [
|
|
186
|
+
/* @__PURE__ */ jsx(RibbonBlockValue, { children: value }),
|
|
187
|
+
additionalInformation
|
|
188
|
+
] })
|
|
189
|
+
] }) });
|
|
190
|
+
}
|
|
191
|
+
return /* @__PURE__ */ jsx(RibbonBlock, { ...containerProps, children: /* @__PURE__ */ jsxs(RibbonBlockRow, { center, solid, children: [
|
|
192
|
+
labelPlace,
|
|
193
|
+
/* @__PURE__ */ jsx(RibbonBlockValue, { children: value })
|
|
194
|
+
] }) });
|
|
195
|
+
};
|
|
196
|
+
const DSRibbon = {
|
|
197
|
+
RibbonWrapper,
|
|
198
|
+
RibbonRow,
|
|
199
|
+
RibbonCol,
|
|
200
|
+
RibbonCard
|
|
201
|
+
};
|
|
202
|
+
RibbonWrapper.propTypes = {};
|
|
203
|
+
RibbonRow.propTypes = {
|
|
204
|
+
/** align left */
|
|
205
|
+
alignLeft: PropTypes.bool.description("align left")
|
|
206
|
+
};
|
|
207
|
+
RibbonCol.propTypes = {};
|
|
208
|
+
const cardprops = {
|
|
209
|
+
/** props to inject to wrapper */
|
|
210
|
+
containerProps: PropTypes.object.description("props to inject to wrapper"),
|
|
211
|
+
/** icon for ribbon card */
|
|
212
|
+
icon: PropTypes.element.description("icon for ribbon card"),
|
|
213
|
+
/** label for ribbon card */
|
|
214
|
+
label: PropTypes.string.description("label for ribbon card"),
|
|
215
|
+
/** value for ribbon */
|
|
216
|
+
value: PropTypes.string.description("value for ribbon"),
|
|
217
|
+
/** additional value */
|
|
218
|
+
additionalValue: PropTypes.string.description("additional value"),
|
|
219
|
+
/** additional label */
|
|
220
|
+
additionalLabel: PropTypes.string.description("additional label"),
|
|
221
|
+
/** for main label */
|
|
222
|
+
info: PropTypes.bool.description("for main label"),
|
|
223
|
+
/** error state toggle */
|
|
224
|
+
error: PropTypes.bool.description("error state toggle"),
|
|
225
|
+
/** warning state toggle */
|
|
226
|
+
warning: PropTypes.bool.description("warning state toggle"),
|
|
227
|
+
/** success state toggle */
|
|
228
|
+
success: PropTypes.bool.description("success state toggle"),
|
|
229
|
+
/** align center */
|
|
230
|
+
center: PropTypes.bool.description("align center"),
|
|
231
|
+
/** solid style */
|
|
232
|
+
solid: PropTypes.bool.description("solid style")
|
|
233
|
+
};
|
|
234
|
+
RibbonCard.propTypes = cardprops;
|
|
235
|
+
RibbonCard.displayName = "RibbonCard";
|
|
236
|
+
const DSRibbonCardWithSchema = describe(RibbonCard);
|
|
237
|
+
DSRibbonCardWithSchema.propTypes = cardprops;
|
|
238
|
+
var DSRibbon_default = DSRibbon;
|
|
239
|
+
export {
|
|
240
|
+
DSRibbon,
|
|
241
|
+
DSRibbonCardWithSchema,
|
|
242
|
+
RibbonCol,
|
|
243
|
+
DSRibbon_default as default
|
|
244
|
+
};
|
|
245
|
+
//# sourceMappingURL=DSRibbon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/DSRibbon.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable no-use-before-define */\n/* eslint-disable no-confusing-arrow */\nimport React, { type WeakValidationMap } from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-legacy-props-helpers';\nimport { styled } from '@elliemae/ds-legacy-system';\n\nconst RibbonColSimple = styled.div`\n display: flex;\n flex-direction: column;\n padding: 0.25rem 0.5rem;\n height: 100%;\n justify-content: center;\n flex: 1;\n position: relative;\n &:after {\n position: absolute;\n top: 10%;\n right: 0;\n height: 80%;\n content: '';\n border-right: dashed 1px #ebedf0;\n }\n`;\n\nconst RibbonRow = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: 4rem;\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n height: 5rem;\n overflow-y: hidden;\n }\n flex-wrap: nowrap;\n overflow-x: auto;\n ${(props) => {\n if (props.alignLeft) {\n return `\n align-items: stretch;\n & > ${RibbonColSimple} {\n align-items: flex-start;\n align-self: stretch; \n flex: 0;\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n flex: 1;\n }\n `;\n }\n return `\n align-items: center;\n `;\n }};\n ${(props) => {\n if (props.solid) {\n return `\n & > ${RibbonColSimple} {\n &:after{\n top: 0%;\n height: 100%;\n border-right: solid 1px #CBCFD7;\n }\n `;\n }\n return '';\n }};\n`;\n\nexport const RibbonCol = styled(RibbonColSimple)`\n & > ${RibbonRow} {\n align-items: flex-start;\n }\n`;\n\nconst RibbonWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n padding: 0.62rem 1.22rem;\n border-bottom: solid 1px #cfcfd7;\n background: #fff;\n & > ${RibbonRow} {\n border-bottom: solid 1px #ebedf0;\n width: auto;\n &:last-child {\n border: none;\n }\n & > ${RibbonCol} {\n &:last-child {\n &:after {\n display: none;\n }\n }\n }\n }\n`;\n\n/* eslint-disable indent */\nconst RibbonBlockIcon = styled.div`\n padding-right: 0.5rem;\n padding-top: 0.1rem;\n svg,\n svg:not([fill]) {\n fill: ${(props) => {\n if (props.info) return '#1e79c2';\n if (props.error) return '#E34256';\n if (props.warning) return '#FBB431';\n if (props.success) return '#32B87C';\n return '#1e79c2';\n }};\n }\n`;\n/* eslint-enable indent */\n\nconst RibbonBlockLabel = styled.div`\n padding: 0.25rem 0.5rem;\n color: #697489;\n font-size: 0.9rem;\n line-height: 1.2rem;\n`;\nconst RibbonBlockValue = styled.div`\n flex: 2;\n font-weight: 600;\n padding: 0.25rem 0.5rem 0.25rem 0rem;\n font-size: 1.1rem;\n color: #333333;\n flex-wrap: nowrap;\n white-space: nowrap;\n`;\nconst RibbonBlockValueLabel = styled.div`\n flex: 2;\n padding: 0.25rem 0.5rem 0.25rem 0rem;\n font-size: 0.9rem;\n color: #697489;\n flex-wrap: nowrap;\n white-space: nowrap;\n`;\n\nconst RibbonBlockCol = styled.div`\n display: flex;\n flex-direction: column;\n flex: 2;\n flex-wrap: nowrap;\n align-items: ${(props) => {\n if (props.center) return 'center';\n return '';\n }};\n height: 100%;\n`;\nconst RibbonBlockRow = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n flex: 1;\n height: 100%;\n align-items: ${(props) => {\n if (props.center) return 'center';\n return '';\n }};\n`;\nconst RibbonBlock = styled.div`\n flex: 1;\n height: 100%;\n`;\n\nconst RibbonCard = ({\n containerProps = {},\n icon = null,\n label = '',\n value = '',\n additionalValue = '',\n additionalLabel = '',\n info = false,\n error = false,\n warning = false,\n success = false,\n center = false,\n solid = false,\n}) => {\n const labelPlace = icon ? (\n <RibbonBlockIcon error={error} info={info} success={success} warning={warning}>\n {icon}\n </RibbonBlockIcon>\n ) : (\n <RibbonBlockLabel>{label}</RibbonBlockLabel>\n );\n if (additionalValue || additionalLabel) {\n let additionalInformation;\n if (additionalValue) {\n additionalInformation = additionalValue && <RibbonBlockValue>{additionalValue}</RibbonBlockValue>;\n } else if (additionalLabel) {\n additionalInformation = additionalLabel && <RibbonBlockValueLabel>{additionalLabel}</RibbonBlockValueLabel>;\n }\n return (\n <RibbonBlock {...containerProps}>\n <RibbonBlockRow className=\"ribbon-block-row\" solid={solid} style={{ alignItems: 'flex-start' }}>\n {labelPlace}\n <RibbonBlockCol center={center} className=\"ribbon-block-col\">\n <RibbonBlockValue>{value}</RibbonBlockValue>\n {additionalInformation}\n </RibbonBlockCol>\n </RibbonBlockRow>\n </RibbonBlock>\n );\n }\n\n return (\n <RibbonBlock {...containerProps}>\n <RibbonBlockRow center={center} solid={solid}>\n {labelPlace}\n <RibbonBlockValue>{value}</RibbonBlockValue>\n </RibbonBlockRow>\n </RibbonBlock>\n );\n};\n\nconst DSRibbon = {\n RibbonWrapper,\n RibbonRow,\n RibbonCol,\n RibbonCard,\n};\n\nRibbonWrapper.propTypes = {};\n\nRibbonRow.propTypes = {\n /** align left */\n alignLeft: PropTypes.bool.description('align left'),\n} as WeakValidationMap<unknown>;\n\nRibbonCol.propTypes = {};\n\nconst cardprops = {\n /** props to inject to wrapper */\n containerProps: PropTypes.object.description('props to inject to wrapper'),\n /** icon for ribbon card */\n icon: PropTypes.element.description('icon for ribbon card'),\n /** label for ribbon card */\n label: PropTypes.string.description('label for ribbon card'),\n /** value for ribbon */\n value: PropTypes.string.description('value for ribbon'),\n /** additional value */\n additionalValue: PropTypes.string.description('additional value'),\n /** additional label */\n additionalLabel: PropTypes.string.description('additional label'),\n /** for main label */\n info: PropTypes.bool.description('for main label'),\n /** error state toggle */\n error: PropTypes.bool.description('error state toggle'),\n /** warning state toggle */\n warning: PropTypes.bool.description('warning state toggle'),\n /** success state toggle */\n success: PropTypes.bool.description('success state toggle'),\n /** align center */\n center: PropTypes.bool.description('align center'),\n /** solid style */\n solid: PropTypes.bool.description('solid style'),\n} as WeakValidationMap<unknown>;\n\nRibbonCard.propTypes = cardprops;\nRibbonCard.displayName = 'RibbonCard';\nconst DSRibbonCardWithSchema = describe(RibbonCard);\nDSRibbonCardWithSchema.propTypes = cardprops;\n\nexport default DSRibbon;\nexport { DSRibbonCardWithSchema, DSRibbon };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSRibbon, DSRibbonCardWithSchema } from './DSRibbon.js';\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAAA,UAAS,UAAU,8BAA8B;",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const RibbonCol: import("styled-components").StyledComponent<import("styled-components").StyledComponent<"div", import("@elliemae/ds-legacy-system").Theme, object & import("@elliemae/ds-legacy-system").OwnerInterface, never>, import("@elliemae/ds-legacy-system").Theme, {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
[x: number]: any;
|
|
5
|
+
[x: symbol]: any;
|
|
6
|
+
} & {
|
|
7
|
+
theme?: import("@elliemae/ds-legacy-system").Theme | undefined;
|
|
8
|
+
} & {
|
|
9
|
+
as?: string | React.ComponentType<any> | undefined;
|
|
10
|
+
forwardedAs?: string | React.ComponentType<any> | undefined;
|
|
11
|
+
} & import("@elliemae/ds-legacy-system").OwnerInterface, never>;
|
|
12
|
+
declare const DSRibbon: {
|
|
13
|
+
RibbonWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-legacy-system").Theme, {
|
|
14
|
+
[x: string]: any;
|
|
15
|
+
[x: number]: any;
|
|
16
|
+
[x: symbol]: any;
|
|
17
|
+
} & {
|
|
18
|
+
theme?: import("@elliemae/ds-legacy-system").Theme | undefined;
|
|
19
|
+
} & {
|
|
20
|
+
as?: string | React.ComponentType<any> | undefined;
|
|
21
|
+
forwardedAs?: string | React.ComponentType<any> | undefined;
|
|
22
|
+
} & import("@elliemae/ds-legacy-system").OwnerInterface, never>;
|
|
23
|
+
RibbonRow: import("styled-components").StyledComponent<"div", import("@elliemae/ds-legacy-system").Theme, object & import("@elliemae/ds-legacy-system").OwnerInterface, never>;
|
|
24
|
+
RibbonCol: import("styled-components").StyledComponent<import("styled-components").StyledComponent<"div", import("@elliemae/ds-legacy-system").Theme, object & import("@elliemae/ds-legacy-system").OwnerInterface, never>, import("@elliemae/ds-legacy-system").Theme, {
|
|
25
|
+
[x: string]: any;
|
|
26
|
+
[x: number]: any;
|
|
27
|
+
[x: symbol]: any;
|
|
28
|
+
} & {
|
|
29
|
+
theme?: import("@elliemae/ds-legacy-system").Theme | undefined;
|
|
30
|
+
} & {
|
|
31
|
+
as?: string | React.ComponentType<any> | undefined;
|
|
32
|
+
forwardedAs?: string | React.ComponentType<any> | undefined;
|
|
33
|
+
} & import("@elliemae/ds-legacy-system").OwnerInterface, never>;
|
|
34
|
+
RibbonCard: {
|
|
35
|
+
({ containerProps, icon, label, value, additionalValue, additionalLabel, info, error, warning, success, center, solid, }: {
|
|
36
|
+
containerProps?: {} | undefined;
|
|
37
|
+
icon?: null | undefined;
|
|
38
|
+
label?: string | undefined;
|
|
39
|
+
value?: string | undefined;
|
|
40
|
+
additionalValue?: string | undefined;
|
|
41
|
+
additionalLabel?: string | undefined;
|
|
42
|
+
info?: boolean | undefined;
|
|
43
|
+
error?: boolean | undefined;
|
|
44
|
+
warning?: boolean | undefined;
|
|
45
|
+
success?: boolean | undefined;
|
|
46
|
+
center?: boolean | undefined;
|
|
47
|
+
solid?: boolean | undefined;
|
|
48
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
propTypes: React.WeakValidationMap<unknown>;
|
|
50
|
+
displayName: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
declare const DSRibbonCardWithSchema: import("@elliemae/ds-legacy-props-helpers/dist/types/propTypes/types").DocumentedReactComponent<{
|
|
54
|
+
containerProps?: {} | undefined;
|
|
55
|
+
icon?: null | undefined;
|
|
56
|
+
label?: string | undefined;
|
|
57
|
+
value?: string | undefined;
|
|
58
|
+
additionalValue?: string | undefined;
|
|
59
|
+
additionalLabel?: string | undefined;
|
|
60
|
+
info?: boolean | undefined;
|
|
61
|
+
error?: boolean | undefined;
|
|
62
|
+
warning?: boolean | undefined;
|
|
63
|
+
success?: boolean | undefined;
|
|
64
|
+
center?: boolean | undefined;
|
|
65
|
+
solid?: boolean | undefined;
|
|
66
|
+
}>;
|
|
67
|
+
export default DSRibbon;
|
|
68
|
+
export { DSRibbonCardWithSchema, DSRibbon };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default, DSRibbon, DSRibbonCardWithSchema } from './DSRibbon.js';
|
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@elliemae/ds-legacy-ribbon",
|
|
3
|
+
"version": "1.0.0-rc.1",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"description": "ICE MT - Dimsum - Ribbon",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"module": "./dist/esm/index.js",
|
|
10
|
+
"main": "./dist/cjs/index.js",
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": "./dist/esm/index.js",
|
|
15
|
+
"require": "./dist/cjs/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./DSRibbon": {
|
|
18
|
+
"import": "./dist/esm/DSRibbon.js",
|
|
19
|
+
"require": "./dist/cjs/DSRibbon.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"sideEffects": [
|
|
23
|
+
"*.css",
|
|
24
|
+
"*.scss"
|
|
25
|
+
],
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "https://git.elliemae.io/platform-ui/dimsum-legacy.git"
|
|
29
|
+
},
|
|
30
|
+
"engines": {
|
|
31
|
+
"pnpm": ">=6",
|
|
32
|
+
"node": ">=16"
|
|
33
|
+
},
|
|
34
|
+
"author": "ICE MT",
|
|
35
|
+
"jestSonar": {
|
|
36
|
+
"sonar56x": true,
|
|
37
|
+
"reportPath": "reports",
|
|
38
|
+
"reportFile": "tests.xml",
|
|
39
|
+
"indent": 4
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@elliemae/ds-legacy-props-helpers": "1.0.0-rc.1",
|
|
43
|
+
"@elliemae/ds-legacy-system": "1.0.0-rc.1"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@elliemae/pui-cli": "~9.0.0-next.31",
|
|
47
|
+
"styled-components": "~5.3.9",
|
|
48
|
+
"@elliemae/ds-legacy-monorepo-devops": "1.0.0-rc.1"
|
|
49
|
+
},
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"lodash": "^4.17.21",
|
|
52
|
+
"react": "~17.0.2",
|
|
53
|
+
"react-dom": "^17.0.2",
|
|
54
|
+
"styled-components": "~5.3.9"
|
|
55
|
+
},
|
|
56
|
+
"publishConfig": {
|
|
57
|
+
"access": "public",
|
|
58
|
+
"typeSafety": false
|
|
59
|
+
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
|
|
62
|
+
"test": "pui-cli test --passWithNoTests",
|
|
63
|
+
"lint": "node ../../../scripts/lint.mjs",
|
|
64
|
+
"eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../../.eslintrc.js' src/",
|
|
65
|
+
"dts": "node ../../../scripts/dts.mjs",
|
|
66
|
+
"build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
|
|
67
|
+
"dev:build": "pnpm --filter {.}... build",
|
|
68
|
+
"dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
|
|
69
|
+
"checkDeps": "npm exec ../../util/ds-codemods -- check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
|
|
70
|
+
}
|
|
71
|
+
}
|