ywana-core8 0.0.238 → 0.0.242

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.
@@ -1,14 +1,23 @@
1
1
  import React from "react";
2
2
 
3
3
  // You can import global CSS files here.
4
- import '../src/css/html.css'
5
- import '../src/css/theme.css'
6
- import 'material-design-icons-iconfont/dist/material-design-icons.css'
7
-
4
+ import "../src/css/html.css";
5
+ import "../src/css/theme.css";
6
+ import "material-design-icons-iconfont/dist/material-design-icons.css";
8
7
 
9
8
  // No-op wrapper.
10
9
  export const Wrapper: React.FC = ({ children }) => {
11
-
12
-
13
- return <div style={{ padding: "2rem" }}>{children}</div>;
10
+ return (
11
+ <div
12
+ style={{
13
+ width: "100vw",
14
+ height: "100vh",
15
+ padding: "2rem",
16
+ display: "flex",
17
+ flexDirection: "column",
18
+ }}
19
+ >
20
+ {children}
21
+ </div>
22
+ );
14
23
  };
package/dist/index.cjs CHANGED
@@ -1,6 +1,8 @@
1
1
  require('material-design-icons-iconfont/dist/material-design-icons.css');
2
2
  var React = require('react');
3
3
  var RSwitch = require('react-switch');
4
+ var moment = require('moment');
5
+ var momentRange = require('moment-range');
4
6
  var reactNotifications = require('react-notifications');
5
7
  require('react-notifications/lib/notifications.css');
6
8
  var equal = require('deep-equal');
@@ -10,6 +12,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
12
 
11
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
14
  var RSwitch__default = /*#__PURE__*/_interopDefaultLegacy(RSwitch);
15
+ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
13
16
  var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
14
17
  var ResumableJS__default = /*#__PURE__*/_interopDefaultLegacy(ResumableJS);
15
18
 
@@ -885,7 +888,7 @@ var TextField = function TextField(props) {
885
888
  }
886
889
 
