rosie-ui 0.0.3

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 (53) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +21 -0
  3. package/README.md +7 -0
  4. package/dist/css/rosie.css +13 -0
  5. package/dist/js/components/date-picker.component.d.ts +26 -0
  6. package/dist/js/components/date-picker.component.js +92 -0
  7. package/dist/js/components/dialog.component.d.ts +18 -0
  8. package/dist/js/components/dialog.component.js +22 -0
  9. package/dist/js/components/dropdown.component.d.ts +21 -0
  10. package/dist/js/components/dropdown.component.js +38 -0
  11. package/dist/js/components/grid/grid-cell.component.d.ts +8 -0
  12. package/dist/js/components/grid/grid-cell.component.js +29 -0
  13. package/dist/js/components/grid/grid-header.component.d.ts +0 -0
  14. package/dist/js/components/grid/grid-header.component.js +2 -0
  15. package/dist/js/components/grid/grid.component.d.ts +3 -0
  16. package/dist/js/components/grid/grid.component.js +28 -0
  17. package/dist/js/components/grid/index.d.ts +1 -0
  18. package/dist/js/components/grid/index.js +2 -0
  19. package/dist/js/components/grid/types.d.ts +7 -0
  20. package/dist/js/components/grid/types.js +2 -0
  21. package/dist/js/components/index.d.ts +4 -0
  22. package/dist/js/components/index.js +5 -0
  23. package/dist/js/components.d.ts +4 -0
  24. package/dist/js/components.js +5 -0
  25. package/dist/js/core/ajax.d.ts +4 -0
  26. package/dist/js/core/ajax.js +85 -0
  27. package/dist/js/core/cache.d.ts +14 -0
  28. package/dist/js/core/cache.js +65 -0
  29. package/dist/js/core/index.d.ts +3 -0
  30. package/dist/js/core/index.js +4 -0
  31. package/dist/js/core/types.d.ts +15 -0
  32. package/dist/js/core/types.js +2 -0
  33. package/dist/js/index.d.ts +20 -0
  34. package/dist/js/index.js +19 -0
  35. package/dist/js/lang/array.d.ts +5 -0
  36. package/dist/js/lang/array.js +14 -0
  37. package/dist/js/lang/date.d.ts +21 -0
  38. package/dist/js/lang/date.js +76 -0
  39. package/dist/js/lang/number.d.ts +6 -0
  40. package/dist/js/lang/number.js +8 -0
  41. package/dist/js/lang/string.d.ts +9 -0
  42. package/dist/js/lang/string.js +15 -0
  43. package/dist/js/util/index.d.ts +13 -0
  44. package/dist/js/util/index.js +70 -0
  45. package/dist/webfonts/fa-brands-400.ttf +0 -0
  46. package/dist/webfonts/fa-brands-400.woff2 +0 -0
  47. package/dist/webfonts/fa-regular-400.ttf +0 -0
  48. package/dist/webfonts/fa-regular-400.woff2 +0 -0
  49. package/dist/webfonts/fa-solid-900.ttf +0 -0
  50. package/dist/webfonts/fa-solid-900.woff2 +0 -0
  51. package/dist/webfonts/fa-v4compatibility.ttf +0 -0
  52. package/dist/webfonts/fa-v4compatibility.woff2 +0 -0
  53. package/package.json +49 -0
