@docsplain-kit/utilities 0.0.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/LICENSE +21 -0
- package/README.md +214 -0
- package/calendar/calendar.d.ts +3 -0
- package/calendar/calendar.js +125 -0
- package/calendar/calendar.js.map +1 -0
- package/calendar/config/chunk.d.ts +1 -0
- package/calendar/config/chunk.js +44 -0
- package/calendar/config/chunk.js.map +1 -0
- package/calendar/config/create-date-range.d.ts +5 -0
- package/calendar/config/create-date-range.js +17 -0
- package/calendar/config/create-date-range.js.map +1 -0
- package/calendar/config/days-in-month.d.ts +13 -0
- package/calendar/config/days-in-month.js +43 -0
- package/calendar/config/days-in-month.js.map +1 -0
- package/calendar/config/index.d.ts +5 -0
- package/calendar/config/index.js +10 -0
- package/calendar/config/index.js.map +1 -0
- package/calendar/config/months.d.ts +5 -0
- package/calendar/config/months.js +18 -0
- package/calendar/config/months.js.map +1 -0
- package/calendar/config/subtract-datetime.d.ts +8 -0
- package/calendar/config/subtract-datetime.js +10 -0
- package/calendar/config/subtract-datetime.js.map +1 -0
- package/calendar/config/week-day.d.ts +6 -0
- package/calendar/config/week-day.js +10 -0
- package/calendar/config/week-day.js.map +1 -0
- package/calendar/icons/arrow-left-icon.d.ts +2 -0
- package/calendar/icons/arrow-left-icon.js +9 -0
- package/calendar/icons/arrow-left-icon.js.map +1 -0
- package/calendar/icons/arrow-right-icon.d.ts +2 -0
- package/calendar/icons/arrow-right-icon.js +9 -0
- package/calendar/icons/arrow-right-icon.js.map +1 -0
- package/calendar/icons/checkmark-icon.d.ts +2 -0
- package/calendar/icons/checkmark-icon.js +9 -0
- package/calendar/icons/checkmark-icon.js.map +1 -0
- package/calendar/icons/index.d.ts +4 -0
- package/calendar/icons/index.js +11 -0
- package/calendar/icons/index.js.map +1 -0
- package/calendar/index.d.ts +2 -0
- package/calendar/index.js +6 -0
- package/calendar/index.js.map +1 -0
- package/calendar/shared/format-date.d.ts +1 -0
- package/calendar/shared/format-date.js +16 -0
- package/calendar/shared/format-date.js.map +1 -0
- package/calendar/sub-components/day/day.d.ts +2 -0
- package/calendar/sub-components/day/day.js +18 -0
- package/calendar/sub-components/day/day.js.map +1 -0
- package/calendar/sub-components/days/days.d.ts +3 -0
- package/calendar/sub-components/days/days.js +70 -0
- package/calendar/sub-components/days/days.js.map +1 -0
- package/calendar/sub-components/days/days.style.d.ts +7 -0
- package/calendar/sub-components/days/days.style.js +11 -0
- package/calendar/sub-components/days/days.style.js.map +1 -0
- package/calendar/sub-components/days-head/days-head.d.ts +3 -0
- package/calendar/sub-components/days-head/days-head.js +55 -0
- package/calendar/sub-components/days-head/days-head.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +9 -0
- package/index.js.map +1 -0
- package/package.json +53 -0
- package/right-click-menu/index.d.ts +2 -0
- package/right-click-menu/index.js +6 -0
- package/right-click-menu/index.js.map +1 -0
- package/right-click-menu/menu-item/index.d.ts +2 -0
- package/right-click-menu/menu-item/index.js +6 -0
- package/right-click-menu/menu-item/index.js.map +1 -0
- package/right-click-menu/menu-item/menu-item.d.ts +6 -0
- package/right-click-menu/menu-item/menu-item.js +36 -0
- package/right-click-menu/menu-item/menu-item.js.map +1 -0
- package/right-click-menu/right-click-menu.d.ts +3 -0
- package/right-click-menu/right-click-menu.js +37 -0
- package/right-click-menu/right-click-menu.js.map +1 -0
- package/setupTests.d.ts +1 -0
- package/setupTests.js +8 -0
- package/setupTests.js.map +1 -0
- package/utiles/class-names.d.ts +2 -0
- package/utiles/class-names.js +11 -0
- package/utiles/class-names.js.map +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 DocSplain <info@docsplain.ca>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
20
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# @docsplain-kit/utilities
|
|
2
|
+
|
|
3
|
+
A collection of modern React UI utilities built with TypeScript and Tailwind CSS. This package provides reusable components for common UI patterns including Calendar and RightClickMenu.
|
|
4
|
+
|
|
5
|
+
## 🚀 Features
|
|
6
|
+
|
|
7
|
+
- **📅 Calendar Component**: Interactive date picker with single date and range selection
|
|
8
|
+
- **🖱️ RightClickMenu Component**: Context menu with customizable options
|
|
9
|
+
- **⚡ TypeScript Support**: Full type safety and IntelliSense
|
|
10
|
+
- **🎨 Tailwind CSS**: Modern styling with utility classes
|
|
11
|
+
- **📱 Responsive Design**: Mobile-first approach
|
|
12
|
+
- **♿ Accessibility**: WCAG compliant components
|
|
13
|
+
|
|
14
|
+
## 📦 Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @docsplain-kit/utilities
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 🎯 Quick Start
|
|
21
|
+
|
|
22
|
+
### Calendar Component
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
import React from 'react';
|
|
26
|
+
import { Calendar } from '@docsplain-kit/utilities';
|
|
27
|
+
|
|
28
|
+
function App() {
|
|
29
|
+
const handleDateChange = (event) => {
|
|
30
|
+
console.log('Selected date:', event.calendarDate);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<Calendar
|
|
35
|
+
variant="simple"
|
|
36
|
+
selectedDate={new Date()}
|
|
37
|
+
onChange={handleDateChange}
|
|
38
|
+
size="medium"
|
|
39
|
+
/>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Range Selection Calendar
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
import React from 'react';
|
|
48
|
+
import { Calendar } from '@docsplain-kit/utilities';
|
|
49
|
+
|
|
50
|
+
function App() {
|
|
51
|
+
const handleRangeChange = (event) => {
|
|
52
|
+
console.log('Start:', event.start?.calendarDate);
|
|
53
|
+
console.log('End:', event.end?.calendarDate);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<Calendar
|
|
58
|
+
variant="range"
|
|
59
|
+
selectedDate={new Date()}
|
|
60
|
+
onChange={handleRangeChange}
|
|
61
|
+
size="medium"
|
|
62
|
+
/>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### RightClickMenu Component
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
import React from 'react';
|
|
71
|
+
import { RightClickMenu } from '@docsplain-kit/utilities';
|
|
72
|
+
|
|
73
|
+
const menuItems = [
|
|
74
|
+
{ label: 'Copy', onClick: () => console.log('Copy') },
|
|
75
|
+
{ label: 'Paste', onClick: () => console.log('Paste') },
|
|
76
|
+
{ label: 'Delete', onClick: () => console.log('Delete') },
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
function App() {
|
|
80
|
+
return (
|
|
81
|
+
<RightClickMenu menuItems={menuItems}>
|
|
82
|
+
<div>Right-click me!</div>
|
|
83
|
+
</RightClickMenu>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## 📚 API Reference
|
|
89
|
+
|
|
90
|
+
### Calendar Props
|
|
91
|
+
|
|
92
|
+
| Prop | Type | Default | Description |
|
|
93
|
+
|------|------|---------|-------------|
|
|
94
|
+
| `variant` | `'simple' \| 'range'` | `'simple'` | Calendar interaction type |
|
|
95
|
+
| `selectedDate` | `Date` | `new Date()` | Initially selected date |
|
|
96
|
+
| `dateFormat` | `string` | `'YYYY-MM-DD'` | Date format for display |
|
|
97
|
+
| `size` | `'tiny' \| 'small' \| 'medium' \| 'large' \| 'huge'` | `'medium'` | Calendar size |
|
|
98
|
+
| `holidays` | `string[]` | `[]` | Array of holiday dates |
|
|
99
|
+
| `disablePreviousMonths` | `boolean` | `false` | Disable previous month navigation |
|
|
100
|
+
| `disableSubsequentMonths` | `boolean` | `false` | Disable next month navigation |
|
|
101
|
+
| `disablePreviousDays` | `boolean` | `false` | Disable past date selection |
|
|
102
|
+
| `disableSubsequentDays` | `boolean` | `false` | Disable future date selection |
|
|
103
|
+
| `onChange` | `(event: CalendarEvent) => void` | - | Date selection callback |
|
|
104
|
+
| `dateRange` | `string[]` | `[]` | Pre-selected date range |
|
|
105
|
+
| `defaultDaysSelected` | `number` | - | Default number of days for range |
|
|
106
|
+
| `canSelectYear` | `boolean` | `true` | Enable year selection |
|
|
107
|
+
| `canSelectMonth` | `boolean` | `true` | Enable month selection |
|
|
108
|
+
| `showGoToToday` | `boolean` | `false` | Show "Go to Today" button |
|
|
109
|
+
|
|
110
|
+
### RightClickMenu Props
|
|
111
|
+
|
|
112
|
+
| Prop | Type | Default | Description |
|
|
113
|
+
|------|------|---------|-------------|
|
|
114
|
+
| `menuItems` | `MenuItem[]` | `[]` | Array of menu items |
|
|
115
|
+
| `wrapperClassName` | `string` | - | Custom wrapper class |
|
|
116
|
+
| `className` | `string` | - | Custom menu class |
|
|
117
|
+
| `headerInfo` | `ReactNode` | - | Header content for menu |
|
|
118
|
+
|
|
119
|
+
### MenuItem Type
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
interface MenuItem {
|
|
123
|
+
label: string;
|
|
124
|
+
onClick: () => void;
|
|
125
|
+
disabled?: boolean;
|
|
126
|
+
submenu?: MenuItem[];
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 🎨 Styling
|
|
131
|
+
|
|
132
|
+
This package uses Tailwind CSS for styling. Make sure to include Tailwind CSS in your project:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
npm install tailwindcss
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Tailwind Configuration
|
|
139
|
+
|
|
140
|
+
```js
|
|
141
|
+
// tailwind.config.js
|
|
142
|
+
const withUiKit = require('@docsplain-kit/core/withUiKit');
|
|
143
|
+
|
|
144
|
+
module.exports = withUiKit({
|
|
145
|
+
content: [
|
|
146
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
147
|
+
'./node_modules/@docsplain-kit/utilities/**/*.{js,ts,jsx,tsx}',
|
|
148
|
+
],
|
|
149
|
+
// ... rest of your config
|
|
150
|
+
});
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## 📖 Storybook
|
|
154
|
+
|
|
155
|
+
This package includes Storybook for component documentation and testing:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Install dependencies
|
|
159
|
+
npm install
|
|
160
|
+
|
|
161
|
+
# Run Storybook locally
|
|
162
|
+
npm run dev:storybook
|
|
163
|
+
|
|
164
|
+
# Build Storybook for deployment
|
|
165
|
+
npm run build:storybook
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
The built Storybook will be available in the `storybook-static` directory and can be deployed to any static hosting service.
|
|
169
|
+
|
|
170
|
+
## 🛠️ Development
|
|
171
|
+
|
|
172
|
+
### Prerequisites
|
|
173
|
+
|
|
174
|
+
- Node.js 16+
|
|
175
|
+
- npm or yarn
|
|
176
|
+
|
|
177
|
+
### Setup
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# Clone the repository
|
|
181
|
+
git clone https://github.com/docsplain/docsplain-ui-utilities.git
|
|
182
|
+
|
|
183
|
+
# Install dependencies
|
|
184
|
+
npm install
|
|
185
|
+
|
|
186
|
+
# Run Storybook
|
|
187
|
+
npm run dev:storybook
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Building
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Build the package
|
|
194
|
+
npm run build
|
|
195
|
+
|
|
196
|
+
# Clean build artifacts
|
|
197
|
+
npm run clean
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## 📄 License
|
|
201
|
+
|
|
202
|
+
MIT © [Docsplain Company](https://github.com/docsplain)
|
|
203
|
+
|
|
204
|
+
## 🤝 Contributing
|
|
205
|
+
|
|
206
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
207
|
+
|
|
208
|
+
## 📞 Support
|
|
209
|
+
|
|
210
|
+
For support, email support@docsplain.ca or create an issue on GitHub.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
Made with ❤️ by the Docsplain team
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var days_1 = tslib_1.__importDefault(require("./sub-components/days/days"));
|
|
7
|
+
var config_1 = require("./config");
|
|
8
|
+
var format_date_1 = tslib_1.__importDefault(require("./shared/format-date"));
|
|
9
|
+
var core_1 = require("@docsplain-kit/core");
|
|
10
|
+
var react_date_object_1 = tslib_1.__importDefault(require("react-date-object"));
|
|
11
|
+
var create_date_range_1 = tslib_1.__importDefault(require("./config/create-date-range"));
|
|
12
|
+
var Calender = function (props) {
|
|
13
|
+
var _a = props.dateFormat, dateFormat = _a === void 0 ? 'YYYY-MM-DD' : _a, _b = props.selectedDate, selectedDate = _b === void 0 ? new Date() : _b, _c = props.disablePreviousMonths, disablePreviousMonths = _c === void 0 ? false : _c, _d = props.disableSubsequentMonths, disableSubsequentMonths = _d === void 0 ? false : _d, _e = props.disablePreviousDays, disablePreviousDays = _e === void 0 ? false : _e, _f = props.disableSubsequentDays, disableSubsequentDays = _f === void 0 ? false : _f, selected = props.selected, onChange = props.onChange, holidays = props.holidays, _g = props.variant, variant = _g === void 0 ? 'simple' : _g, _h = props.size, size = _h === void 0 ? 'medium' : _h, renderMonth = props.renderMonth, _j = props.disableHeaderActions, disableHeaderActions = _j === void 0 ? false : _j, showGoToToday = props.showGoToToday, defaultDaysSelected = props.defaultDaysSelected, _k = props.dateRange, dateRange = _k === void 0 ? [] : _k, _l = props.canSelectYear, canSelectYear = _l === void 0 ? true : _l, _m = props.canSelectMonth, canSelectMonth = _m === void 0 ? true : _m;
|
|
14
|
+
var initialViewDate = (0, react_1.useMemo)(function () { return new react_date_object_1["default"]({ date: (dateRange && dateRange.length ? dateRange[0] : selectedDate) }); }, [selectedDate, dateRange]);
|
|
15
|
+
var _o = (0, react_1.useState)(function () {
|
|
16
|
+
var _a = (0, config_1.daysInMonth)(initialViewDate, dateFormat), monthName = _a.monthName, month = _a.month, days = _a.days, year = _a.year;
|
|
17
|
+
return {
|
|
18
|
+
value: (0, format_date_1["default"])(selectedDate, dateFormat),
|
|
19
|
+
cloneDays: initialViewDate,
|
|
20
|
+
monthName: monthName,
|
|
21
|
+
month: month,
|
|
22
|
+
year: year,
|
|
23
|
+
days: days
|
|
24
|
+
};
|
|
25
|
+
}), datepicker = _o[0], setDatepicker = _o[1];
|
|
26
|
+
var _p = (0, react_1.useState)({
|
|
27
|
+
start: dateRange && dateRange.length ? dateRange[0] : null,
|
|
28
|
+
end: dateRange && dateRange.length ? dateRange[dateRange.length - 1] : null
|
|
29
|
+
}), dateRangePicker = _p[0], setDateRangePicker = _p[1];
|
|
30
|
+
var _q = (0, react_1.useState)([]), hoverRangeDates = _q[0], setHoverRangeDates = _q[1];
|
|
31
|
+
var _r = (0, react_1.useState)(dateRange && dateRange.length > 1
|
|
32
|
+
? (0, create_date_range_1["default"])({ startDate: dateRange[0], stopDate: dateRange[dateRange.length - 1] })
|
|
33
|
+
: []), rangeDates = _r[0], setRangeDates = _r[1];
|
|
34
|
+
var _s = (0, react_1.useState)(), holidayList = _s[0], setHolidayList = _s[1];
|
|
35
|
+
var goToToday = function () {
|
|
36
|
+
var date = new react_date_object_1["default"]({ date: selectedDate });
|
|
37
|
+
setDatepicker(function (prevState) {
|
|
38
|
+
var _a = (0, config_1.daysInMonth)(date, dateFormat), monthName = _a.monthName, month = _a.month, days = _a.days, year = _a.year;
|
|
39
|
+
return tslib_1.__assign(tslib_1.__assign({}, prevState), { year: year, monthName: monthName, month: month, days: days });
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
(0, react_1.useEffect)(function () {
|
|
43
|
+
if (holidays && holidays.length) {
|
|
44
|
+
var holidaysFormatList = holidays.map(function (item) { return new react_date_object_1["default"](item).format(dateFormat); });
|
|
45
|
+
setHolidayList(holidaysFormatList);
|
|
46
|
+
}
|
|
47
|
+
}, [holidays, dateFormat]);
|
|
48
|
+
(0, react_1.useEffect)(function () {
|
|
49
|
+
if (renderMonth) {
|
|
50
|
+
setDatepicker(function (prevState) {
|
|
51
|
+
var updatedCloneDays = prevState.cloneDays.add(renderMonth, 'month');
|
|
52
|
+
var _a = (0, config_1.daysInMonth)(updatedCloneDays, dateFormat), monthName = _a.monthName, month = _a.month, days = _a.days, year = _a.year;
|
|
53
|
+
return tslib_1.__assign(tslib_1.__assign({}, prevState), { year: year, monthName: monthName, month: month, days: days, cloneDays: updatedCloneDays });
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}, [renderMonth]);
|
|
57
|
+
// When an external dateRange is provided/updated, jump view to its start date
|
|
58
|
+
(0, react_1.useEffect)(function () {
|
|
59
|
+
if (dateRange && dateRange.length) {
|
|
60
|
+
var startDate_1 = new react_date_object_1["default"]({ date: dateRange[0] });
|
|
61
|
+
// sync internal range state from incoming prop
|
|
62
|
+
setDateRangePicker({
|
|
63
|
+
start: dateRange[0],
|
|
64
|
+
end: dateRange.length > 1 ? dateRange[dateRange.length - 1] : null
|
|
65
|
+
});
|
|
66
|
+
if (dateRange.length > 1) {
|
|
67
|
+
setRangeDates((0, create_date_range_1["default"])({ startDate: dateRange[0], stopDate: dateRange[dateRange.length - 1] }));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
setRangeDates([]);
|
|
71
|
+
}
|
|
72
|
+
setDatepicker(function (prevState) {
|
|
73
|
+
var _a = (0, config_1.daysInMonth)(startDate_1, dateFormat), monthName = _a.monthName, month = _a.month, days = _a.days, year = _a.year;
|
|
74
|
+
return tslib_1.__assign(tslib_1.__assign({}, prevState), { year: year, monthName: monthName, month: month, days: days, cloneDays: startDate_1 });
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}, [dateFormat, dateRange]);
|
|
78
|
+
var changeMonths = function (amount, changeType) {
|
|
79
|
+
setDatepicker(function (prevState) {
|
|
80
|
+
var updatedCloneDays = changeType === 'inc' ? prevState.cloneDays.add(amount, 'month') : prevState.cloneDays.setMonth(amount);
|
|
81
|
+
var _a = (0, config_1.daysInMonth)(updatedCloneDays, dateFormat), monthName = _a.monthName, month = _a.month, days = _a.days, year = _a.year;
|
|
82
|
+
return tslib_1.__assign(tslib_1.__assign({}, prevState), { year: year, monthName: monthName, month: month, days: days, cloneDays: updatedCloneDays });
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
var changeYear = function (selectedYear) {
|
|
86
|
+
setDatepicker(function (prevState) {
|
|
87
|
+
var updatedCloneDays = prevState.cloneDays.setYear(parseInt(selectedYear));
|
|
88
|
+
var _a = (0, config_1.daysInMonth)(updatedCloneDays, dateFormat), monthName = _a.monthName, month = _a.month, days = _a.days, year = _a.year;
|
|
89
|
+
return tslib_1.__assign(tslib_1.__assign({}, prevState), { year: year, monthName: monthName, month: month, days: days, cloneDays: updatedCloneDays });
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
var selectDay = function (e) {
|
|
93
|
+
var faDate = e.target.dataset.jalaliDate;
|
|
94
|
+
setDatepicker(function (prevState) { return (tslib_1.__assign(tslib_1.__assign({}, prevState), { value: faDate })); });
|
|
95
|
+
};
|
|
96
|
+
var daysEventListeners = function () {
|
|
97
|
+
return {
|
|
98
|
+
onClick: selectDay
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
var selectDateHandler = function (day) {
|
|
102
|
+
var gregorianDate = new react_date_object_1["default"]({ date: day.gregorianDate }).format(dateFormat);
|
|
103
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({ calendarDate: gregorianDate });
|
|
104
|
+
};
|
|
105
|
+
var selectDateRangeHandler = function (_a) {
|
|
106
|
+
var start = _a.start, end = _a.end;
|
|
107
|
+
setDateRangePicker({ start: start, end: end });
|
|
108
|
+
var gregorianStartDate = new react_date_object_1["default"]({ date: start }).format(dateFormat);
|
|
109
|
+
var gregorianEndDate = new react_date_object_1["default"]({ date: end }).format(dateFormat);
|
|
110
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
111
|
+
start: start ? { calendarDate: gregorianStartDate } : null,
|
|
112
|
+
end: end ? { calendarDate: gregorianEndDate } : null
|
|
113
|
+
});
|
|
114
|
+
if (start && end) {
|
|
115
|
+
var range = (0, create_date_range_1["default"])({ startDate: start, stopDate: end });
|
|
116
|
+
setRangeDates(range);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
setRangeDates([]);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
return ((0, jsx_runtime_1.jsxs)(core_1.Div, tslib_1.__assign({ className: 'items-center flex flex-col justify-center bg-white rounded py-2 !w-fit relative' }, { children: [(0, jsx_runtime_1.jsx)(days_1["default"], { days: datepicker.days, monthName: datepicker.monthName, year: datepicker.year, selectedDay: datepicker.value, disablePreviousMonths: disablePreviousMonths, disableSubsequentMonths: disableSubsequentMonths, disablePreviousDays: disablePreviousDays, disableSubsequentDays: disableSubsequentDays, daysEventListeners: daysEventListeners, selectDateHandlers: selectDateHandler, selectDateRangeHandlers: selectDateRangeHandler, selected: new react_date_object_1["default"]({ date: selected }).format(dateFormat), date: datepicker.cloneDays, increaseMonth: function () { return changeMonths(1, 'inc'); }, decreaseMonth: function () { return changeMonths(-1, 'inc'); }, changeMonth: function (monthIndex) { return changeMonths(monthIndex, 'select'); }, isDatePicker: true, dateFormat: dateFormat, holidays: holidayList, variant: variant, rangeDate: dateRangePicker, rangeDates: rangeDates, size: size, changeYear: changeYear, disableHeaderActions: disableHeaderActions, hoverRangeDates: hoverRangeDates, setHoverRangeDates: setHoverRangeDates, defaultDaysSelected: defaultDaysSelected, canSelectYear: canSelectYear, canSelectMonth: canSelectMonth }), showGoToToday ? ((0, jsx_runtime_1.jsx)(core_1.Button, tslib_1.__assign({ onClick: goToToday, fontType: 'medium', size: 'small', className: 'self-end', variant: 'text', color: 'control' }, { children: "go to today" }))) : null] })));
|
|
123
|
+
};
|
|
124
|
+
exports["default"] = Calender;
|
|
125
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../calendar/calendar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function chunk(array: any, size: any): any[];
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.chunk = void 0;
|
|
4
|
+
function slice(array, start, end) {
|
|
5
|
+
var length = array == null ? 0 : array.length;
|
|
6
|
+
if (!length) {
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
start = start == null ? 0 : start;
|
|
10
|
+
end = end === undefined ? length : end;
|
|
11
|
+
if (start < 0) {
|
|
12
|
+
start = -start > length ? 0 : length + start;
|
|
13
|
+
}
|
|
14
|
+
end = end > length ? length : end;
|
|
15
|
+
if (end < 0) {
|
|
16
|
+
end += length;
|
|
17
|
+
}
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
length = start > end ? 0 : (end - start) >>> 0;
|
|
20
|
+
start >>>= 0;
|
|
21
|
+
var index = 0;
|
|
22
|
+
var result = new Array(length);
|
|
23
|
+
while (index < length) {
|
|
24
|
+
result[index] = array[index + start];
|
|
25
|
+
index++;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
function chunk(array, size) {
|
|
30
|
+
size = Math.max(size, 0);
|
|
31
|
+
var length = array == null ? 0 : array.length;
|
|
32
|
+
if (!length || size < 1) {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
var index = 0;
|
|
36
|
+
var resIndex = 0;
|
|
37
|
+
var result = new Array(Math.ceil(length / size));
|
|
38
|
+
while (index <= length) {
|
|
39
|
+
result[resIndex++] = slice(array, index, (index += size));
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
exports.chunk = chunk;
|
|
44
|
+
//# sourceMappingURL=chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../../calendar/config/chunk.ts"],"names":[],"mappings":";;;AAAA,SAAS,KAAK,CAAC,KAAS,EAAE,KAAa,EAAE,GAAW;IAClD,IAAI,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IACD,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClC,GAAG,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAEvC,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,KAAK,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;KAC9C;IACD,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,EAAE;QACX,GAAG,IAAI,MAAM,CAAC;KACf;IACD,aAAa;IACb,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,CAAC;IAEb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,KAAK,GAAG,MAAM,EAAE;QACrB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QACrC,KAAK,EAAE,CAAC;KACT;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,KAAK,CAAC,KAAU,EAAE,IAAS;IACzC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACzB,IAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAChD,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,EAAE;QACvB,OAAO,EAAE,CAAC;KACX;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAM,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnD,OAAO,KAAK,IAAI,MAAM,EAAE;QACtB,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;KAC3D;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAdD,sBAcC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_date_object_1 = tslib_1.__importDefault(require("react-date-object"));
|
|
5
|
+
var createDateRange = function (_a) {
|
|
6
|
+
var startDate = _a.startDate, stopDate = _a.stopDate;
|
|
7
|
+
var dateArray = [];
|
|
8
|
+
var start = new react_date_object_1["default"](startDate);
|
|
9
|
+
var end = new react_date_object_1["default"](stopDate);
|
|
10
|
+
while (start <= end) {
|
|
11
|
+
dateArray.push(new react_date_object_1["default"](start).format('YYYY-MM-DD'));
|
|
12
|
+
start = new react_date_object_1["default"](start).add(1, 'days');
|
|
13
|
+
}
|
|
14
|
+
return dateArray;
|
|
15
|
+
};
|
|
16
|
+
exports["default"] = createDateRange;
|
|
17
|
+
//# sourceMappingURL=create-date-range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-date-range.js","sourceRoot":"","sources":["../../../calendar/config/create-date-range.ts"],"names":[],"mappings":";;;AAAA,gFAA2C;AAE3C,IAAM,eAAe,GAAG,UAAC,EAAgE;QAA9D,SAAS,eAAA,EAAE,QAAQ,cAAA;IAC5C,IAAM,SAAS,GAAG,EAAE,CAAC;IACrB,IAAI,KAAK,GAAG,IAAI,8BAAU,CAAC,SAAS,CAAC,CAAC;IACtC,IAAM,GAAG,GAAG,IAAI,8BAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,KAAK,IAAI,GAAG,EAAE;QACnB,SAAS,CAAC,IAAI,CAAC,IAAI,8BAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,KAAK,GAAG,IAAI,8BAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;KAC9C;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,qBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface IDays {
|
|
2
|
+
day: number;
|
|
3
|
+
gregorianDate: string;
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface IDaysInMonth {
|
|
7
|
+
days: IDays[];
|
|
8
|
+
monthName: string;
|
|
9
|
+
month: number;
|
|
10
|
+
today?: string;
|
|
11
|
+
year: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const daysInMonth: (date: any, dateFormat: string) => IDaysInMonth;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.daysInMonth = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var gregorian_en_1 = tslib_1.__importDefault(require("react-date-object/locales/gregorian_en"));
|
|
6
|
+
var react_date_object_1 = tslib_1.__importDefault(require("react-date-object"));
|
|
7
|
+
var gregorian_1 = tslib_1.__importDefault(require("react-date-object/calendars/gregorian"));
|
|
8
|
+
var daysInMonth = function (date, dateFormat) {
|
|
9
|
+
date.calendar = gregorian_1["default"];
|
|
10
|
+
date.locale = gregorian_en_1["default"];
|
|
11
|
+
var monthName = date.month.name;
|
|
12
|
+
var month = date.month, year = date.year;
|
|
13
|
+
// Create a single DateObject instance and reuse it
|
|
14
|
+
var baseDate = new react_date_object_1["default"]({ date: "".concat(year, " ").concat(month, " 1"), calendar: gregorian_1["default"] });
|
|
15
|
+
var firstDayWeekDay = baseDate.weekDay.number;
|
|
16
|
+
// Calculate the number of empty cells needed before the first day of the month
|
|
17
|
+
var emptyCellsCount = (firstDayWeekDay + 6) % 7;
|
|
18
|
+
var lastDayOfPreviousMonth = new react_date_object_1["default"]({ date: "".concat(year, " ").concat(month - 1, " 31"), calendar: gregorian_1["default"] });
|
|
19
|
+
// Calculate the empty days from the previous month
|
|
20
|
+
var emptyDays = tslib_1.__spreadArray([], Array(emptyCellsCount), true).map(function (_, i) { return lastDayOfPreviousMonth.month.length - emptyCellsCount + i; });
|
|
21
|
+
// Create an array of day objects for the current month - optimize DateObject creation
|
|
22
|
+
var currentMonthDays = Array.from({ length: date.month.length }, function (_, i) {
|
|
23
|
+
var dayNumber = i + 1;
|
|
24
|
+
// Create new DateObject but reuse the base date string
|
|
25
|
+
var dayDate = new react_date_object_1["default"]({ date: "".concat(year, " ").concat(month, " ").concat(dayNumber), calendar: gregorian_1["default"] });
|
|
26
|
+
var gregorianDate = dayDate.format(dateFormat);
|
|
27
|
+
return { day: dayNumber, gregorianDate: gregorianDate, disabled: false };
|
|
28
|
+
});
|
|
29
|
+
// Optimize empty days creation
|
|
30
|
+
var allDays = tslib_1.__spreadArray(tslib_1.__spreadArray([], emptyDays.map(function (day) {
|
|
31
|
+
// Create new DateObject for empty days
|
|
32
|
+
var dayDate = new react_date_object_1["default"]({ date: "".concat(year, " ").concat(month - 1, " ").concat(day), calendar: gregorian_1["default"] });
|
|
33
|
+
var gregorianDate = dayDate.format(dateFormat);
|
|
34
|
+
return {
|
|
35
|
+
day: day,
|
|
36
|
+
gregorianDate: gregorianDate,
|
|
37
|
+
disabled: true
|
|
38
|
+
};
|
|
39
|
+
}), true), currentMonthDays, true);
|
|
40
|
+
return { monthName: monthName, month: month, days: allDays, year: year };
|
|
41
|
+
};
|
|
42
|
+
exports.daysInMonth = daysInMonth;
|
|
43
|
+
//# sourceMappingURL=days-in-month.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"days-in-month.js","sourceRoot":"","sources":["../../../calendar/config/days-in-month.ts"],"names":[],"mappings":";;;;AAAA,gGAAiE;AACjE,gFAA2C;AAC3C,4FAA8D;AAgBvD,IAAM,WAAW,GAAG,UAAC,IAAS,EAAE,UAAkB;IACvD,IAAI,CAAC,QAAQ,GAAG,sBAAS,CAAC;IAC1B,IAAI,CAAC,MAAM,GAAG,yBAAW,CAAC;IAC1B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1B,IAAA,KAAK,GAAW,IAAI,MAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAU;IAE7B,mDAAmD;IACnD,IAAM,QAAQ,GAAG,IAAI,8BAAU,CAAC,EAAE,IAAI,EAAE,UAAG,IAAI,cAAI,KAAK,OAAI,EAAE,QAAQ,EAAE,sBAAS,EAAE,CAAC,CAAC;IACrF,IAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhD,+EAA+E;IAC/E,IAAM,eAAe,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClD,IAAM,sBAAsB,GAAG,IAAI,8BAAU,CAAC,EAAE,IAAI,EAAE,UAAG,IAAI,cAAI,KAAK,GAAG,CAAC,QAAK,EAAE,QAAQ,EAAE,sBAAS,EAAE,CAAC,CAAC;IAExG,mDAAmD;IACnD,IAAM,SAAS,GAAG,0BAAI,KAAK,CAAC,eAAe,CAAC,QAAE,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,sBAAsB,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,GAAG,CAAC,EAAzD,CAAyD,CAAC,CAAC;IAEvH,sFAAsF;IACtF,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC;QACtE,IAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,uDAAuD;QACvD,IAAM,OAAO,GAAG,IAAI,8BAAU,CAAC,EAAE,IAAI,EAAE,UAAG,IAAI,cAAI,KAAK,cAAI,SAAS,CAAE,EAAE,QAAQ,EAAE,sBAAS,EAAE,CAAC,CAAC;QAC/F,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,eAAA,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,IAAM,OAAO,mDAAO,SAAS,CAAC,GAAG,CAAC,UAAC,GAAG;QACpC,uCAAuC;QACvC,IAAM,OAAO,GAAG,IAAI,8BAAU,CAAC,EAAE,IAAI,EAAE,UAAG,IAAI,cAAI,KAAK,GAAG,CAAC,cAAI,GAAG,CAAE,EAAE,QAAQ,EAAE,sBAAS,EAAE,CAAC,CAAC;QAC7F,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO;YACL,GAAG,KAAA;YACH,aAAa,eAAA;YACb,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC,CAAC,SAAK,gBAAgB,OAAC,CAAC;IAEzB,OAAO,EAAE,SAAS,WAAA,EAAE,KAAK,OAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;AACnD,CAAC,CAAC;AAvCW,QAAA,WAAW,eAuCtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.chunk = exports.weekDayNames = exports.daysInMonth = void 0;
|
|
4
|
+
var week_day_1 = require("./week-day");
|
|
5
|
+
exports.weekDayNames = week_day_1.weekDayNames;
|
|
6
|
+
var chunk_1 = require("./chunk");
|
|
7
|
+
exports.chunk = chunk_1.chunk;
|
|
8
|
+
var days_in_month_1 = require("./days-in-month");
|
|
9
|
+
exports.daysInMonth = days_in_month_1.daysInMonth;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../calendar/config/index.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAMxC,uBANO,uBAAY,CAMP;AALd,iCAAgC;AAM9B,gBANO,aAAK,CAMP;AALP,iDAAmE;AAGjE,sBAHO,2BAAW,CAGP"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.gregorianMonths = void 0;
|
|
4
|
+
exports.gregorianMonths = [
|
|
5
|
+
{ name: 'Jan', value: 1, title: 'January' },
|
|
6
|
+
{ name: 'Feb', value: 2, title: 'February' },
|
|
7
|
+
{ name: 'Mar', value: 3, title: 'March' },
|
|
8
|
+
{ name: 'Apr', value: 4, title: 'April' },
|
|
9
|
+
{ name: 'May', value: 5, title: 'May' },
|
|
10
|
+
{ name: 'Jun', value: 6, title: 'June' },
|
|
11
|
+
{ name: 'Jul', value: 7, title: 'July' },
|
|
12
|
+
{ name: 'Aug', value: 8, title: 'August' },
|
|
13
|
+
{ name: 'Sep', value: 9, title: 'September' },
|
|
14
|
+
{ name: 'Oct', value: 10, title: 'October' },
|
|
15
|
+
{ name: 'Nov', value: 11, title: 'November' },
|
|
16
|
+
{ name: 'Dec', value: 12, title: 'December' },
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=months.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"months.js","sourceRoot":"","sources":["../../../calendar/config/months.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;IAC3C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACzC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACzC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACvC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IACxC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IACxC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC1C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;IAC7C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;IAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;IAC7C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;CAC9C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var subtractDatetime = function (_a) {
|
|
4
|
+
var _b = _a.time, time = _b === void 0 ? new Date() : _b, _c = _a.format, format = _c === void 0 ? 'YYYY-MM-DD HH:mm:ss' : _c, _d = _a.number, number = _d === void 0 ? 0 : _d, _e = _a.unit, unit = _e === void 0 ? 'days' : _e;
|
|
5
|
+
var moment = require('moment');
|
|
6
|
+
var timeBefore = moment(time).subtract(number, unit);
|
|
7
|
+
return timeBefore.locale('en').format(format);
|
|
8
|
+
};
|
|
9
|
+
exports["default"] = subtractDatetime;
|
|
10
|
+
//# sourceMappingURL=subtract-datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtract-datetime.js","sourceRoot":"","sources":["../../../calendar/config/subtract-datetime.ts"],"names":[],"mappings":";;AAOA,IAAM,gBAAgB,GAAG,UAAC,EAAkG;QAAhG,YAAiB,EAAjB,IAAI,mBAAG,IAAI,IAAI,EAAE,KAAA,EAAE,cAA8B,EAA9B,MAAM,mBAAG,qBAAqB,KAAA,EAAE,cAAU,EAAV,MAAM,mBAAG,CAAC,KAAA,EAAE,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA;IACtG,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEvD,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,qBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.weekDayNames = void 0;
|
|
4
|
+
exports.weekDayNames = {
|
|
5
|
+
normal_en: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
|
6
|
+
short_en: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
|
7
|
+
normal_fr: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
|
|
8
|
+
short_fr: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam']
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=week-day.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"week-day.js","sourceRoot":"","sources":["../../../calendar/config/week-day.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;IACzF,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAC3D,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpF,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;CAC5D,CAAC"}
|