887
890
  function focus() {
888
- if (site) {
891
+ if (site && site.changeFocus) {
889
892
  site.changeFocus({
890
893
  lose: function lose() {// DO NOTHING
891
894
  }
@@ -899,7 +902,7 @@ var TextField = function TextField(props) {
899
902
 
900
903
  var borderStyle = outlined ? "textfield-outlined" : "textfield";
901
904
  var labelStyle = label ? "" : "no-label";
902
- var style = labelStyle + " " + borderStyle;
905
+ var style = labelStyle + " " + borderStyle + " textfield-" + type;
903
906
  var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
904
907
  return /*#__PURE__*/React__default["default"].createElement("div", {
905
908
  className: "" + style,
@@ -923,6 +926,79 @@ var TextField = function TextField(props) {
923
926
  className: "bar"
924
927
  }), label ? /*#__PURE__*/React__default["default"].createElement("label", null, labelTxt) : null);
925
928
  };
929
+ /**
930
+ * Text Area
931
+ */
932
+
933
+ var TextArea = function TextArea(props) {
934
+ var site = React.useContext(SiteContext);
935
+ var id = props.id,
936
+ _props$type2 = props.type,
937
+ type = _props$type2 === void 0 ? 'text' : _props$type2,
938
+ label = props.label,
939
+ placeholder = props.placeholder,
940
+ value = props.value,
941
+ _props$readOnly2 = props.readOnly,
942
+ readOnly = _props$readOnly2 === void 0 ? false : _props$readOnly2,
943
+ _props$canClear2 = props.canClear,
944
+ canClear = _props$canClear2 === void 0 ? true : _props$canClear2,
945
+ onChange = props.onChange,
946
+ onEnter = props.onEnter,
947
+ onClick = props.onClick;
948
+
949
+ function onKeyPress(event) {
950
+ var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;
951
+
952
+ if (key == 13) {
953
+ if (onEnter) onEnter();
954
+ }
955
+ }
956
+
957
+ function change(event) {
958
+ event.stopPropagation();
959
+ event.preventDefault();
960
+ var value = event.target.value;
961
+ console.log(value);
962
+ if (onChange) onChange(id, value);
963
+ }
964
+
965
+ function focus() {
966
+ if (site && site.changeFocus) {
967
+ site.changeFocus({
968
+ lose: function lose() {// DO NOTHING
969
+ }
970
+ });
971
+ }
972
+ }
973
+
974
+ function clear() {
975
+ if (onChange) onChange(id, "");
976
+ }
977
+
978
+ var labelStyle = label ? "" : "no-label";
979
+ var style = "textarea " + labelStyle + " textarea-" + type;
980
+ var labelTxt = /*#__PURE__*/React__default["default"].createElement(Text$1, null, label);
981
+ return /*#__PURE__*/React__default["default"].createElement("div", {
982
+ className: "" + style,
983
+ onClick: onClick
984
+ }, /*#__PURE__*/React__default["default"].createElement("textarea", {
985
+ id: id,
986
+ placeholder: placeholder,
987
+ value: value,
988
+ required: true,
989
+ onChange: change,
990
+ onKeyDown: onKeyPress,
991
+ onFocus: focus,
992
+ readOnly: readOnly
993
+ }), !readOnly && canClear && value && value.length > 0 ? /*#__PURE__*/React__default["default"].createElement(Icon, {
994
+ icon: "close",
995
+ clickable: true,
996
+ size: "small",
997
+ action: clear
998
+ }) : null, /*#__PURE__*/React__default["default"].createElement("span", {
999
+ className: "bar"
1000
+ }), label ? /*#__PURE__*/React__default["default"].createElement("label", null, labelTxt) : null);
1001
+ };
926
1002
  /**
927
1003
  * Dropdown
928
1004
  */
@@ -936,8 +1012,8 @@ var DropDown = function DropDown(props) {
936
1012
  onChange = props.onChange,
937
1013
  _props$canFilter = props.canFilter,
938
1014
  canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
939
- _props$readOnly2 = props.readOnly,
940
- readOnly = _props$readOnly2 === void 0 ? false : _props$readOnly2;
1015
+ _props$readOnly3 = props.readOnly,
1016
+ readOnly = _props$readOnly3 === void 0 ? false : _props$readOnly3;
941
1017
 
942
1018
  var _useState = React.useState(false),
943
1019
  open = _useState[0],
@@ -968,7 +1044,7 @@ var DropDown = function DropDown(props) {
968
1044
  }
969
1045
 
970
1046
  function toggle() {
971
- if (site) {
1047
+ if (site && site.changeFocus) {
972
1048
  site.changeFocus({
973
1049
  lose: function lose() {
974
1050
  setOpen(false);
@@ -2255,6 +2331,242 @@ var WaitScreen = function WaitScreen() {
2255
2331
  }));
2256
2332
  };
2257
2333
 
2334
+ var ranges = momentRange.extendMoment(moment__default["default"]);
2335
+ var DATE_RANGE = [{
2336
+ label: "Week",
2337
+ value: "week"
2338
+ }, {
2339
+ label: "Month",
2340
+ value: "month"
2341
+ }];
2342
+ /**
2343
+ * Planner
2344
+ */
2345
+
2346
+ var Planner = function Planner(_ref) {
2347
+ var title = _ref.title,
2348
+ _ref$events = _ref.events,
2349
+ events = _ref$events === void 0 ? [] : _ref$events,
2350
+ _ref$lanes = _ref.lanes,
2351
+ lanes = _ref$lanes === void 0 ? [] : _ref$lanes,
2352
+ _ref$navigation = _ref.navigation,
2353
+ navigation = _ref$navigation === void 0 ? true : _ref$navigation;
2354
+
2355
+ var _useState = React.useState("month"),
2356
+ dateRange = _useState[0],
2357
+ setDateRange = _useState[1];
2358
+
2359
+ var _useState2 = React.useState("2021-02-26"),
2360
+ from = _useState2[0],
2361
+ setFrom = _useState2[1];
2362
+
2363
+ var _useState3 = React.useState("2021-04-01"),
2364
+ to = _useState3[0],
2365
+ setTo = _useState3[1];
2366
+
2367
+ React.useEffect(function () {
2368
+ var today = moment__default["default"]();
2369
+ var from_date = today.startOf(dateRange).format("YYYY-MM-DD");
2370
+ var to_date = today.endOf(dateRange).format("YYYY-MM-DD");
2371
+ setFrom(from_date);
2372
+ setTo(to_date);
2373
+ }, [dateRange]);
2374
+
2375
+ function next() {
2376
+ var actual = moment__default["default"](from);
2377
+ var next = actual.add(1, dateRange);
2378
+ var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
2379
+ var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
2380
+ setFrom(from_date);
2381
+ setTo(to_date);
2382
+ }
2383
+
2384
+ function prev() {
2385
+ var actual = moment__default["default"](from);
2386
+ var next = actual.subtract(1, dateRange);
2387
+ var from_date = next.startOf(dateRange).format("YYYY-MM-DD");
2388
+ var to_date = next.endOf(dateRange).format("YYYY-MM-DD");
2389
+ setFrom(from_date);
2390
+ setTo(to_date);
2391
+ }
2392
+
2393
+ var period = React.useMemo(function () {
2394
+ var start = ranges(from, "YYYY-MM-DD");
2395
+ var end = ranges(to, "YYYY-MM-DD");
2396
+ var range = ranges.range(start, end);
2397
+ var period = Array.from(range.by("day")).map(function (m) {
2398
+ return {
2399
+ year: m.year(),
2400
+ month: m.month(),
2401
+ day: m.date(),
2402
+ moment: m
2403
+ };
2404
+ });
2405
+ return period;
2406
+ }, [from, to]);
2407
+ var label = /*#__PURE__*/React__default["default"].createElement(Text$1, {
2408
+ use: "headline6"
2409
+ }, title);
2410
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2411
+ className: "planner-box"
2412
+ }, navigation ? /*#__PURE__*/React__default["default"].createElement(Header, {
2413
+ title: label
2414
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
2415
+ icon: "chevron_right",
2416
+ clickable: true,
2417
+ action: next
2418
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
2419
+ id: "to",
2420
+ type: "date",
2421
+ label: "To",
2422
+ value: to,
2423
+ onChange: function onChange(id, value) {
2424
+ return setTo(value);
2425
+ }
2426
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
2427
+ className: "expand"
2428
+ }), /*#__PURE__*/React__default["default"].createElement(DropDown, {
2429
+ id: "ranges",
2430
+ label: "Date Range",
2431
+ options: DATE_RANGE,
2432
+ value: dateRange,
2433
+ onChange: function onChange(id, value) {
2434
+ return setDateRange(value);
2435
+ }
2436
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
2437
+ className: "expand"
2438
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
2439
+ id: "from",
2440
+ type: "date",
2441
+ label: "From",
2442
+ value: from,
2443
+ onChange: function onChange(id, value) {
2444
+ return setFrom(value);
2445
+ }
2446
+ }), /*#__PURE__*/React__default["default"].createElement(Icon, {
2447
+ icon: "chevron_left",
2448
+ clickable: true,
2449
+ action: prev
2450
+ })) : null, /*#__PURE__*/React__default["default"].createElement("main", {
2451
+ className: "planner"
2452
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2453
+ className: "column0"
2454
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2455
+ className: "column-header"
2456
+ }), lanes.map(function (lane) {
2457
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2458
+ className: "row-header"
2459
+ }, lane.label);
2460
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
2461
+ className: "rows"
2462
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2463
+ className: "row row0"
2464
+ }, period.map(function (date, index) {
2465
+ var first = index === 0 || date.day === 1 ? "first" : "";
2466
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2467
+ className: "column-header"
2468
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2469
+ className: "month-header " + first
2470
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
2471
+ use: "overline"
2472
+ }, date.moment.format("MMM"))));
2473
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
2474
+ className: "row row1"
2475
+ }, period.map(function (date) {
2476
+ var isWekend = [0, 6].includes(date.moment.day());
2477
+ var weekend = isWekend ? "weekend" : "";
2478
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2479
+ className: "column-header"
2480
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
2481
+ className: "date-header " + weekend
2482
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
2483
+ use: "headline6"
2484
+ }, date.moment.format("DD")), "\xA0", /*#__PURE__*/React__default["default"].createElement(Text$1, {
2485
+ use: "caption"
2486
+ }, date.moment.format("ddd"))));
2487
+ })), lanes.map(function (lane) {
2488
+ return /*#__PURE__*/React__default["default"].createElement(PlannerRow, {
2489
+ lane: lane,
2490
+ events: events,
2491
+ period: period
2492
+ });
2493
+ }))));
2494
+ };
2495
+ /**
2496
+ * Planner Row
2497
+ */
2498
+
2499
+ var PlannerRow = function PlannerRow(props) {
2500
+ var lane = props.lane,
2501
+ _props$events = props.events,
2502
+ events = _props$events === void 0 ? [] : _props$events,
2503
+ period = props.period;
2504
+ var rowEvents = events.filter(function (event) {
2505
+ return event.lane === lane.id;
2506
+ });
2507
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2508
+ className: "row"
2509
+ }, period.map(function (date) {
2510
+ var slotDate = new Date(date.year, date.month, date.day);
2511
+ slotDate.setHours(0, 0, 0);
2512
+ var cellEvents = rowEvents.filter(function (event) {
2513
+ var eventDate = new Date(event.date);
2514
+ eventDate.setHours(0, 0, 0);
2515
+ return eventDate.getTime() === slotDate.getTime();
2516
+ });
2517
+ return /*#__PURE__*/React__default["default"].createElement(PlannerCell, {
2518
+ date: date,
2519
+ events: cellEvents
2520
+ });
2521
+ }));
2522
+ };
2523
+ /**
2524
+ * Planner Cell
2525
+ */
2526
+
2527
+
2528
+ var PlannerCell = function PlannerCell(_ref3) {
2529
+ var lane = _ref3.lane,
2530
+ date = _ref3.date,
2531
+ onDrop = _ref3.onDrop;
2532
+
2533
+ var _useState4 = React.useState(false),
2534
+ dragOver = _useState4[0],
2535
+ setDragOver = _useState4[1];
2536
+
2537
+ function onDragOver(event) {
2538
+ if (!dragOver) setDragOver(true);
2539
+ event.stopPropagation();
2540
+ event.preventDefault();
2541
+ }
2542
+
2543
+ function onDragLeave(event) {
2544
+ setDragOver(false);
2545
+ event.stopPropagation();
2546
+ event.preventDefault();
2547
+ }
2548
+
2549
+ function drop(event) {
2550
+ event.stopPropagation();
2551
+ event.preventDefault();
2552
+ var id = event.dataTransfer.getData("text");
2553
+ if (onDrop) onDrop({
2554
+ id: id,
2555
+ lane: lane.id,
2556
+ date: date.moment.format("YYYY-MM-DD")
2557
+ });
2558
+ }
2559
+
2560
+ var isWekend = [0, 6].includes(date.moment.day());
2561
+ var weekend = isWekend ? "weekend" : "";
2562
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2563
+ className: "cell " + weekend,
2564
+ onDragOver: onDragOver,
2565
+ onDragLeave: onDragLeave,
2566
+ onDrop: drop
2567
+ }, "c");
2568
+ };
2569
+
2258
2570
  /**
2259
2571
  * Page Context
2260
2572
  */
@@ -5472,6 +5784,7 @@ exports.MenuSeparator = MenuSeparator;
5472
5784
  exports.Page = Page;
5473
5785
  exports.PageContext = PageContext;
5474
5786
  exports.PageProvider = PageProvider;
5787
+ exports.Planner = Planner;
5475
5788
  exports.Property = Property;
5476
5789
  exports.RadioButton = RadioButton;
5477
5790
  exports.ResetPasswordBox = ResetPasswordBox;
@@ -5488,6 +5801,7 @@ exports.TabbedContentEditor = TabbedContentEditor;
5488
5801
  exports.TablePage = TablePage;
5489
5802
  exports.Tabs = Tabs;
5490
5803
  exports.Text = Text$1;
5804
+ exports.TextArea = TextArea;
5491
5805
  exports.TextField = TextField;
5492
5806
  exports.Thumbnail = Thumbnail;
5493
5807
  exports.TokenField = TokenField;