genesys-react-components 0.1.0-alpha.2 → 0.1.0-alpha.6

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 (34) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/{dist/esm/lib → build}/dxaccordion/DxAccordion.d.ts +9 -9
  4. package/{dist/esm/lib → build}/dxaccordion/DxAccordionGroup.d.ts +7 -7
  5. package/{dist/cjs/lib → build}/dxbutton/DxButton.d.ts +12 -12
  6. package/build/dxitemgroup/DxCheckbox.d.ts +15 -0
  7. package/{dist/esm/lib → build}/dxitemgroup/DxItemGroup.d.ts +17 -18
  8. package/{dist/esm/lib → build}/dxlabel/DxLabel.d.ts +11 -11
  9. package/{dist/cjs/lib → build}/dxtabbedcontent/DxTabPanel.d.ts +8 -8
  10. package/{dist/esm/lib → build}/dxtabbedcontent/DxTabbedContent.d.ts +8 -8
  11. package/build/dxtextbox/DxTextbox.d.ts +4 -0
  12. package/build/dxtoggle/DxToggle.d.ts +4 -0
  13. package/build/index.d.ts +60 -0
  14. package/build/index.js +315 -0
  15. package/build/index.js.map +1 -0
  16. package/package.json +24 -31
  17. package/dist/cjs/index.js +0 -2870
  18. package/dist/cjs/index.js.map +0 -1
  19. package/dist/cjs/lib/dxaccordion/DxAccordion.d.ts +0 -9
  20. package/dist/cjs/lib/dxaccordion/DxAccordionGroup.d.ts +0 -7
  21. package/dist/cjs/lib/dxitemgroup/DxItemGroup.d.ts +0 -18
  22. package/dist/cjs/lib/dxlabel/DxLabel.d.ts +0 -11
  23. package/dist/cjs/lib/dxtabbedcontent/DxTabbedContent.d.ts +0 -8
  24. package/dist/cjs/lib/dxtextbox/DxTextbox.d.ts +0 -20
  25. package/dist/cjs/lib/dxtoggle/DxToggle.d.ts +0 -14
  26. package/dist/cjs/lib/index.d.ts +0 -31
  27. package/dist/esm/index.js +0 -2859
  28. package/dist/esm/index.js.map +0 -1
  29. package/dist/esm/lib/dxbutton/DxButton.d.ts +0 -12
  30. package/dist/esm/lib/dxtabbedcontent/DxTabPanel.d.ts +0 -8
  31. package/dist/esm/lib/dxtextbox/DxTextbox.d.ts +0 -20
  32. package/dist/esm/lib/dxtoggle/DxToggle.d.ts +0 -14
  33. package/dist/esm/lib/index.d.ts +0 -31
  34. package/dist/index.d.ts +0 -101