@@ -0,0 +1,26 @@
1
+ type DatePickerComponentProps = {
2
+ dateFormat?: string;
3
+ value: Date;
4
+ onChange: (value: Date) => void;
5
+ className?: string;
6
+ };
7
+ export declare function DatePickerComponent(props: DatePickerComponentProps): import("react/jsx-runtime").JSX.Element;
8
+ type DatePickerPortalProps = {
9
+ value: Date;
10
+ onChange: (value: Date) => void;
11
+ };
12
+ export declare function DatePickerPortal(props: DatePickerPortalProps): import("react/jsx-runtime").JSX.Element;
13
+ type DatePickerProps = {
14
+ value: Date;
15
+ onChange: (value: Date) => void;
16
+ dateFormat?: string;
17
+ };
18
+ export declare function DatePicker(props: DatePickerProps): import("react/jsx-runtime").JSX.Element;
19
+ type DateRangePickerProps = {
20
+ startDate: Date;
21
+ endDate: Date;
22
+ buttonText?: string;
23
+ onChange: (startDate: Date, endDate: Date) => void;
24
+ };
25
+ export declare function DateRangePicker(props: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
26
+ export {};
@@ -0,0 +1,92 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from 'react';
3
+ import { classNames, guid, isDate } from '../util';
4
+ export function DatePickerComponent(props) {
5
+ var _a;
6
+ var datePickerId = useState(guid('datepicker-'))[0], dateFormat = useState(props.dateFormat || 'yyyy-MM-dd')[0], _b = useState(props.value), date = _b[0], setDate = _b[1], _c = useState((_a = date === null || date === void 0 ? void 0 : date.format(dateFormat)) !== null && _a !== void 0 ? _a : ''), dateStr = _c[0], setDateStr = _c[1];
7
+ useEffect(function () { setDate(props.value); }, [props.value]);
8
+ useEffect(function () { var _a; setDateStr((_a = date === null || date === void 0 ? void 0 : date.format(dateFormat)) !== null && _a !== void 0 ? _a : ''); }, [date]);
9
+ function onChangeTextBox() {
10
+ var newDate = dateStr.parseDate();
11
+ if (isDate(newDate)) {
12
+ setDate(newDate);
13
+ onChange(newDate);
14
+ }
15
+ }
16
+ function onChange(newDate) {
17
+ props.onChange(newDate);
18
+ }
19
+ return _jsxs("div", { id: datePickerId, className: "dropdown", children: [_jsx("input", { type: "text", className: "form-control form-control-sm text-center dropdown-toggle", "data-bs-toggle": "dropdown", "data-bs-auto-close": "outside", value: dateStr, onChange: function (e) { return setDateStr(e.target.value); }, onKeyUp: function (e) { return e.key === 'Enter' && onChangeTextBox(); } }), _jsx("div", { className: "dropdown-menu dropdown-menu-end p-0", children: _jsx(DatePickerPortal, { value: date, onChange: onChange }) })] });
20
+ }
21
+ export function DatePickerPortal(props) {
22
+ var _a = useState(null), viewDate = _a[0], setViewDate = _a[1], _b = useState([]), calendar = _b[0], setCalendar = _b[1];
23
+ useEffect(function () {
24
+ var value = props.value;
25
+ value && setViewDate(new Date(value.getFullYear(), value.getMonth(), 1));
26
+ }, [props.value]);
27
+ useEffect(function () {
28
+ if (!viewDate)
29
+ return;
30
+ var daysInWeek = 7, weeksInMonth = viewDate.getWeeksInMonth(), firstDayOfMonth = viewDate.getDay(), lastDayOfMonth = viewDate.endOfMonth().getDay(), daysInPreviousMonth = viewDate.minus(1, 'month').lengthOfMonth(), calendar = [];
31
+ for (var week = 0, counter = 0; week < weeksInMonth; ++week) {
32
+ calendar[week] = [];
33
+ for (var day = 0; day < daysInWeek; ++day) {
34
+ if (week === 0) {
35
+ if (day < firstDayOfMonth) {
36
+ calendar[week][day] = firstDayOfMonth - day - 1 - daysInPreviousMonth;
37
+ }
38
+ else {
39
+ calendar[week][day] = ++counter;
40
+ }
41
+ }
42
+ else if (week === weeksInMonth - 1) {
43
+ if (day > lastDayOfMonth) {
44
+ calendar[week][day] = lastDayOfMonth - day;
45
+ }
46
+ else {
47
+ calendar[week][day] = ++counter;
48
+ }
49
+ }
50
+ else {
51
+ calendar[week][day] = ++counter;
52
+ }
53
+ }
54
+ }
55
+ setCalendar(calendar);
56
+ }, [viewDate]);
57
+ function update(day) {
58
+ var date = props.value;
59
+ if (day > 0) {
60
+ date = viewDate.plus(day - 1);
61
+ }
62
+ else if (0 > day && day > -7) {
63
+ date = viewDate.plus(1, 'month');
64
+ date = date.plus(Math.abs(day) - 1);
65
+ }
66
+ else {
67
+ var daysInPreviousMonth = viewDate.minus(1, 'month').lengthOfMonth();
68
+ date = viewDate.minus(day + daysInPreviousMonth + 1);
69
+ }
70
+ props.onChange(date);
71
+ }
72
+ return _jsxs("div", { className: "rosie-datepicker-portal card border-0 mb-0", children: [_jsxs("div", { className: "card-header p-0", children: [_jsxs("div", { className: "d-flex justify-content-between", children: [_jsx("div", { className: "rosie-datepicker-cell border-0 btn btn-sm cursor-pointer d-flex align-items-center justify-content-center", onClick: function () { return setViewDate(viewDate.minus(1, 'month')); }, children: _jsx("i", { className: "fa fa-caret-left" }) }), _jsx("div", { className: "rosie-datepicker-title font-weight-bold d-flex align-items-center", children: viewDate && viewDate.format('yyyy-MM') }), _jsx("div", { className: "rosie-datepicker-cell border-0 btn btn-sm cursor-pointer d-flex align-items-center justify-content-center", onClick: function () { return setViewDate(viewDate.plus(1, 'month')); }, children: _jsx("i", { className: "fa fa-caret-right" }) })] }), _jsxs("div", { className: "d-flex flex-row", children: [_jsx("div", { className: "rosie-datepicker-cell text-center p-2", children: _jsx("span", { className: "align-middle", children: "Su" }) }), _jsx("div", { className: "rosie-datepicker-cell text-center p-2", children: _jsx("span", { className: "align-middle", children: "Mo" }) }), _jsx("div", { className: "rosie-datepicker-cell text-center p-2", children: _jsx("span", { className: "align-middle", children: "Tu" }) }), _jsx("div", { className: "rosie-datepicker-cell text-center p-2", children: _jsx("span", { className: "align-middle", children: "We" }) }), _jsx("div", { className: "rosie-datepicker-cell text-center p-2", children: _jsx("span", { className: "align-middle", children: "Th" }) }), _jsx("div", { className: "rosie-datepicker-cell text-center p-2", children: _jsx("span", { className: "align-middle", children: "Fr" }) }), _jsx("div", { className: "rosie-datepicker-cell text-center p-2", children: _jsx("span", { className: "align-middle", children: "Sa" }) })] })] }), _jsx("div", { className: "card-body p-0", children: calendar.map(function (week, weekIdx) { return _jsx("div", { className: "d-flex flex-row", children: week.map(function (day, dayIdx) {
73
+ var selected = day > 0 && props.value.equals(new Date(viewDate.getFullYear(), viewDate.getMonth(), day)), className = classNames('rosie-datepicker-cell rosie-datepicker-hover border-0 btn btn-sm', {
74
+ 'text-muted': day < 0,
75
+ 'btn-primary': selected,
76
+ });
77
+ return _jsx("button", { type: "button", className: className, onClick: function () { return update(day); }, children: day.abs() }, dayIdx);
78
+ }) }, weekIdx); }) })] });
79
+ }
80
+ export function DatePicker(props) {
81
+ var _a = useState(Date.currentDate()), value = _a[0], setValue = _a[1];
82
+ useEffect(function () { props.value && setValue(props.value); }, [props.value]);
83
+ return _jsxs("div", { className: "rosie-datepicker input-group input-group-sm", children: [_jsx("div", { className: "input-group-text", children: _jsx("span", { className: "fa fa-calendar-days" }) }), _jsx(DatePickerComponent, { value: value, onChange: props.onChange, dateFormat: props.dateFormat })] });
84
+ }
85
+ export function DateRangePicker(props) {
86
+ var _a;
87
+ var _b = useState(props.startDate), startDate = _b[0], setStartDate = _b[1], _c = useState(props.endDate), endDate = _c[0], setEndDate = _c[1];
88
+ useEffect(function () { setStartDate(props.startDate); }, [props.startDate]);
89
+ useEffect(function () { setEndDate(props.endDate); }, [props.endDate]);
90
+ return _jsxs("div", { className: "rosie-datepicker date-range input-group input-group-sm", children: [_jsx("div", { className: "input-group-text", children: _jsx("span", { className: "fa fa-calendar-days" }) }), _jsx(DatePickerComponent, { value: startDate, onChange: setStartDate }), _jsx(DatePickerComponent, { value: endDate, onChange: setEndDate }), _jsx("button", { type: "button", className: "btn btn-sm btn-primary rosie-daterangepicker-action", onClick: function () { return props.onChange(startDate, endDate); }, children: (_a = props.buttonText) !== null && _a !== void 0 ? _a : 'Apply' })] });
91
+ }
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvc3JjL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBU25ELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUErQjs7SUFDMUQsSUFBQSxZQUFZLEdBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFqQyxFQUNaLFVBQVUsR0FBSSxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxZQUFZLENBQUMsR0FBOUMsRUFDWCxLQUFrQixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUF0QyxJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQUEsRUFDZCxLQUF3QixRQUFRLENBQUMsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxtQ0FBSSxFQUFFLENBQUMsRUFBL0QsT0FBTyxRQUFBLEVBQUUsVUFBVSxRQUE0QyxDQUFDO0lBRXZFLFNBQVMsQ0FBQyxjQUFRLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RCxTQUFTLENBQUMsc0JBQVEsVUFBVSxDQUFDLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXpFLFNBQVMsZUFBZTtRQUN0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
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ type DialogProps = {
3
+ id?: string;
4
+ className?: string;
5
+ title?: string;
6
+ dialogClass?: string;
7
+ bodyClass?: string;
8
+ disableCloseButton?: boolean;
9
+ height?: string | number;
10
+ children: React.ReactNode;
11
+ };
12
+ export declare function Dialog(props: DialogProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function useDialog(id: string): {
14
+ isShown: boolean;
15
+ show: () => void;
16
+ hide: () => void;
17
+ };
18
+ export {};
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { classNames, showModal } from '../util';
4
+ export function Dialog(props) {
5
+ var _a;
6
+ var _b = props.id, id = _b === void 0 ? 'dialog' : _b, _c = props.title, title = _c === void 0 ? 'Dialog' : _c, _d = props.className, className = _d === void 0 ? '' : _d, _e = props.bodyClass, bodyClass = _e === void 0 ? '' : _e, _f = props.dialogClass, dialogClass = _f === void 0 ? '' : _f, disableCloseButton = props.disableCloseButton, children = props.children;
7
+ return _jsx("section", { className: "modal fade ".concat(className), id: id, "data-bs-backdrop": "static", tabIndex: -1, role: "dialog", children: _jsx("div", { className: "modal-dialog modal-dialog-centered modal-dialog-scrollable ".concat(dialogClass), role: "document", children: _jsxs("div", { className: classNames('modal-content'), style: { maxHeight: (_a = props.height) !== null && _a !== void 0 ? _a : '100%' }, children: [_jsxs("div", { className: "modal-header", children: [_jsx("h5", { className: "modal-title", children: title }), !disableCloseButton && _jsx("button", { type: "button", className: "btn-close", "data-bs-dismiss": "modal" })] }), _jsx("div", { className: classNames('modal-body', bodyClass), children: children })] }) }) });
8
+ }
9
+ export function useDialog(id) {
10
+ var _a = useState(false), isShown = _a[0], setState = _a[1];
11
+ useEffect(function () {
12
+ if (isShown) {
13
+ showModal(id, undefined, function () { setState(false); });
14
+ }
15
+ }, [isShown]);
16
+ return {
17
+ isShown: isShown,
18
+ show: function () { return setState(true); },
19
+ hide: function () { return setState(false); },
20
+ };
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL3NyYy9jb21wb25lbnRzL2RpYWxvZy5jb21wb25lbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQWNoRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWtCOztJQUMvQixJQUFBLEtBQW9ILEtBQUssR0FBNUcsRUFBYixFQUFFLG1CQUFHLFFBQVEsS0FBQSxFQUFFLEtBQXFHLEtBQUssTUFBMUYsRUFBaEIsS0FBSyxtQkFBRyxRQUFRLEtBQUEsRUFBRSxLQUFtRixLQUFLLFVBQTFFLEVBQWQsU0FBUyxtQkFBRyxFQUFFLEtBQUEsRUFBRSxLQUFtRSxLQUFLLFVBQTFELEVBQWQsU0FBUyxtQkFBRyxFQUFFLEtBQUEsRUFBRSxLQUFtRCxLQUFLLFlBQXhDLEVBQWhCLFdBQVcsbUJBQUcsRUFBRSxLQUFBLEVBQUUsa0JBQWtCLEdBQWUsS0FBSyxtQkFBcEIsRUFBRSxRQUFRLEdBQUssS0FBSyxTQUFWLENBQVc7SUFFbEksT0FBTyxrQkFBUyxTQUFTLEVBQUUscUJBQWMsU0FBUyxDQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsc0JBQW1CLFFBQVEsRUFBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFDLFFBQVEsWUFDakgsY0FBSyxTQUFTLEVBQUUscUVBQThELFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBQyxVQUFVLFlBQzFHLGVBQUssU0FBUyxFQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsTUFBQSxLQUFLLENBQUMsTUFBTSxtQ0FBSSxNQUFNLEVBQUMsYUFDckYsZUFBSyxTQUFTLEVBQUMsY0FBYyxhQUMzQixhQUFJLFNBQVMsRUFBQyxhQUFhLFlBQUUsS0FBSyxHQUFNLEVBQ3ZDLENBQUMsa0JBQWtCLElBQUksaUJBQVEsSUFBSSxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsV0FBVyxxQkFBaUIsT0FBTyxHQUFHLElBQzFGLEVBQ04sY0FBSyxTQUFTLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsWUFDaEQsUUFBUSxHQUNMLElBQ0YsR0FDRixHQUNFLENBQUE7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxFQUFVO0lBQzVCLElBQUEsS0FBc0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFwQyxPQUFPLFFBQUEsRUFBRSxRQUFRLFFBQW1CLENBQUM7SUFFNUMsU0FBUyxDQUFDO1FBQ1IsSUFBSSxPQUFPLEVBQUU7WUFDWCxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxjQUFRLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVkLE9BQU87UUFDTCxPQUFPLFNBQUE7UUFDUCxJQUFJLEVBQUUsY0FBTSxPQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBZCxDQUFjO1FBQzFCLElBQUksRUFBRSxjQUFNLE9BQUEsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFmLENBQWU7S0FDNUIsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,21 @@
1
+ import { ReactElement } from 'react';
2
+ type DropdownProps = {
3
+ options: any[];
4
+ value: any[];
5
+ onChange?: (value: any[]) => void;
6
+ displayField?: string;
7
+ valueField?: string;
8
+ multiple?: boolean;
9
+ defaultText?: string;
10
+ separator?: string;
11
+ rightAligned?: boolean;
12
+ searchBox?: boolean;
13
+ buttonClass?: string;
14
+ buttonStyle?: any;
15
+ className?: string;
16
+ entireList?: boolean;
17
+ itemRenderer?: (value: any, record: any, index: number) => ReactElement;
18
+ renderer?: (value: any, record: any, index: number) => string | ReactElement;
19
+ };
20
+ export declare function Dropdown(props: DropdownProps): import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect, Fragment } from 'react';
3
+ import { classNames } from '../util';
4
+ export function Dropdown(props) {
5
+ var _a = props.displayField, displayField = _a === void 0 ? 'name' : _a, _b = props.valueField, valueField = _b === void 0 ? 'value' : _b, _c = props.entireList, entireList = _c === void 0 ? false : _c, _d = useState(''), searchFilter = _d[0], setSearchFilter = _d[1], _e = useState(props.options || []), options = _e[0], setOptions = _e[1], _f = useState(props.value || []), selection = _f[0], setSelection = _f[1];
6
+ useEffect(function () { return setSelection((props === null || props === void 0 ? void 0 : props.value) || []); }, [props.value]);
7
+ useEffect(function () { return setOptions((props === null || props === void 0 ? void 0 : props.options) || []); }, [props.options]);
8
+ function displayText() {
9
+ var _a, _b;
10
+ return "".concat((_a = props.defaultText) !== null && _a !== void 0 ? _a : 'Select').concat((_b = props.separator) !== null && _b !== void 0 ? _b : ': ').concat(selection.map(function (item) { return item[displayField]; }).join(','));
11
+ }
12
+ function isSelected(opt) {
13
+ return selection.findIndex(function (item) { return item[valueField] === opt[valueField]; }) > -1;
14
+ }
15
+ function select(opt) {
16
+ var opts = [];
17
+ if (!props.multiple) {
18
+ opts = [opt];
19
+ }
20
+ else if (isSelected(opt)) {
21
+ opts = selection.filter(function (item) { return item[valueField] !== opt[valueField]; });
22
+ }
23
+ else {
24
+ opts = options.filter(function (item) { return isSelected(item) || item[valueField] === opt[valueField]; });
25
+ }
26
+ setSelection(opts);
27
+ props.onChange && props.onChange(opts);
28
+ }
29
+ return _jsxs("div", { className: classNames('dropdown', props.className), children: [_jsx("span", { className: classNames('dropdown-toggle cursor-pointer', props.buttonClass), style: props.buttonStyle, "data-bs-toggle": "dropdown", children: displayText() }), _jsxs("div", { className: classNames('dropdown-menu p-0', { 'dropdown-menu-right': props.rightAligned }), children: [props.searchBox && _jsx("div", { className: "p-1 border-bottom", children: _jsx("input", { type: "text", className: "form-control form-control-sm", name: "searchFilter", placeholder: "Search...", value: searchFilter, onChange: function (event) { return setSearchFilter(event.target.value); } }) }), _jsx("div", { className: classNames({ 'dropdown-item-list': !entireList }), children: options.map(function (opt, index) {
30
+ if (searchFilter && !opt[displayField].toLowerCase().startsWith(searchFilter.toLowerCase()))
31
+ return null;
32
+ if (props.itemRenderer) {
33
+ return _jsx(Fragment, { children: props.itemRenderer(opt[displayField], opt, index) }, opt[valueField]);
34
+ }
35
+ return _jsx("div", { onClick: function () { return select(opt); }, role: "button", className: classNames('dropdown-item', { active: isSelected(opt) }), children: props.renderer ? props.renderer(opt[displayField], opt, index) : opt[displayField] }, opt[valueField]);
36
+ }) })] })] });
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24uY29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBc0JyQyxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQW9CO0lBQ25DLElBQUEsS0FBb0UsS0FBSyxhQUFwRCxFQUFyQixZQUFZLG1CQUFHLE1BQU0sS0FBQSxFQUFFLEtBQTZDLEtBQUssV0FBOUIsRUFBcEIsVUFBVSxtQkFBRyxPQUFPLEtBQUEsRUFBRSxLQUF1QixLQUFLLFdBQVYsRUFBbEIsVUFBVSxtQkFBRyxLQUFLLEtBQUEsRUFDakUsS0FBa0MsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUE3QyxZQUFZLFFBQUEsRUFBRSxlQUFlLFFBQUEsRUFDOUIsS0FBd0IsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQXBELE9BQU8sUUFBQSxFQUFFLFVBQVUsUUFBQSxFQUNwQixLQUE0QixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBdEQsU0FBUyxRQUFBLEVBQUUsWUFBWSxRQUErQixDQUFDO0lBRTlELFNBQVMsQ0FBQyxjQUFNLE9BQUEsWUFBWSxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssS0FBSSxFQUFFLENBQUMsRUFBaEMsQ0FBZ0MsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ2hFLFNBQVMsQ0FBQyxjQUFNLE9BQUEsVUFBVSxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sS0FBSSxFQUFF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
@@ -0,0 +1,8 @@
1
+ import { GridColumnProps } from './types';
2
+ interface GridCellProps extends GridColumnProps {
3
+ value: any;
4
+ rowIndex?: number;
5
+ colIndex?: number;
6
+ }
7
+ export declare function GridCell(props: GridCellProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,29 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
24
+ import { classNames } from '../../util';
25
+ export function GridCell(props) {
26
+ var headerName = props.headerName, field = props.field, value = props.value, rowIndex = props.rowIndex, colIndex = props.colIndex, className = props.className, others = __rest(props, ["headerName", "field", "value", "rowIndex", "colIndex", "className"]), cls = classNames('rosie-grid-cell p-2', className);
27
+ return _jsx(_Fragment, { children: _jsx("div", __assign({ className: cls }, others, { children: value })) });
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzL3NyYy9jb21wb25lbnRzL2dyaWQvZ3JpZC1jZWxsLmNvbXBvbmVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBVXhDLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBb0I7SUFDbkMsSUFBQSxVQUFVLEdBQTZELEtBQUssV0FBbEUsRUFBRSxLQUFLLEdBQXNELEtBQUssTUFBM0QsRUFBRSxLQUFLLEdBQStDLEtBQUssTUFBcEQsRUFBRSxRQUFRLEdBQXFDLEtBQUssU0FBMUMsRUFBRSxRQUFRLEdBQTJCLEtBQUssU0FBaEMsRUFBRSxTQUFTLEdBQWdCLEtBQUssVUFBckIsRUFBSyxNQUFNLFVBQUssS0FBSyxFQUE5RSxxRUFBc0UsQ0FBRixFQUNwRSxHQUFHLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBdUJ6RCxPQUFPLDRCQUNMLHVCQUFLLFNBQVMsRUFBRSxHQUFHLElBQU0sTUFBTSxjQUFHLEtBQUssSUFBTyxHQU03QyxDQUFBO0FBQ0wsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHMvc3JjL2NvbXBvbmVudHMvZ3JpZC9ncmlkLWhlYWRlci5jb21wb25lbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,3 @@
1
+ import { GridColumnProps, GridProps } from './types';
2
+ export declare function GridColumn(_: GridColumnProps): null;
3
+ export declare function Grid(props: GridProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,28 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useState, useEffect, Children } from 'react';
14
+ import { SCROLLBAR_WIDTH, classNames, guid } from '../../util';
15
+ import { GridCell } from './grid-cell.component';
16
+ export function GridColumn(_) { return null; }
17
+ export function Grid(props) {
18
+ var gridId = useState(guid('rosie-grid-'))[0], _a = useState([]), columns = _a[0], setColumns = _a[1], _b = useState([]), data = _b[0], setData = _b[1];
19
+ useEffect(function () { var _a; setData((_a = props.data) !== null && _a !== void 0 ? _a : []); }, [props.data]);
20
+ useEffect(function () {
21
+ var columns = Children.toArray(props.children).map(function (child) { return child.props; });
22
+ setColumns(columns);
23
+ }, [props.children]);
24
+ return _jsx("div", { id: gridId, className: classNames('rosie-grid rosie-grid-bordered rosie-grid-striped rosie-grid-hover d-flex flex-row fullscreen', props.className), children: _jsxs("div", { className: "rosie-grid-viewport d-flex flex-column fullscreen", children: [_jsx("div", { className: classNames('rosie-grid-header d-flex flex-column fw-bold bg-light'), children: _jsxs("div", { className: "rosie-grid-row d-flex flex-row", children: [columns.map(function (col, index) { var _a; return _jsx(GridCell, __assign({}, col, { value: (_a = col.headerName) !== null && _a !== void 0 ? _a : col.field }), index); }), _jsx("div", { style: { width: SCROLLBAR_WIDTH } })] }) }), _jsx("div", { className: classNames('rosie-grid-body d-flex flex-column fullscreen overflow-auto-x overflow-scroll-y'), children: _jsxs("div", { children: [(!data || !data.length) && _jsx("div", { className: "p-2", children: "No record found." }), (data === null || data === void 0 ? void 0 : data.length) > 0 && data.map(function (item, rowIndex) {
25
+ return _jsx("div", { className: "rosie-grid-row d-flex flex-row", children: columns.map(function (col, colIndex) { return _jsx(GridCell, __assign({}, col, { value: item[col.field], rowIndex: rowIndex, colIndex: colIndex }), colIndex); }) }, rowIndex);
26
+ })] }) })] }) });
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9zcmMvY29tcG9uZW50cy9ncmlkL2dyaWQuY29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQWtCLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBZ0I7SUFDNUIsSUFBQSxNQUFNLEdBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFqQyxFQUNQLEtBQXdCLFFBQVEsQ0FBQyxFQUF1QixDQUFDLEVBQXhELE9BQU8sUUFBQSxFQUFFLFVBQVUsUUFBQSxFQUNwQixLQUFrQixRQUFRLENBQVEsRUFBRSxDQUFDLEVBQXBDLElBQUksUUFBQSxFQUFFLE9BQU8sUUFBdUIsQ0FBQztJQWM1QyxTQUFTLENBQUMsc0JBQVEsT0FBTyxDQUFDLE1BQUEsS0FBSyxDQUFDLElBQUksbUNBQUksRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUU1RCxTQUFTLENBQUM7UUFDUixJQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFVLElBQUssT0FBQSxLQUFLLENBQUMsS0FBd0IsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDO1FBQ3JHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUVwQixPQUFPLGNBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLCtGQUErRixFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFDN0osZUFBSyxTQUFTLEVBQUMsbURBQW1ELGFBQ2hFLGNBQUssU0FBUyxFQUFFLFVBQVUsQ0FBQyx1REFBdUQsQ0FBQyxZQUNqRixlQUFLLFNBQVMsRUFBQyxnQ0FBZ0MsYUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFDLEdBQW9CLEVBQUUsS0FBSyxZQUFLLE9BQUEsS0FBQyxRQUFRLGVBQWlCLEdBQUcsSUFBRSxLQUFLLEVBQUUsTUFBQSxHQUFHLENBQUMsVUFBVSxtQ0FBSSxHQUFHLENBQUMsS0FBSyxLQUFsRCxLQUFLLENBQWlELENBQUEsRUFBQSxDQUFDLEVBQ3BILGNBQUssS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFDLGVBQWUsRUFBQyxHQUFJLElBQ25DLEdBQ0YsRUFDTixjQUFLLFNBQVMsRUFBRSxVQUFVLENBQUMsaUZBQWlGLENBQUMsWUFDM0csMEJBQ0csQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFLLFNBQVMsRUFBQyxLQUFLLGlDQUF1QixFQUN0RSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxNQUFNLElBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFJLEVBQUUsUUFBUTtnQ0FDM0MsT0FBTyxjQUFvQixTQUFTLEVBQUMsZ0NBQWdDLFlBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxHQUFvQixFQUFFLFFBQVEsSUFBSyxPQUFBLEtBQUMsUUFBUSxlQUFvQixHQUFHLElBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxLQUFqRixRQUFRLENBQTZFLEVBQXBHLENBQW9HLENBQUMsSUFEdkksUUFBUSxDQUVuQixDQUFBOzRCQUNSLENBQUMsQ0FBQyxJQUNFLEdBQ0YsSUFDRixHQUNGLENBQUE7QUFDUixDQUFDIn0=
@@ -0,0 +1 @@
1
+ export * from './grid.component';
@@ -0,0 +1,2 @@
1
+ export * from './grid.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9zcmMvY29tcG9uZW50cy9ncmlkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ import { PropsWithChildren, HTMLAttributes } from 'react';
2
+ export interface GridProps extends PropsWithChildren<any> {
3
+ }
4
+ export interface GridColumnProps extends HTMLAttributes<HTMLDivElement> {
5
+ field: string;
6
+ headerName?: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9zcmMvY29tcG9uZW50cy9ncmlkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,4 @@
1
+ export * from './dialog.component';
2
+ export * from './dropdown.component';
3
+ export * from './date-picker.component';
4
+ export * from './grid';
@@ -0,0 +1,5 @@
1
+ export * from './dialog.component';
2
+ export * from './dropdown.component';
3
+ export * from './date-picker.component';
4
+ export * from './grid';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLFFBQVEsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ export * from './components/dialog.component';
2
+ export * from './components/dropdown.component';
3
+ export * from './components/date-picker.component';
4
+ export * from './components/grid';
@@ -0,0 +1,5 @@
1
+ export * from './components/dialog.component';
2
+ export * from './components/dropdown.component';
3
+ export * from './components/date-picker.component';
4
+ export * from './components/grid';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3NyYy9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUJBQW1CLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ import { AjaxSettings } from './types';
2
+ export declare const Ajax: {
3
+ request: <T = any>(settings: AjaxSettings) => Promise<T>;
4
+ };
@@ -0,0 +1,85 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ export var Ajax = {
38
+ request: function (settings) { return __awaiter(void 0, void 0, void 0, function () {
39
+ var _a, method, _b, params, url, config, res, _c, _d, _e, _f;
40
+ var _g;
41
+ return __generator(this, function (_h) {
42
+ switch (_h.label) {
43
+ case 0:
44
+ _a = settings.method, method = _a === void 0 ? 'get' : _a, _b = settings.params, params = _b === void 0 ? {} : _b;
45
+ url = settings.url;
46
+ if (params.pathParams) {
47
+ Object.entries(params.pathParams).forEach(function (_a) {
48
+ var key = _a[0], value = _a[1];
49
+ return url = url.replace("{".concat(key, "}"), value);
50
+ });
51
+ }
52
+ if (params.queryParams) {
53
+ url = "".concat(url, "?").concat(Object.entries(params.queryParams).filter(function (_a) {
54
+ var _key = _a[0], value = _a[1];
55
+ return !!value;
56
+ }).map(function (_a) {
57
+ var key = _a[0], value = _a[1];
58
+ return "".concat(key, "=").concat(value);
59
+ }).join('&'));
60
+ }
61
+ config = { method: method, headers: [['Accept', 'application/json'], ['Content-Type', 'application/json; charset=utf-8']] };
62
+ params.body && (config.body = JSON.stringify(params.body));
63
+ return [4, fetch(url, config)];
64
+ case 1:
65
+ res = _h.sent();
66
+ if (!!res.ok) return [3, 3];
67
+ _c = Error.bind;
68
+ _e = (_d = JSON).stringify;
69
+ _g = { code: res.status, message: res.statusText };
70
+ return [4, res.text()];
71
+ case 2: throw new (_c.apply(Error, [void 0, _e.apply(_d, [(_g.innerError = _h.sent(), _g)])]))();
72
+ case 3:
73
+ _h.trys.push([3, 5, , 7]);
74
+ return [4, res.json()];
75
+ case 4: return [2, _h.sent()];
76
+ case 5:
77
+ _f = _h.sent();
78
+ return [4, res.text()];
79
+ case 6: return [2, _h.sent()];
80
+ case 7: return [2];
81
+ }
82
+ });
83
+ }); },
84
+ };
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWpheC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL3NyYy9jb3JlL2FqYXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTSxDQUFDLElBQU0sSUFBSSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxVQUFnQixRQUFzQjs7Ozs7O29CQUNyQyxLQUFnQyxRQUFRLE9BQTFCLEVBQWQsTUFBTSxtQkFBRyxLQUFLLEtBQUEsRUFBRSxLQUFnQixRQUFRLE9BQWIsRUFBWCxNQUFNLG1CQUFHLEVBQUUsS0FBQSxDQUFjO29CQUMzQyxHQUFHLEdBQUssUUFBUSxJQUFiLENBQWM7b0JBRXZCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTt3QkFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUMsRUFBVztnQ0FBVixHQUFHLFFBQUEsRUFBQyxLQUFLLFFBQUE7NEJBQU0sT0FBQSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFJLEdBQUcsTUFBRyxFQUFFLEtBQUssQ0FBQzt3QkFBcEMsQ0FBb0MsQ0FBQyxDQUFBO3FCQUNqRztvQkFFRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7d0JBQ3RCLEdBQUcsR0FBRyxVQUFHLEdBQUcsY0FBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxFQUFZO2dDQUFYLElBQUksUUFBQSxFQUFDLEtBQUssUUFBQTs0QkFBTSxPQUFBLENBQUMsQ0FBQyxLQUFLO3dCQUFQLENBQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQVc7Z0NBQVYsR0FBRyxRQUFBLEVBQUMsS0FBSyxRQUFBOzRCQUFNLE9BQUEsVUFBRyxHQUFHLGNBQUksS0FBSyxDQUFFO3dCQUFqQixDQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFLENBQUE7cUJBQ3pJO29CQUVLLE1BQU0sR0FBZ0IsRUFBRSxNQUFNLFFBQUEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxFQUFDLENBQUMsY0FBYyxFQUFFLGlDQUFpQyxDQUFDLENBQUMsRUFBRSxDQUFBO29CQUNySSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUUvQyxXQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUE7O29CQUE5QixHQUFHLEdBQUcsU0FBd0I7eUJBQ2hDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBUCxjQUFPO3lCQUNDLEtBQUs7b0JBQUMsS0FBQSxDQUFBLEtBQUEsSUFBSSxDQUFBLENBQUMsU0FBUyxDQUFBOzJCQUFHLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsVUFBVTtvQkFBYyxXQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBQTt3QkFBeEcsTUFBTSxjQUFJLEtBQUssV0FBQyxlQUE0RCxhQUFVLEdBQUUsU0FBZ0IsT0FBRyxLQUFDLENBQUE7OztvQkFJckcsV0FBTSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUE7d0JBQXZCLFdBQU8sU0FBZ0IsRUFBQzs7O29CQUVqQixXQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBQTt3QkFBdkIsV0FBTyxTQUFxQixFQUFDOzs7O1NBRWhDO0NBQ0YsQ0FBQSJ9
@@ -0,0 +1,14 @@
1
+ declare class Cache {
2
+ private type;
3
+ private cacheData;
4
+ constructor(type: string);
5
+ private hasLocalStorage;
6
+ private hasSessionStorage;
7
+ get(key: string): string | undefined;
8
+ set(key: string, value: string): void;
9
+ remove(key: string): void;
10
+ }
11
+ export declare const LocalCache: Cache;
12
+ export declare const SessionCache: Cache;
13
+ export declare const MemoryCache: Cache;
14
+ export {};
@@ -0,0 +1,65 @@
1
+ var CacheType = {
2
+ Local: 'localStorage',
3
+ Session: 'sessionStorage',
4
+ Memory: 'memory',
5
+ };
6
+ var Cache = (function () {
7
+ function Cache(type) {
8
+ this.type = type;
9
+ this.cacheData = {};
10
+ }
11
+ Cache.prototype.hasLocalStorage = function () {
12
+ try {
13
+ return 'localStorage' in window && window.localStorage !== null;
14
+ }
15
+ catch (e) {
16
+ return false;
17
+ }
18
+ };
19
+ Cache.prototype.hasSessionStorage = function () {
20
+ try {
21
+ return 'sessionStorage' in window && window.sessionStorage !== null;
22
+ }
23
+ catch (e) {
24
+ return false;
25
+ }
26
+ };
27
+ Cache.prototype.get = function (key) {
28
+ if (this.type === CacheType.Local && this.hasLocalStorage()) {
29
+ return localStorage.getItem(key) || undefined;
30
+ }
31
+ else if (this.type === CacheType.Session && this.hasSessionStorage()) {
32
+ return sessionStorage.getItem(key) || undefined;
33
+ }
34
+ else {
35
+ return this.cacheData[key] || undefined;
36
+ }
37
+ };
38
+ Cache.prototype.set = function (key, value) {
39
+ if (this.type === CacheType.Local && this.hasLocalStorage()) {
40
+ localStorage.setItem(key, value);
41
+ }
42
+ else if (this.type === CacheType.Session && this.hasSessionStorage()) {
43
+ sessionStorage.setItem(key, value);
44
+ }
45
+ else {
46
+ this.cacheData[key] = value;
47
+ }
48
+ };
49
+ Cache.prototype.remove = function (key) {
50
+ if (this.type === CacheType.Local && this.hasLocalStorage()) {
51
+ localStorage.removeItem(key);
52
+ }
53
+ else if (this.type === CacheType.Session && this.hasSessionStorage()) {
54
+ sessionStorage.removeItem(key);
55
+ }
56
+ else {
57
+ delete this.cacheData[key];
58
+ }
59
+ };
60
+ return Cache;
61
+ }());
62
+ export var LocalCache = new Cache(CacheType.Local);
63
+ export var SessionCache = new Cache(CacheType.Session);
64
+ export var MemoryCache = new Cache(CacheType.Memory);
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvY29yZS9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFNLFNBQVMsR0FBRztJQUNoQixLQUFLLEVBQUUsY0FBYztJQUNyQixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLE1BQU0sRUFBRSxRQUFRO0NBQ2pCLENBQUE7QUFFRDtJQUdFLGVBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBRnhCLGNBQVMsR0FBNkIsRUFBRSxDQUFDO0lBRWIsQ0FBQztJQUU3QiwrQkFBZSxHQUF2QjtRQUNFLElBQUk7WUFDRixPQUFPLGNBQWMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUM7U0FDakU7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRU8saUNBQWlCLEdBQXpCO1FBQ0UsSUFBSTtZQUNGLE9BQU8sZ0JBQWdCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDO1NBQ3JFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELG1CQUFHLEdBQUgsVUFBSSxHQUFXO1FBQ2IsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUM7U0FDL0M7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUN0RSxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELG1CQUFHLEdBQUgsVUFBSSxHQUFXLEVBQUUsS0FBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDM0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbEM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUN0RSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsc0JBQU0sR0FBTixVQUFPLEdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNELFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUI7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUN0RSxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBQ0gsWUFBQztBQUFELENBQUMsQUFsREQsSUFrREM7QUFFRCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxJQUFNLFlBQVksR0FBRyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekQsTUFBTSxDQUFDLElBQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ export * from './types';
2
+ export * from './cache';
3
+ export * from './ajax';
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export * from './cache';
3
+ export * from './ajax';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQyJ9
@@ -0,0 +1,15 @@
1
+ export interface Dictionary<T> {
2
+ [index: string]: T;
3
+ }
4
+ export type HttpMethod = 'get' | 'post' | 'put' | 'delete';
5
+ export type HttpParams = {
6
+ pathParams?: Dictionary<any>;
7
+ queryParams?: Dictionary<any>;
8
+ body?: any;
9
+ headers?: Dictionary<any>;
10
+ };
11
+ export type AjaxSettings = {
12
+ url: string;
13
+ method?: HttpMethod;
14
+ params?: HttpParams;
15
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zcmMvY29yZS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=