package/build/index.js ADDED
@@ -0,0 +1,315 @@
1
+ import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';
2
+ import React, { useState, useEffect, useRef } from 'react';
3
+ import { v4 } from 'uuid';
4
+
5
+ function styleInject(css, ref) {
6
+ if ( ref === void 0 ) ref = {};
7
+ var insertAt = ref.insertAt;
8
+
9
+ if (!css || typeof document === 'undefined') { return; }
10
+
11
+ var head = document.head || document.getElementsByTagName('head')[0];
12
+ var style = document.createElement('style');
13
+ style.type = 'text/css';
14
+
15
+ if (insertAt === 'top') {
16
+ if (head.firstChild) {
17
+ head.insertBefore(style, head.firstChild);
18
+ } else {
19
+ head.appendChild(style);
20
+ }
21
+ } else {
22
+ head.appendChild(style);
23
+ }
24
+
25
+ if (style.styleSheet) {
26
+ style.styleSheet.cssText = css;
27
+ } else {
28
+ style.appendChild(document.createTextNode(css));
29
+ }
30
+ }
31
+
32
+ var css_248z$c = ".dx-accordion {\n margin: 0;\n}\n.dx-accordion .accordion-heading {\n border-width: 0 0 1px 0;\n border-style: solid;\n border-color: #bfd4e4;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 14px;\n color: #54565a;\n padding: 13px 20px;\n display: flex;\n flex-flow: row nowrap;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n}\n.dx-accordion .accordion-heading .icon {\n line-height: 0;\n}\n.dx-accordion .accordion-content {\n padding: 13px 20px 20px 20px;\n border-bottom: 1px solid #bfd4e4;\n}\n.dx-accordion .accordion-content > *:first-child {\n margin-top: 0;\n}\n.dx-accordion .accordion-content > *:last-child {\n margin-bottom: 0;\n}";
33
+ styleInject(css_248z$c);
34
+
35
+ function DxAccordion(props) {
36
+ const [isOpen, setIsOpen] = useState(props.showOpen || false);
37
+ return (React.createElement("div", { className: 'dx-accordion' },
38
+ React.createElement("div", { className: 'accordion-heading', onClick: () => setIsOpen(!isOpen) },
39
+ props.title,
40
+ " ",
41
+ React.createElement(GenesysDevIcon, { icon: isOpen ? GenesysDevIcons.AppChevronUp : GenesysDevIcons.AppChevronDown })),
42
+ isOpen ? React.createElement("div", { className: 'accordion-content' }, props.children) : undefined));
43
+ }
44
+
45
+ var css_248z$b = ".dx-accordion-group {\n margin: 40px 0;\n}";
46
+ styleInject(css_248z$b);
47
+
48
+ function DxAccordionGroup(props) {
49
+ return React.createElement("div", { className: 'dx-accordion-group' }, props.children);
50
+ }
51
+
52
+ var css_248z$a = ".dx-button {\n margin: 15px 10px;\n border-radius: 2px;\n padding: 8px 15px;\n cursor: pointer;\n font-weight: 500;\n}\n.dx-button-primary {\n color: #ffffff;\n border: 1px solid #419bb2;\n background-color: #419bb2;\n}\n.dx-button-primary:hover {\n background-color: #317b8d;\n border-color: #317b8d;\n transition: 0.1s;\n}\n.dx-button-primary:focus {\n background-color: #419bb2;\n border-color: #419bb2;\n box-shadow: 0 0 0 2px #aac9ff;\n transition: 0.1s;\n}\n.dx-button-primary:disabled {\n background-color: #9aafb540;\n border-color: #9aafb540;\n transition: 0.1s;\n}\n.dx-button-secondary {\n color: #419bb2;\n border: 1px solid #419bb2;\n background-color: #ffffff;\n}\n.dx-button-secondary:hover {\n color: #317b8d;\n border-color: #317b8d;\n transition: 0.1s;\n}\n.dx-button-secondary:focus {\n color: #419bb2;\n border-color: #419bb2;\n box-shadow: 0 0 0 2px #aac9ff;\n transition: 0.1s;\n}\n.dx-button-secondary:disabled {\n color: #8a9a9e;\n background-color: #e0e6e8;\n border-color: #e0e6e8;\n transition: 0.1s;\n}";
53
+ styleInject(css_248z$a);
54
+
55
+ function DxButton(props) {
56
+ let classNames = ['dx-button'];
57
+ classNames.push(`dx-button-${props.type || 'primary'}`);
58
+ if (props.className)
59
+ classNames.push(props.className);
60
+ const handleClick = (e) => {
61
+ if (!props.onClick)
62
+ return;
63
+ e.preventDefault();
64
+ e.stopPropagation();
65
+ props.onClick();
66
+ };
67
+ return (React.createElement("button", { className: classNames.join(' '), type: 'button', onClick: handleClick, disabled: props.disabled === true }, props.children));
68
+ }
69
+
70
+ var css_248z$9 = ".dx-item-group {\n display: block;\n border: 0;\n margin: 0;\n padding: 0;\n}\n.dx-item-group label {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n margin: 15px 0;\n}\n.dx-item-group label:first-of-type {\n margin-top: 0;\n}\n.dx-item-group label .label-text {\n font-family: Roboto;\n font-style: normal;\n font-weight: normal;\n font-size: 12px;\n line-height: 18px;\n color: #75757a;\n}";
71
+ styleInject(css_248z$9);
72
+
73
+ var css_248z$8 = "";
74
+ styleInject(css_248z$8);
75
+
76
+ var css_248z$7 = ".dx-select-group {\n appearance: none;\n position: relative;\n}\n.dx-select-group select {\n border: 1px solid #8a96a3;\n border-radius: 2px;\n background-color: #ffffff;\n font-style: normal;\n font-weight: 300;\n font-size: 12px;\n line-height: 14px;\n color: #75757a;\n padding: 8px 32px 8px 12px;\n width: 100%;\n appearance: none;\n}\n.dx-select-group select:focus-visible {\n outline: 2px solid #aac9ff;\n}\n.dx-select-group select option {\n background: #aac9ff -webkit-linear-gradient(bottom, #aac9ff 0%, #aac9ff 100%);\n}\n.dx-select-group::after {\n position: absolute;\n bottom: 12px;\n right: 12px;\n content: \"\\f104\";\n font-size: 8px;\n font-family: genesys-dev-icons !important;\n font-style: normal;\n font-weight: normal !important;\n font-feature-settings: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n pointer-events: none;\n}";
77
+ styleInject(css_248z$7);
78
+
79
+ var css_248z$6 = ".dx-multiselect-group {\n appearance: none;\n position: relative;\n}\n.dx-multiselect-group select {\n border: 1px solid #8a96a3;\n border-radius: 2px;\n background-color: #ffffff;\n font-style: normal;\n font-weight: 300;\n font-size: 12px;\n line-height: 14px;\n color: #75757a;\n width: 100%;\n appearance: none;\n scrollbar-color: #b0b2b5 transparent;\n}\n.dx-multiselect-group select:focus-visible {\n outline: 2px solid #aac9ff;\n}\n.dx-multiselect-group select option {\n overflow: hidden;\n white-space: pre;\n text-overflow: ellipsis;\n -webkit-appearance: none;\n font-style: normal;\n font-weight: 300;\n font-size: 12px;\n line-height: 31px;\n padding: 8px 12px;\n color: #75757a;\n}\n.dx-multiselect-group select option:checked {\n background: #aac9ff -webkit-linear-gradient(bottom, #aac9ff 0%, #aac9ff 100%);\n}\n.dx-multiselect-group select::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 7px;\n height: 7px;\n}\n.dx-multiselect-group select::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: #b0b2b5;\n}\n.dx-multiselect-group select::-webkit-scrollbar-corner {\n background: transparent;\n}";
80
+ styleInject(css_248z$6);
81
+
82
+ var css_248z$5 = ".dx-label {\n margin: 20px 0;\n display: block;\n}\n.dx-label .label-text,\n.dx-label .input-description {\n display: block;\n font-family: Roboto;\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 14px;\n color: #75757a;\n}\n.dx-label .label-text {\n margin: 0 0 4px 0;\n}\n.dx-label .input-description {\n padding: 6px 20px;\n display: flex;\n flex-flow: row nowrap;\n gap: 8px;\n}\n.dx-label .input-description .icon {\n color: #597393;\n line-height: 0;\n}";
83
+ styleInject(css_248z$5);
84
+
85
+ function DxLabel(props) {
86
+ const hasLabel = props.label && props.label !== '';
87
+ const description = props.description ? (React.createElement("div", { className: 'input-description' },
88
+ React.createElement(GenesysDevIcon, { icon: GenesysDevIcons.AppInfoSolid }),
89
+ React.createElement("span", null, props.description))) : undefined;
90
+ if (props.useFieldset) {
91
+ return (React.createElement("fieldset", { className: 'dx-label ' + props.className || '' },
92
+ props.label ? React.createElement("legend", { className: 'label-text' }, props.label) : undefined,
93
+ props.children,
94
+ description));
95
+ }
96
+ return (React.createElement("label", { className: 'dx-label ' + props.className || '' },
97
+ hasLabel ? React.createElement("span", { className: 'label-text' }, props.label) : undefined,
98
+ props.children,
99
+ description));
100
+ }
101
+
102
+ var css_248z$4 = ".dx-checkbox {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n margin: 15px 0;\n}\n.dx-checkbox:first-of-type {\n margin-top: 0;\n}\n.dx-checkbox .label-text {\n font-family: Roboto;\n font-style: normal;\n font-weight: normal;\n font-size: 12px;\n line-height: 18px;\n color: #75757a;\n}\n.dx-checkbox input[type=checkbox] {\n -webkit-appearance: none;\n appearance: none;\n margin: 0 8px 0 0;\n width: 16px;\n height: 16px;\n border: 1px solid #8a96a3;\n border-radius: 2px;\n background-color: #ffffff;\n flex-shrink: 0;\n}\n.dx-checkbox input[type=checkbox]::before {\n display: none;\n}\n.dx-checkbox input[type=checkbox]:checked {\n background-color: #8a96a3;\n}\n.dx-checkbox input[type=checkbox]:checked::before {\n display: block;\n position: relative;\n top: 7px;\n left: 3px;\n font-size: 9px;\n line-height: 0;\n color: #ffffff;\n content: \"\\f103\";\n font-family: genesys-dev-icons !important;\n font-style: normal;\n font-weight: normal !important;\n font-feature-settings: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.dx-checkbox input[type=checkbox]:not(:disabled):hover {\n border-color: #4d5061;\n}\n.dx-checkbox input[type=checkbox]:not(:disabled):focus {\n outline: #aac9ff solid 2px;\n}\n.dx-checkbox input[type=checkbox]:not(:disabled):focus-visible {\n outline: 0;\n}\n.dx-checkbox input[type=radio] {\n -webkit-appearance: none;\n appearance: none;\n margin: 0 8px 0 0;\n width: 16px;\n height: 16px;\n border: 1px solid #8a96a3;\n border-radius: 8px;\n background-color: #ffffff;\n flex-shrink: 0;\n}\n.dx-checkbox input[type=radio]::before {\n display: none;\n}\n.dx-checkbox input[type=radio]:checked::before {\n content: \"\";\n display: block;\n width: 10px;\n height: 10px;\n border-radius: 8px;\n position: relative;\n top: 2px;\n left: 2px;\n background-color: #8a96a3;\n}\n.dx-checkbox input[type=radio]:not(:disabled):hover {\n border-color: #4d5061;\n}\n.dx-checkbox input[type=radio]:not(:disabled):focus {\n outline: #aac9ff solid 2px;\n}\n.dx-checkbox input[type=radio]:not(:disabled):focus-visible {\n outline: 0;\n}\n\n.dx-label .dx-checkbox .label-text {\n margin: 0;\n}";
103
+ styleInject(css_248z$4);
104
+
105
+ function DxCheckbox(props) {
106
+ return (React.createElement("label", { className: `dx-checkbox ${props.className || ''}` },
107
+ React.createElement("input", { type: props.useRadioType ? 'radio' : 'checkbox', name: props.name, id: props.label, value: props.value, checked: props.initialValue, onChange: (e) => (props.onCheckChanged ? props.onCheckChanged(e.target.checked) : undefined) }),
108
+ React.createElement("span", { className: 'label-text' }, props.label)));
109
+ }
110
+
111
+ function DxItemGroup(props) {
112
+ const [data, setData] = useState(props.items.map((item) => {
113
+ return { item, isSelected: false };
114
+ }));
115
+ const [id] = useState(v4());
116
+ // data changed
117
+ useEffect(() => {
118
+ if (props.onItemsChanged)
119
+ props.onItemsChanged(data);
120
+ // eslint-disable-next-line react-hooks/exhaustive-deps
121
+ }, [data]);
122
+ // Handle checkbox changed
123
+ const onChange = (idx, item, checked) => {
124
+ if (props.onItemChanged)
125
+ props.onItemChanged(item, checked);
126
+ let newData = [...data];
127
+ // Unselect everything if it's radio buttons
128
+ if (props.format === 'radio')
129
+ newData.forEach((value) => (value.isSelected = false));
130
+ // Set the selected state of the new item
131
+ newData[idx].isSelected = checked;
132
+ setData(newData);
133
+ };
134
+ switch (props.format) {
135
+ case 'multiselect':
136
+ case 'dropdown': {
137
+ return (React.createElement(DxLabel, { label: props.title, description: props.description },
138
+ React.createElement("div", { className: `dx-item-group${props.format === 'multiselect' ? ' dx-multiselect-group' : ' dx-select-group'}` },
139
+ React.createElement("select", { multiple: props.format === 'multiselect' }, data.map((d, i) => (React.createElement("option", { key: i, value: d.item.value }, d.item.label)))))));
140
+ }
141
+ case 'checkbox':
142
+ case 'radio':
143
+ default: {
144
+ return (React.createElement(DxLabel, { label: props.title, description: props.description, className: 'dx-item-group', useFieldset: true }, data.map((d, i) => (React.createElement(DxCheckbox, { key: i, name: props.format === 'checkbox' ? `${id}-${i}` : id, label: d.item.label, value: d.item.value, initialValue: d.isSelected, onCheckChanged: (checked) => onChange(i, d.item, checked) })
145
+ // <label key={i}>
146
+ // <input
147
+ // type={props.format}
148
+ // name={props.format === 'checkbox' ? `${id}-${i}` : id}
149
+ // id={d.item.label}
150
+ // value={d.item.value}
151
+ // checked={d.isSelected}
152
+ // onChange={(e) => onChange(i, d.item, e)}
153
+ // />
154
+ // <span className='label-text'>{d.item.label}</span>
155
+ // </label>
156
+ ))));
157
+ }
158
+ }
159
+ }
160
+
161
+ var css_248z$3 = ".dx-tabbed-content {\n margin: 40px 0;\n}\n.dx-tabbed-content .tab-titles {\n border-bottom: 1px solid #bfd4e4;\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n}\n.dx-tabbed-content .tab-titles .tab-title {\n display: inline-block;\n padding: 5px 20px;\n border-bottom: 1px solid transparent;\n cursor: pointer;\n}\n.dx-tabbed-content .tab-titles .tab-title.active {\n border-bottom-color: #597393;\n font-weight: bold;\n}\n.dx-tabbed-content .tab-titles .tab-title p {\n margin: 0;\n display: inline;\n}\n.dx-tabbed-content .tab-content {\n padding: 13px 20px 20px 20px;\n border-bottom: 1px solid #bfd4e4;\n}\n.dx-tabbed-content .tab-content > *:first-child {\n margin-top: 0;\n}\n.dx-tabbed-content .tab-content > *:last-child {\n margin-bottom: 0;\n}";
162
+ styleInject(css_248z$3);
163
+
164
+ function DxTabbedContent(props) {
165
+ const [activeTab, setActiveTab] = useState(props.initialTabId || 0);
166
+ const [titles] = useState(
167
+ // Scrape titles from child elements
168
+ React.Children.toArray(props.children).map((child) => {
169
+ if (!child || !child.props || !child.props.title)
170
+ return 'Unknown title';
171
+ return child.props.title;
172
+ }));
173
+ return (React.createElement("div", { className: 'dx-tabbed-content' },
174
+ React.createElement("div", { className: 'tab-titles' }, titles.map((title, i) => (React.createElement("span", { key: i, className: `tab-title${i === activeTab ? ' active' : ''}`, onClick: () => setActiveTab(i) }, title)))),
175
+ React.createElement("div", { className: 'tab-content' }, React.Children.toArray(props.children)[activeTab])));
176
+ }
177
+
178
+ var css_248z$2 = "";
179
+ styleInject(css_248z$2);
180
+
181
+ function DxTabPanel(props) {
182
+ return React.createElement("div", { className: 'dx-tab-panel' }, props.children);
183
+ }
184
+
185
+ var css_248z$1 = ".dx-textbox {\n display: flex;\n flex-flow: row nowrap;\n justify-content: space-between;\n align-items: center;\n gap: 10px;\n border: 1px solid #c6cbd1;\n border-radius: 2px;\n margin: 0;\n padding: 0 10px;\n height: 32px;\n}\n.dx-textbox.with-label {\n margin-top: 0;\n}\n.dx-textbox:focus-within {\n outline: #aac9ff solid 2px;\n}\n.dx-textbox .icon {\n display: block;\n flex: none;\n color: #75757a;\n}\n.dx-textbox .icon.input-icon {\n font-size: 14px;\n line-height: 0;\n}\n.dx-textbox .icon.clear-icon {\n font-size: 11px;\n line-height: 0;\n cursor: pointer;\n padding: 4px;\n margin-right: -4px;\n}\n.dx-textbox input {\n flex-grow: 1;\n border: 0;\n background: #ffffff;\n box-sizing: border-box;\n height: 32px;\n width: 100%;\n padding: 0;\n margin: 0;\n font-family: Roboto;\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n line-height: 16px;\n color: #272d2d;\n}\n.dx-textbox input:focus-visible {\n outline: 0;\n}\n.dx-textbox input::placeholder {\n font-family: Roboto;\n font-style: normal;\n font-weight: 300;\n font-size: 14px;\n line-height: 16px;\n color: #757576;\n}";
186
+ styleInject(css_248z$1);
187
+
188
+ function DxTextbox(props) {
189
+ const [debounceMs, setDebounceMs] = useState(props.changeDebounceMs || 300);
190
+ const [value, setValue] = useState(props.initialValue || '');
191
+ const [isFocused, setIsFocused] = useState(false);
192
+ const [escapePressed, setEscapePressed] = useState(Date.now());
193
+ const [step, setStep] = useState(undefined);
194
+ let [timer, setTimer] = useState(undefined);
195
+ // Constructor
196
+ useEffect(() => {
197
+ // Register global key bindings
198
+ document.addEventListener('keydown', globalKeyBindings, false);
199
+ return () => {
200
+ document.removeEventListener('keydown', globalKeyBindings, false);
201
+ };
202
+ }, []);
203
+ // Escape pressed
204
+ useEffect(() => {
205
+ var _a;
206
+ if (!isFocused)
207
+ return;
208
+ setValue('');
209
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
210
+ // eslint-disable-next-line react-hooks/exhaustive-deps
211
+ }, [escapePressed]);
212
+ // Value changed
213
+ useEffect(() => {
214
+ if (props.inputType === 'decimal') {
215
+ // Normalize step setting
216
+ if (!isNaN(parseFloat(value))) {
217
+ const match = /\.(.+)/.exec(value);
218
+ console.log(match);
219
+ if (match) {
220
+ const s = `0.${Array.apply(null, Array(match[1].length - 1))
221
+ .map(() => '0')
222
+ .join('')}1`;
223
+ console.log(s);
224
+ setStep(s);
225
+ }
226
+ }
227
+ }
228
+ else if (props.inputType === 'integer') {
229
+ // Overwrite value as integer to forcibly truncate floating point numbers
230
+ setValue(parseInt(value).toString());
231
+ }
232
+ // Debounce onChange notification
233
+ if (!props.onChange)
234
+ return;
235
+ clearTimeout(timer);
236
+ setTimer(setTimeout(() => (props.onChange ? props.onChange(value) : undefined), debounceMs));
237
+ // eslint-disable-next-line react-hooks/exhaustive-deps
238
+ }, [value]);
239
+ // Update state from props
240
+ useEffect(() => {
241
+ setDebounceMs(props.changeDebounceMs || 300);
242
+ }, [props.changeDebounceMs]);
243
+ // Normalize inputRef
244
+ let inputRef = useRef(null);
245
+ if (props.inputRef)
246
+ inputRef = props.inputRef;
247
+ const hasLabel = props.label && props.label !== '';
248
+ // Global key bindings
249
+ function globalKeyBindings(event) {
250
+ // Escape - cancel search
251
+ if (event.key === 'Escape') {
252
+ event.stopPropagation();
253
+ event.preventDefault();
254
+ setEscapePressed(Date.now());
255
+ return;
256
+ }
257
+ }
258
+ // Normalize input type
259
+ let inputType = props.inputType;
260
+ if (inputType === 'integer' || inputType === 'decimal')
261
+ inputType = 'number';
262
+ // TODO: handle props.inputType
263
+ let component = (React.createElement("div", { className: `dx-textbox${hasLabel ? ' with-label' : ''}`, style: {} },
264
+ props.icon ? React.createElement(GenesysDevIcon, { icon: props.icon, className: 'input-icon' }) : undefined,
265
+ React.createElement("input", { className: 'dx-input', type: inputType, step: step, value: value, placeholder: props.placeholder, onChange: (e) => setValue(e.target.value), ref: inputRef, onFocus: () => {
266
+ setIsFocused(true);
267
+ if (props.onFocus)
268
+ props.onFocus();
269
+ }, onBlur: () => {
270
+ setIsFocused(false);
271
+ if (props.onBlur)
272
+ props.onBlur();
273
+ } }),
274
+ props.clearButton && (value || isFocused) ? (React.createElement(GenesysDevIcon, { icon: GenesysDevIcons.AppTimes, className: 'clear-icon', onClick: () => setValue('') })) : undefined));
275
+ // Render
276
+ return (React.createElement(DxLabel, { label: props.label, description: props.description }, component));
277
+ }
278
+
279
+ var css_248z = ".dx-toggle-container {\n display: inline-block;\n}\n.dx-toggle-container .dx-toggle {\n background: #f5f8fb;\n border: 1px solid #c6cbd1;\n border-radius: 6px;\n height: 26px;\n padding: 0px 4px;\n display: flex;\n flex-flow: row nowrap;\n justify-content: space-between;\n align-items: center;\n gap: 2px;\n cursor: pointer;\n}\n.dx-toggle-container .dx-toggle:hover .slider {\n border-color: #aac9ff;\n}\n.dx-toggle-container .dx-toggle .icon {\n font-size: 10px;\n line-height: 0;\n margin: 0 5px;\n color: #c4c4c4;\n}\n.dx-toggle-container .dx-toggle .clear-placeholder {\n width: 19px;\n padding: 0 1px 0 0;\n margin: 0;\n display: block;\n}\n.dx-toggle-container .dx-toggle .slider {\n height: 22px;\n width: 22px;\n border-radius: 22px;\n background-color: #419bb2;\n box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n border: 1px solid transparent;\n}\n.dx-toggle-container .dx-toggle .slider .icon {\n font-size: 10px;\n line-height: 0;\n color: #ffffff;\n padding: 0;\n margin: 0;\n}";
280
+ styleInject(css_248z);
281
+
282
+ function DxToggle(props) {
283
+ const [value, setValue] = useState(props.isTriState ? props.initialValue : props.initialValue || false);
284
+ const trueIcon = props.trueIcon || GenesysDevIcons.AppCheck;
285
+ const falseIcon = props.falseIcon || GenesysDevIcons.AppTimes;
286
+ useEffect(() => {
287
+ if (props.onChange)
288
+ props.onChange(value);
289
+ // eslint-disable-next-line react-hooks/exhaustive-deps
290
+ }, [value]);
291
+ const toggleValue = () => {
292
+ if (props.isTriState) {
293
+ if (value === undefined)
294
+ setValue(true);
295
+ else if (value === true)
296
+ setValue(false);
297
+ else
298
+ setValue(undefined);
299
+ }
300
+ else {
301
+ setValue(!value);
302
+ }
303
+ };
304
+ return (React.createElement(DxLabel, { label: props.label, description: props.description },
305
+ React.createElement("div", { className: 'dx-toggle-container' },
306
+ React.createElement("div", { className: 'dx-toggle', onClick: toggleValue },
307
+ value !== false ? React.createElement(GenesysDevIcon, { icon: falseIcon }) : undefined,
308
+ value === true && props.isTriState ? React.createElement("div", { className: 'clear-placeholder' }, "\u00A0") : undefined,
309
+ React.createElement("div", { className: 'slider' }, value !== undefined ? React.createElement(GenesysDevIcon, { icon: value ? trueIcon : falseIcon }) : undefined),
310
+ value === false && props.isTriState ? React.createElement("div", { className: 'clear-placeholder' }, "\u00A0") : undefined,
311
+ value !== true ? React.createElement(GenesysDevIcon, { icon: trueIcon }) : undefined))));
312
+ }
313
+
314
+ export { DxAccordion, DxAccordionGroup, DxButton, DxCheckbox, DxItemGroup, DxLabel, DxTabPanel, DxTabbedContent, DxTextbox, DxToggle };
315
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/dxaccordion/DxAccordion.tsx","../src/dxaccordion/DxAccordionGroup.tsx","../src/dxbutton/DxButton.tsx","../src/dxlabel/DxLabel.tsx","../src/dxitemgroup/DxCheckbox.tsx","../src/dxitemgroup/DxItemGroup.tsx","../src/dxtabbedcontent/DxTabbedContent.tsx","../src/dxtabbedcontent/DxTabPanel.tsx","../src/dxtextbox/DxTextbox.tsx","../src/dxtoggle/DxToggle.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useState } from 'react';\n\nimport './DxAccordion.scss';\n\ninterface IProps {\n\ttitle: React.ReactNode;\n\tchildren: React.ReactNode;\n\tshowOpen?: boolean;\n}\n\nexport default function DxAccordion(props: IProps) {\n\tconst [isOpen, setIsOpen] = useState(props.showOpen || false);\n\n\treturn (\n\t\t<div className='dx-accordion'>\n\t\t\t<div className='accordion-heading' onClick={() => setIsOpen(!isOpen)}>\n\t\t\t\t{props.title} <GenesysDevIcon icon={isOpen ? GenesysDevIcons.AppChevronUp : GenesysDevIcons.AppChevronDown} />\n\t\t\t</div>\n\t\t\t{isOpen ? <div className='accordion-content'>{props.children}</div> : undefined}\n\t\t</div>\n\t);\n}\n","import React from 'react';\n\nimport './DxAccordionGroup.scss';\n\ninterface IProps {\n\tchildren: React.ReactNode;\n}\n\nexport default function DxAccordionGroup(props: IProps) {\n\treturn <div className='dx-accordion-group'>{props.children}</div>;\n}\n","import React from 'react';\nimport { VoidEventCallback } from '..';\n\nimport './DxButton.scss';\n\ninterface IProps {\n\ttype?: 'primary' | 'secondary';\n\tdisabled?: boolean;\n\tchildren?: React.ReactNode;\n\tclassName?: string;\n\tonClick?: VoidEventCallback;\n}\n\nexport default function DxButton(props: IProps) {\n\tlet classNames = ['dx-button'];\n\tclassNames.push(`dx-button-${props.type || 'primary'}`);\n\tif (props.className) classNames.push(props.className);\n\n\tconst handleClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n\t\tif (!props.onClick) return;\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tprops.onClick();\n\t};\n\n\treturn (\n\t\t<button className={classNames.join(' ')} type='button' onClick={handleClick} disabled={props.disabled === true}>\n\t\t\t{props.children}\n\t\t</button>\n\t);\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React from 'react';\n\nimport './DxLabel.scss';\n\ninterface IProps {\n\tlabel?: string;\n\tdescription?: string;\n\tuseFieldset?: boolean;\n\tclassName?: string;\n\tchildren: React.ReactNode;\n}\n\nexport default function DxLabel(props: IProps) {\n\tconst hasLabel = props.label && props.label !== '';\n\n\tconst description = props.description ? (\n\t\t<div className='input-description'>\n\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppInfoSolid} />\n\t\t\t<span>{props.description}</span>\n\t\t</div>\n\t) : undefined;\n\n\tif (props.useFieldset) {\n\t\treturn (\n\t\t\t<fieldset className={'dx-label ' + props.className || ''}>\n\t\t\t\t{props.label ? <legend className='label-text'>{props.label}</legend> : undefined}\n\t\t\t\t{props.children}\n\t\t\t\t{description}\n\t\t\t</fieldset>\n\t\t);\n\t}\n\treturn (\n\t\t<label className={'dx-label ' + props.className || ''}>\n\t\t\t{hasLabel ? <span className='label-text'>{props.label}</span> : undefined}\n\t\t\t{props.children}\n\t\t\t{description}\n\t\t</label>\n\t);\n}\n","import React from 'react';\nimport { BooleanChangedCallback } from '..';\n\nimport './DxCheckbox.scss';\n\ninterface IProps {\n\tlabel: string;\n\tvalue: string;\n\tdescription?: string;\n\tinitialValue?: boolean;\n\tname?: string;\n\tclassName?: string;\n\tonCheckChanged?: BooleanChangedCallback;\n\tuseRadioType?: boolean;\n}\n\nexport default function DxCheckbox(props: IProps) {\n\treturn (\n\t\t<label className={`dx-checkbox ${props.className || ''}`}>\n\t\t\t<input\n\t\t\t\ttype={props.useRadioType ? 'radio' : 'checkbox'}\n\t\t\t\tname={props.name}\n\t\t\t\tid={props.label}\n\t\t\t\tvalue={props.value}\n\t\t\t\tchecked={props.initialValue}\n\t\t\t\tonChange={(e) => (props.onCheckChanged ? props.onCheckChanged(e.target.checked) : undefined)}\n\t\t\t/>\n\t\t\t<span className='label-text'>{props.label}</span>\n\t\t</label>\n\t);\n}\n","import React, { useEffect, useState } from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { DxItemGroupItem, DxItemGroupItemValue, ItemChangedCallback, ItemGroupChangedCallback } from '..';\n\nimport './DxItemGroup.scss';\nimport './radiobutton.scss';\nimport './dropdown.scss';\nimport './multiselect.scss';\nimport DxLabel from '../dxlabel/DxLabel';\nimport DxCheckbox from './DxCheckbox';\n\ninterface IProps {\n\ttitle?: string;\n\tdescription?: string;\n\tformat: DxItemGroupFormat;\n\titems: DxItemGroupItem[];\n\tonItemChanged?: ItemChangedCallback;\n\tonItemsChanged?: ItemGroupChangedCallback;\n}\n\nexport type DxItemGroupFormat = 'checkbox' | 'radio' | 'dropdown' | 'multiselect';\n\nexport default function DxItemGroup(props: IProps) {\n\tconst [data, setData] = useState<DxItemGroupItemValue[]>(\n\t\tprops.items.map((item) => {\n\t\t\treturn { item, isSelected: false };\n\t\t})\n\t);\n\tconst [id] = useState(uuid());\n\n\t// data changed\n\tuseEffect(() => {\n\t\tif (props.onItemsChanged) props.onItemsChanged(data);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [data]);\n\n\t// Handle checkbox changed\n\tconst onChange = (idx: number, item: DxItemGroupItem, checked: boolean) => {\n\t\tif (props.onItemChanged) props.onItemChanged(item, checked);\n\t\tlet newData = [...data];\n\t\t// Unselect everything if it's radio buttons\n\t\tif (props.format === 'radio') newData.forEach((value) => (value.isSelected = false));\n\t\t// Set the selected state of the new item\n\t\tnewData[idx].isSelected = checked;\n\t\tsetData(newData);\n\t};\n\n\tswitch (props.format) {\n\t\tcase 'multiselect':\n\t\tcase 'dropdown': {\n\t\t\treturn (\n\t\t\t\t<DxLabel label={props.title} description={props.description}>\n\t\t\t\t\t<div className={`dx-item-group${props.format === 'multiselect' ? ' dx-multiselect-group' : ' dx-select-group'}`}>\n\t\t\t\t\t\t<select multiple={props.format === 'multiselect'}>\n\t\t\t\t\t\t\t{data.map((d, i) => (\n\t\t\t\t\t\t\t\t<option key={i} value={d.item.value}>\n\t\t\t\t\t\t\t\t\t{d.item.label}\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t</DxLabel>\n\t\t\t);\n\t\t}\n\t\tcase 'checkbox':\n\t\tcase 'radio':\n\t\tdefault: {\n\t\t\treturn (\n\t\t\t\t<DxLabel label={props.title} description={props.description} className='dx-item-group' useFieldset={true}>\n\t\t\t\t\t{data.map((d, i) => (\n\t\t\t\t\t\t<DxCheckbox\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tname={props.format === 'checkbox' ? `${id}-${i}` : id}\n\t\t\t\t\t\t\tlabel={d.item.label}\n\t\t\t\t\t\t\tvalue={d.item.value}\n\t\t\t\t\t\t\tinitialValue={d.isSelected}\n\t\t\t\t\t\t\tonCheckChanged={(checked) => onChange(i, d.item, checked)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t// <label key={i}>\n\t\t\t\t\t\t// \t<input\n\t\t\t\t\t\t// \t\ttype={props.format}\n\t\t\t\t\t\t// \t\tname={props.format === 'checkbox' ? `${id}-${i}` : id}\n\t\t\t\t\t\t// \t\tid={d.item.label}\n\t\t\t\t\t\t// \t\tvalue={d.item.value}\n\t\t\t\t\t\t// \t\tchecked={d.isSelected}\n\t\t\t\t\t\t// \t\tonChange={(e) => onChange(i, d.item, e)}\n\t\t\t\t\t\t// \t/>\n\t\t\t\t\t\t// \t<span className='label-text'>{d.item.label}</span>\n\t\t\t\t\t\t// </label>\n\t\t\t\t\t))}\n\t\t\t\t</DxLabel>\n\t\t\t);\n\t\t}\n\t}\n}\n","import React, { useState } from 'react';\n\nimport './DxTabbedContent.scss';\n\ninterface IProps {\n\tchildren: React.ReactNode;\n\tinitialTabId?: number;\n}\n\nexport default function DxTabbedContent(props: IProps) {\n\tconst [activeTab, setActiveTab] = useState(props.initialTabId || 0);\n\tconst [titles] = useState<React.ReactNode[]>(\n\t\t// Scrape titles from child elements\n\t\tReact.Children.toArray(props.children).map((child: any) => {\n\t\t\tif (!child || !child.props || !child.props.title) return 'Unknown title';\n\t\t\treturn child.props.title;\n\t\t})\n\t);\n\n\treturn (\n\t\t<div className='dx-tabbed-content'>\n\t\t\t<div className='tab-titles'>\n\t\t\t\t{titles.map((title, i) => (\n\t\t\t\t\t<span key={i} className={`tab-title${i === activeTab ? ' active' : ''}`} onClick={() => setActiveTab(i)}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</span>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<div className='tab-content'>{React.Children.toArray(props.children)[activeTab]}</div>\n\t\t</div>\n\t);\n}\n","import React from 'react';\n\nimport './DxTabPanel.scss';\n\ninterface IProps {\n\ttitle: React.ReactNode;\n\tchildren: React.ReactNode;\n}\n\nexport default function DxTabPanel(props: IProps) {\n\treturn <div className='dx-tab-panel'>{props.children}</div>;\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useEffect, useRef, useState } from 'react';\nimport DxLabel from '../dxlabel/DxLabel';\nimport { DxTextboxProps, StringChangedCallback, VoidEventCallback } from '..';\n\nimport './DxTextbox.scss';\n\nexport default function DxTextbox(props: DxTextboxProps) {\n\tconst [debounceMs, setDebounceMs] = useState(props.changeDebounceMs || 300);\n\tconst [value, setValue] = useState(props.initialValue || '');\n\tconst [isFocused, setIsFocused] = useState(false);\n\tconst [escapePressed, setEscapePressed] = useState(Date.now());\n\tconst [step, setStep] = useState<string | number | undefined>(undefined);\n\tlet [timer, setTimer] = useState(undefined as unknown as ReturnType<typeof setTimeout>);\n\n\t// Constructor\n\tuseEffect(() => {\n\t\t// Register global key bindings\n\t\tdocument.addEventListener('keydown', globalKeyBindings, false);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keydown', globalKeyBindings, false);\n\t\t};\n\t}, []);\n\n\t// Escape pressed\n\tuseEffect(() => {\n\t\tif (!isFocused) return;\n\t\tsetValue('');\n\t\tinputRef.current?.blur();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [escapePressed]);\n\n\t// Value changed\n\tuseEffect(() => {\n\t\tif (props.inputType === 'decimal') {\n\t\t\t// Normalize step setting\n\t\t\tif (!isNaN(parseFloat(value))) {\n\t\t\t\tconst match = /\\.(.+)/.exec(value);\n\t\t\t\tconsole.log(match);\n\t\t\t\tif (match) {\n\t\t\t\t\tconst s = `0.${Array.apply(null, Array(match[1].length - 1))\n\t\t\t\t\t\t.map(() => '0')\n\t\t\t\t\t\t.join('')}1`;\n\t\t\t\t\tconsole.log(s);\n\t\t\t\t\tsetStep(s);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (props.inputType === 'integer') {\n\t\t\t// Overwrite value as integer to forcibly truncate floating point numbers\n\t\t\tsetValue(parseInt(value).toString());\n\t\t}\n\n\t\t// Debounce onChange notification\n\t\tif (!props.onChange) return;\n\t\tclearTimeout(timer);\n\t\tsetTimer(setTimeout(() => (props.onChange ? props.onChange(value) : undefined), debounceMs));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [value]);\n\n\t// Update state from props\n\tuseEffect(() => {\n\t\tsetDebounceMs(props.changeDebounceMs || 300);\n\t}, [props.changeDebounceMs]);\n\n\t// Normalize inputRef\n\tlet inputRef = useRef<HTMLInputElement>(null);\n\tif (props.inputRef) inputRef = props.inputRef;\n\tconst hasLabel = props.label && props.label !== '';\n\n\t// Global key bindings\n\tfunction globalKeyBindings(event: KeyboardEvent) {\n\t\t// Escape - cancel search\n\t\tif (event.key === 'Escape') {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tsetEscapePressed(Date.now());\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Normalize input type\n\tlet inputType: React.HTMLInputTypeAttribute | undefined = props.inputType;\n\tif (inputType === 'integer' || inputType === 'decimal') inputType = 'number';\n\n\t// TODO: handle props.inputType\n\tlet component = (\n\t\t<div className={`dx-textbox${hasLabel ? ' with-label' : ''}`} style={{}}>\n\t\t\t{props.icon ? <GenesysDevIcon icon={props.icon} className='input-icon' /> : undefined}\n\t\t\t<input\n\t\t\t\tclassName='dx-input'\n\t\t\t\ttype={inputType}\n\t\t\t\tstep={step}\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\tonChange={(e) => setValue(e.target.value)}\n\t\t\t\tref={inputRef}\n\t\t\t\tonFocus={() => {\n\t\t\t\t\tsetIsFocused(true);\n\t\t\t\t\tif (props.onFocus) props.onFocus();\n\t\t\t\t}}\n\t\t\t\tonBlur={() => {\n\t\t\t\t\tsetIsFocused(false);\n\t\t\t\t\tif (props.onBlur) props.onBlur();\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{props.clearButton && (value || isFocused) ? (\n\t\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppTimes} className='clear-icon' onClick={() => setValue('')} />\n\t\t\t) : undefined}\n\t\t</div>\n\t);\n\n\t// Render\n\treturn (\n\t\t<DxLabel label={props.label} description={props.description}>\n\t\t\t{component}\n\t\t</DxLabel>\n\t);\n}\n","import React, { useEffect, useState } from 'react';\nimport { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport { BooleanChangedCallback, DxToggleProps } from '..';\n\nimport './DxToggle.scss';\nimport DxLabel from '../dxlabel/DxLabel';\n\nexport default function DxToggle(props: DxToggleProps) {\n\tconst [value, setValue] = useState(props.isTriState ? props.initialValue : props.initialValue || false);\n\n\tconst trueIcon = props.trueIcon || GenesysDevIcons.AppCheck;\n\tconst falseIcon = props.falseIcon || GenesysDevIcons.AppTimes;\n\n\tuseEffect(() => {\n\t\tif (props.onChange) props.onChange(value);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [value]);\n\n\tconst toggleValue = () => {\n\t\tif (props.isTriState) {\n\t\t\tif (value === undefined) setValue(true);\n\t\t\telse if (value === true) setValue(false);\n\t\t\telse setValue(undefined);\n\t\t} else {\n\t\t\tsetValue(!value);\n\t\t}\n\t};\n\n\treturn (\n\t\t<DxLabel label={props.label} description={props.description}>\n\t\t\t<div className='dx-toggle-container'>\n\t\t\t\t<div className='dx-toggle' onClick={toggleValue}>\n\t\t\t\t\t{value !== false ? <GenesysDevIcon icon={falseIcon} /> : undefined}\n\t\t\t\t\t{value === true && props.isTriState ? <div className='clear-placeholder'>&nbsp;</div> : undefined}\n\t\t\t\t\t<div className='slider'>{value !== undefined ? <GenesysDevIcon icon={value ? trueIcon : falseIcon} /> : undefined}</div>\n\t\t\t\t\t{value === false && props.isTriState ? <div className='clear-placeholder'>&nbsp;</div> : undefined}\n\t\t\t\t\t{value !== true ? <GenesysDevIcon icon={trueIcon} /> : undefined}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DxLabel>\n\t);\n}\n"],"names":["uuid"],"mappings":"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"}
package/package.json CHANGED
@@ -1,53 +1,46 @@
1
1
  {
2
2
  "name": "genesys-react-components",
3
- "version": "0.1.0-alpha.2",
4
- "private": false,
3
+ "version": "0.1.0-alpha.6",
5
4
  "description": "A React component library containing standardized form elements.",
6
- "homepage": "https://purecloudlabs.github.io/genesys-react-components",
5
+ "main": "build/index.js",
6
+ "module": "build/index.js",
7
+ "files": [
8
+ "build"
9
+ ],
10
+ "scripts": {
11
+ "build": "rm -rf build && rollup -c rollup.config.js",
12
+ "test": "echo \"Error: no test specified\" && exit 1"
13
+ },
7
14
  "repository": {
8
15
  "type": "git",
9
- "url": "https://github.com/purecloudlabs/genesys-react-components.git",
10
- "directory": "package"
11
- },
12
- "types": "dist/index.d.ts",
13
- "browser": "dist/esm/index.js",
14
- "main": "dist/cjs/index.js",
15
- "module": "dist/esm/index.js",
16
- "scripts": {
17
- "prepare": "yarn build",
18
- "build": "rm -rf ./lib && tsc && npm run copy-resources",
19
- "copy-resources": "cd src && find ./ -name '*.scss' | cpio -pdm ../lib",
20
- "test": "echo \"Error: no test specified\" && exit 1",
21
- "rollup": "rm -rf dist && rollup -c"
16
+ "url": "git+ssh://git@github.com/purecloudlabs/genesys-react-components.git"
22
17
  },
23
18
  "author": "Genesys",
24
- "license": "https://github.com/purecloudlabs/genesys-react-components/blob/main/LICENSE",
19
+ "license": "MIT",
20
+ "bugs": {
21
+ "url": "https://github.com/purecloudlabs/genesys-react-components/issues"
22
+ },
23
+ "homepage": "https://purecloudlabs.github.io/genesys-react-components",
25
24
  "devDependencies": {
26
25
  "@rollup/plugin-commonjs": "^21.0.1",
27
26
  "@rollup/plugin-node-resolve": "^13.0.6",
28
- "@rollup/plugin-typescript": "^8.3.0",
29
- "@types/react": "^17.0.29",
30
- "@types/react-dom": "^17.0.9",
31
- "@types/uuid": "^8.3.1",
32
- "autoprefixer": "^10.4.0",
27
+ "@types/react": "^17.0.37",
28
+ "genesys-dev-icons": "^0.1.12",
33
29
  "node-sass": "^6.0.1",
34
- "postcss": "^8.4.4",
35
30
  "react": "^17.0.2",
36
31
  "react-dom": "^17.0.2",
37
32
  "rollup": "^2.60.2",
38
- "rollup-plugin-dts": "^4.0.1",
33
+ "rollup-plugin-peer-deps-external": "^2.2.4",
39
34
  "rollup-plugin-postcss": "^4.0.2",
40
- "typescript": "^4.4.4",
41
- "genesys-dev-icons": "^0.1.12",
35
+ "rollup-plugin-typescript2": "^0.31.1",
36
+ "sass": "^1.44.0",
37
+ "typescript": "^4.5.2",
42
38
  "uuid": "^8.3.2"
43
39
  },
44
40
  "peerDependencies": {
41
+ "genesys-dev-icons": "^0.1.12",
45
42
  "react": "^17.0.2",
46
43
  "react-dom": "^17.0.2",
47
- "genesys-dev-icons": "^0.1.12",
48
44
  "uuid": "^8.3.2"
49
- },
50
- "files": [
51
- "dist"
52
- ]
45
+ }
53
46
  }