phx-react 1.3.1514 → 1.3.1516
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.
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
5
5
|
var Button_1 = require("../Button");
|
|
6
|
+
var types_1 = require("../types");
|
|
6
7
|
var defaultDaysOfWeek = ['Chủ nhật', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
|
|
7
8
|
var PHXTabDate = function (_a) {
|
|
8
9
|
var _b = _a.daysOfWeek, daysOfWeek = _b === void 0 ? defaultDaysOfWeek : _b, _c = _a.hideTodayButton, hideTodayButton = _c === void 0 ? false : _c, onChangeTime = _a.onChangeTime, timelineProp = _a.timeline, _d = _a.windowSize, windowSize = _d === void 0 ? 8 : _d, _e = _a.showRightArrowButton, showRightArrowButton = _e === void 0 ? false : _e, selectedDate = _a.selectedDate;
|
|
@@ -34,6 +35,7 @@ var PHXTabDate = function (_a) {
|
|
|
34
35
|
return past;
|
|
35
36
|
};
|
|
36
37
|
var timeline = timelineProp || buildDefaultTimeline();
|
|
38
|
+
var isHaveOnlyOneOption = timeline.length === 1;
|
|
37
39
|
var _f = (0, react_1.useState)(-1), todayIndex = _f[0], setTodayIndex = _f[1];
|
|
38
40
|
var initialStartIndex = Math.max(todayIndex - (windowSize - 1), 0);
|
|
39
41
|
var _g = (0, react_1.useState)(initialStartIndex), startIndex = _g[0], setStartIndex = _g[1];
|
|
@@ -78,17 +80,18 @@ var PHXTabDate = function (_a) {
|
|
|
78
80
|
}, [timelineProp === null || timelineProp === void 0 ? void 0 : timelineProp.length, timeline.length, selectedDate]);
|
|
79
81
|
return (react_1.default.createElement("div", null,
|
|
80
82
|
!hideTodayButton && (react_1.default.createElement(Button_1.PHXButton, { className: 'mb-3', iconPosition: 'before', onClick: handleClickToday, secondary: true, size: 'extra-micro', typeIcon: 'calendar' }, "H\u00F4m nay")),
|
|
81
|
-
react_1.default.createElement("div", { className: 'flex w-full items-center
|
|
82
|
-
react_1.default.createElement("button", { className: '\n mr-1 flex h-[
|
|
83
|
+
react_1.default.createElement("div", { className: 'flex w-full items-center' },
|
|
84
|
+
!isHaveOnlyOneOption && (react_1.default.createElement("button", { className: '\n mr-1 flex h-[4.5rem] w-[1.875rem] flex-shrink-0 items-center justify-center \n rounded-lg border border-gray-300 bg-white hover:bg-gray-200\n disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400\n ',
|
|
83
85
|
// chỉ check startIndex === 0 để disable
|
|
84
86
|
disabled: startIndex === 0, onClick: handlePrevClick },
|
|
85
87
|
react_1.default.createElement("svg", { fill: 'none', height: '24', stroke: 'currentColor', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
|
|
86
|
-
react_1.default.createElement("path", { d: 'M15 18L9 12L15 6', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: '2' }))),
|
|
87
|
-
react_1.default.createElement("
|
|
88
|
+
react_1.default.createElement("path", { d: 'M15 18L9 12L15 6', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: '2' })))),
|
|
89
|
+
react_1.default.createElement("style", null, "\n .scrollbar-thin::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n .scrollbar-thin::-webkit-scrollbar-thumb {\n background: rgb(199 199 199);\n border-radius: 16px;\n border: 2px solid transparent; /* gi\u1EA3 padding */\n background-clip: content-box; /* gi\u00FAp background n\u1EB1m trong border */\n }\n "),
|
|
90
|
+
react_1.default.createElement("div", { className: (0, types_1.classNames)('flex h-[4.5rem] scrollbar-thin rounded-lg shadow-[0rem_.3125rem_.3125rem_-.15625rem_rgba(0,0,0,.03),0rem_.1875rem_.1875rem_-.09375rem_rgba(0,0,0,.02),0rem_.125rem_.125rem_-.0625rem_rgba(0,0,0,.02),0rem_.0625rem_.0625rem_-.03125rem_rgba(0,0,0,.03),0rem_.03125rem_.03125rem_0rem_rgba(0,0,0,.04),0rem_0rem_0rem_.0625rem_rgba(0,0,0,.06)]', isHaveOnlyOneOption ? 'w-[7.5rem]' : 'flex-1 overflow-x-auto') }, visibleDays.map(function (item, index) {
|
|
88
91
|
var globalIndex = startIndex + index;
|
|
89
92
|
var isActive = activeIndex === globalIndex;
|
|
90
|
-
return (react_1.default.createElement("div", { key: globalIndex, className: '
|
|
91
|
-
react_1.default.createElement("button", { className: " ".concat(index === 0 ? 'rounded-l-lg ' : 'border-l', " \n ").concat(index === visibleDays.length - 1 && 'rounded-r-lg', " \n h-full w-full border-gray-300 bg-white px-
|
|
93
|
+
return (react_1.default.createElement("div", { key: globalIndex, className: 'w-full min-w-[7.5rem]' },
|
|
94
|
+
react_1.default.createElement("button", { className: " ".concat(index === 0 ? 'rounded-l-lg ' : 'border-l', " \n ").concat(index === visibleDays.length - 1 && 'rounded-r-lg', " \n h-full w-full border-gray-300 bg-white px-2 py-1.5 hover:bg-gray-100"), onClick: function () {
|
|
92
95
|
setActiveIndex(globalIndex);
|
|
93
96
|
onChangeTime === null || onChangeTime === void 0 ? void 0 : onChangeTime(item.time);
|
|
94
97
|
} }, isActive ? (react_1.default.createElement("div", { className: 'flex h-full w-full flex-col items-center justify-center rounded-lg bg-gray-900 text-white' },
|
|
@@ -97,7 +100,7 @@ var PHXTabDate = function (_a) {
|
|
|
97
100
|
react_1.default.createElement("span", { className: 'text-sm text-gray-600' }, item.title),
|
|
98
101
|
react_1.default.createElement("p", { className: 'text-base font-medium text-gray-900' }, item.date))))));
|
|
99
102
|
})),
|
|
100
|
-
(startIndex !== initialStartIndex || showRightArrowButton) && (react_1.default.createElement("button", { className: 'ml-1 flex h-[
|
|
103
|
+
(startIndex !== initialStartIndex || showRightArrowButton) && !isHaveOnlyOneOption && (react_1.default.createElement("button", { className: 'ml-1 flex h-[4.5rem] w-[1.875rem] flex-shrink-0 items-center justify-center \n rounded-lg border border-gray-300 bg-white hover:bg-gray-200 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400', onClick: handleNextClick, disabled: startIndex + windowSize >= timeline.length },
|
|
101
104
|
react_1.default.createElement("svg", { fill: 'none', height: '24', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
|
|
102
105
|
react_1.default.createElement("path", { d: 'M9 18L15 12L9 6', stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: '2' })))))));
|
|
103
106
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PHXTabDate.js","sourceRoot":"","sources":["../../../../src/components/TabDate/PHXTabDate.tsx"],"names":[],"mappings":";;;AAAA,qDAAkD;AAClD,oCAAqC;AAkBrC,IAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE5F,IAAM,UAAU,GAAG,UAAC,EAQG;QAPrB,kBAA8B,EAA9B,UAAU,mBAAG,iBAAiB,KAAA,EAC9B,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA,EACvB,YAAY,kBAAA,EACF,YAAY,cAAA,EACtB,kBAAc,EAAd,UAAU,mBAAG,CAAC,KAAA,EACd,4BAA4B,EAA5B,oBAAoB,mBAAG,KAAK,KAAA,EAC5B,YAAY,kBAAA;IAEZ,mCAAmC;IACnC,IAAM,oBAAoB,GAAG;QAC3B,SAAS,eAAe,CAAC,QAAc,EAAE,CAAS;YAChD,IAAM,MAAM,GAA+B,EAAE,CAAA;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;gBACjC,IAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,aAAa;oBAC3C,IAAI,EAAE,UAAG,CAAC,CAAC,OAAO,EAAE,cAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE;oBAC1C,IAAI,EAAE,CAAC;iBACR,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,IAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAEvC,sBAAsB;QACtB,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,2BAA2B;YAC9D,IAAI,EAAE,UAAG,KAAK,CAAC,OAAO,EAAE,cAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE;YAClD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,IAAM,QAAQ,GAAG,YAAY,IAAI,oBAAoB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"PHXTabDate.js","sourceRoot":"","sources":["../../../../src/components/TabDate/PHXTabDate.tsx"],"names":[],"mappings":";;;AAAA,qDAAkD;AAClD,oCAAqC;AACrC,kCAAqC;AAkBrC,IAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE5F,IAAM,UAAU,GAAG,UAAC,EAQG;QAPrB,kBAA8B,EAA9B,UAAU,mBAAG,iBAAiB,KAAA,EAC9B,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA,EACvB,YAAY,kBAAA,EACF,YAAY,cAAA,EACtB,kBAAc,EAAd,UAAU,mBAAG,CAAC,KAAA,EACd,4BAA4B,EAA5B,oBAAoB,mBAAG,KAAK,KAAA,EAC5B,YAAY,kBAAA;IAEZ,mCAAmC;IACnC,IAAM,oBAAoB,GAAG;QAC3B,SAAS,eAAe,CAAC,QAAc,EAAE,CAAS;YAChD,IAAM,MAAM,GAA+B,EAAE,CAAA;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;gBACjC,IAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,aAAa;oBAC3C,IAAI,EAAE,UAAG,CAAC,CAAC,OAAO,EAAE,cAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE;oBAC1C,IAAI,EAAE,CAAC;iBACR,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,IAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAEvC,sBAAsB;QACtB,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,2BAA2B;YAC9D,IAAI,EAAE,UAAG,KAAK,CAAC,OAAO,EAAE,cAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE;YAClD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,IAAM,QAAQ,GAAG,YAAY,IAAI,oBAAoB,EAAE,CAAA;IACvD,IAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;IAE3C,IAAA,KAA8B,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC,EAAzC,UAAU,QAAA,EAAE,aAAa,QAAgB,CAAA;IAEhD,IAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE9D,IAAA,KAA8B,IAAA,gBAAQ,EAAC,iBAAiB,CAAC,EAAxD,UAAU,QAAA,EAAE,aAAa,QAA+B,CAAA;IACzD,IAAA,KAAgC,IAAA,gBAAQ,EAAC,UAAU,CAAC,EAAnD,WAAW,QAAA,EAAE,cAAc,QAAwB,CAAA;IAE1D,IAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,CAAA;IAEvE,WAAW;IACX,IAAM,eAAe,GAAG;QACtB,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAA;YAC/B,aAAa,CAAC,QAAQ,CAAC,CAAA;YACvB,IAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;YAC7C,cAAc,CAAC,QAAQ,CAAC,CAAA;YACxB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,aAAa,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAA;IAED,WAAW;IACX,IAAM,eAAe,GAAG;QACtB,IAAI,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9C,aAAa,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,GAAG,CAAC,EAAR,CAAQ,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAA;IAED,IAAM,gBAAgB,GAAG;QACvB,iCAAiC;QACjC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC1B,sBAAsB;QACtB,IAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChE,aAAa,CAAC,aAAa,CAAC,CAAA;QAC5B,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,IAAI,IAAI,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC;QACR,IAAI,YAAY,EAAE,CAAC;YACjB,IAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,YAAY,EAAvB,CAAuB,CAAC,CAAA;YACxE,cAAc,CAAC,aAAa,CAAC,CAAA;YAC7B,aAAa,CAAC,aAAa,CAAC,CAAA;YAC5B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAE5D,OAAM;QACR,CAAC;QAED,IAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,EAAnD,CAAmD,CAAC,CAAA,CAAC,mCAAmC;QAExI,cAAc,CAAC,aAAa,CAAC,CAAA;QAC7B,aAAa,CAAC,aAAa,CAAC,CAAA;QAC5B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAEzD,OAAO,CACL;QACG,CAAC,eAAe,IAAI,CACnB,8BAAC,kBAAS,IACR,SAAS,EAAC,MAAM,EAChB,YAAY,EAAC,QAAQ,EACrB,OAAO,EAAE,gBAAgB,EACzB,SAAS,QACT,IAAI,EAAC,aAAa,EAClB,QAAQ,EAAC,UAAU,mBAGT,CACb;QACD,uCAAK,SAAS,EAAC,0BAA0B;YAEtC,CAAC,mBAAmB,IAAI,CACvB,0CACE,SAAS,EAAC,uQAIX;gBACC,wCAAwC;gBACxC,QAAQ,EAAE,UAAU,KAAK,CAAC,EAC1B,OAAO,EAAE,eAAe;gBAExB,uCACE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,IAAI,EACX,MAAM,EAAC,cAAc,EACrB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,IAAI,EACV,KAAK,EAAC,4BAA4B;oBAElC,wCAAM,CAAC,EAAC,kBAAkB,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAC,GAAG,GAAG,CACtF,CACC,CACV;YAED,6CACG,uZAWF,CACO;YAGR,uCACE,SAAS,EAAE,IAAA,kBAAU,EACnB,+UAA+U,EAC/U,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAC9D,IAEA,WAAW,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;gBAC3B,IAAM,WAAW,GAAG,UAAU,GAAG,KAAK,CAAA;gBACtC,IAAM,QAAQ,GAAG,WAAW,KAAK,WAAW,CAAA;gBAE5C,OAAO,CACL,uCAAK,GAAG,EAAE,WAAW,EAAE,SAAS,EAAC,uBAAuB;oBACtD,0CACE,SAAS,EAAE,WAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,sCACnD,KAAK,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,mGACkB,EAC1E,OAAO,EAAE;4BACP,cAAc,CAAC,WAAW,CAAC,CAAA;4BAC3B,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC3B,CAAC,IAEA,QAAQ,CAAC,CAAC,CAAC,CACV,uCAAK,SAAS,EAAC,2FAA2F;wBACxG,wCAAM,SAAS,EAAC,SAAS,IAAE,IAAI,CAAC,KAAK,CAAQ;wBAC7C,qCAAG,SAAS,EAAC,uBAAuB,IAAE,IAAI,CAAC,IAAI,CAAK,CAChD,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAC,yDAAyD;wBACtE,wCAAM,SAAS,EAAC,uBAAuB,IAAE,IAAI,CAAC,KAAK,CAAQ;wBAC3D,qCAAG,SAAS,EAAC,qCAAqC,IAAE,IAAI,CAAC,IAAI,CAAK,CAC9D,CACP,CACM,CACL,CACP,CAAA;YACH,CAAC,CAAC,CACE;YAGL,CAAC,UAAU,KAAK,iBAAiB,IAAI,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,IAAI,CACrF,0CACE,SAAS,EAAC,yOACoI,EAC9I,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,UAAU,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM;gBAEpD,uCAAK,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,4BAA4B;oBAC5F,wCACE,CAAC,EAAC,iBAAiB,EACnB,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAC,GAAG,GACf,CACE,CACC,CACV,CACG,CACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,UAAU,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { PHXButton } from '../Button';
|
|
3
|
+
import { classNames } from '../types';
|
|
3
4
|
var defaultDaysOfWeek = ['Chủ nhật', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
|
|
4
5
|
var PHXTabDate = function (_a) {
|
|
5
6
|
var _b = _a.daysOfWeek, daysOfWeek = _b === void 0 ? defaultDaysOfWeek : _b, _c = _a.hideTodayButton, hideTodayButton = _c === void 0 ? false : _c, onChangeTime = _a.onChangeTime, timelineProp = _a.timeline, _d = _a.windowSize, windowSize = _d === void 0 ? 8 : _d, _e = _a.showRightArrowButton, showRightArrowButton = _e === void 0 ? false : _e, selectedDate = _a.selectedDate;
|
|
@@ -31,6 +32,7 @@ var PHXTabDate = function (_a) {
|
|
|
31
32
|
return past;
|
|
32
33
|
};
|
|
33
34
|
var timeline = timelineProp || buildDefaultTimeline();
|
|
35
|
+
var isHaveOnlyOneOption = timeline.length === 1;
|
|
34
36
|
var _f = useState(-1), todayIndex = _f[0], setTodayIndex = _f[1];
|
|
35
37
|
var initialStartIndex = Math.max(todayIndex - (windowSize - 1), 0);
|
|
36
38
|
var _g = useState(initialStartIndex), startIndex = _g[0], setStartIndex = _g[1];
|
|
@@ -75,17 +77,18 @@ var PHXTabDate = function (_a) {
|
|
|
75
77
|
}, [timelineProp === null || timelineProp === void 0 ? void 0 : timelineProp.length, timeline.length, selectedDate]);
|
|
76
78
|
return (React.createElement("div", null,
|
|
77
79
|
!hideTodayButton && (React.createElement(PHXButton, { className: 'mb-3', iconPosition: 'before', onClick: handleClickToday, secondary: true, size: 'extra-micro', typeIcon: 'calendar' }, "H\u00F4m nay")),
|
|
78
|
-
React.createElement("div", { className: 'flex w-full items-center
|
|
79
|
-
React.createElement("button", { className: '\n mr-1 flex h-[
|
|
80
|
+
React.createElement("div", { className: 'flex w-full items-center' },
|
|
81
|
+
!isHaveOnlyOneOption && (React.createElement("button", { className: '\n mr-1 flex h-[4.5rem] w-[1.875rem] flex-shrink-0 items-center justify-center \n rounded-lg border border-gray-300 bg-white hover:bg-gray-200\n disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400\n ',
|
|
80
82
|
// chỉ check startIndex === 0 để disable
|
|
81
83
|
disabled: startIndex === 0, onClick: handlePrevClick },
|
|
82
84
|
React.createElement("svg", { fill: 'none', height: '24', stroke: 'currentColor', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
|
|
83
|
-
React.createElement("path", { d: 'M15 18L9 12L15 6', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: '2' }))),
|
|
84
|
-
React.createElement("
|
|
85
|
+
React.createElement("path", { d: 'M15 18L9 12L15 6', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: '2' })))),
|
|
86
|
+
React.createElement("style", null, "\n .scrollbar-thin::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n .scrollbar-thin::-webkit-scrollbar-thumb {\n background: rgb(199 199 199);\n border-radius: 16px;\n border: 2px solid transparent; /* gi\u1EA3 padding */\n background-clip: content-box; /* gi\u00FAp background n\u1EB1m trong border */\n }\n "),
|
|
87
|
+
React.createElement("div", { className: classNames('flex h-[4.5rem] scrollbar-thin rounded-lg shadow-[0rem_.3125rem_.3125rem_-.15625rem_rgba(0,0,0,.03),0rem_.1875rem_.1875rem_-.09375rem_rgba(0,0,0,.02),0rem_.125rem_.125rem_-.0625rem_rgba(0,0,0,.02),0rem_.0625rem_.0625rem_-.03125rem_rgba(0,0,0,.03),0rem_.03125rem_.03125rem_0rem_rgba(0,0,0,.04),0rem_0rem_0rem_.0625rem_rgba(0,0,0,.06)]', isHaveOnlyOneOption ? 'w-[7.5rem]' : 'flex-1 overflow-x-auto') }, visibleDays.map(function (item, index) {
|
|
85
88
|
var globalIndex = startIndex + index;
|
|
86
89
|
var isActive = activeIndex === globalIndex;
|
|
87
|
-
return (React.createElement("div", { key: globalIndex, className: '
|
|
88
|
-
React.createElement("button", { className: " ".concat(index === 0 ? 'rounded-l-lg ' : 'border-l', " \n ").concat(index === visibleDays.length - 1 && 'rounded-r-lg', " \n h-full w-full border-gray-300 bg-white px-
|
|
90
|
+
return (React.createElement("div", { key: globalIndex, className: 'w-full min-w-[7.5rem]' },
|
|
91
|
+
React.createElement("button", { className: " ".concat(index === 0 ? 'rounded-l-lg ' : 'border-l', " \n ").concat(index === visibleDays.length - 1 && 'rounded-r-lg', " \n h-full w-full border-gray-300 bg-white px-2 py-1.5 hover:bg-gray-100"), onClick: function () {
|
|
89
92
|
setActiveIndex(globalIndex);
|
|
90
93
|
onChangeTime === null || onChangeTime === void 0 ? void 0 : onChangeTime(item.time);
|
|
91
94
|
} }, isActive ? (React.createElement("div", { className: 'flex h-full w-full flex-col items-center justify-center rounded-lg bg-gray-900 text-white' },
|
|
@@ -94,7 +97,7 @@ var PHXTabDate = function (_a) {
|
|
|
94
97
|
React.createElement("span", { className: 'text-sm text-gray-600' }, item.title),
|
|
95
98
|
React.createElement("p", { className: 'text-base font-medium text-gray-900' }, item.date))))));
|
|
96
99
|
})),
|
|
97
|
-
(startIndex !== initialStartIndex || showRightArrowButton) && (React.createElement("button", { className: 'ml-1 flex h-[
|
|
100
|
+
(startIndex !== initialStartIndex || showRightArrowButton) && !isHaveOnlyOneOption && (React.createElement("button", { className: 'ml-1 flex h-[4.5rem] w-[1.875rem] flex-shrink-0 items-center justify-center \n rounded-lg border border-gray-300 bg-white hover:bg-gray-200 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400', onClick: handleNextClick, disabled: startIndex + windowSize >= timeline.length },
|
|
98
101
|
React.createElement("svg", { fill: 'none', height: '24', viewBox: '0 0 24 24', width: '24', xmlns: 'http://www.w3.org/2000/svg' },
|
|
99
102
|
React.createElement("path", { d: 'M9 18L15 12L9 6', stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: '2' })))))));
|
|
100
103
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PHXTabDate.js","sourceRoot":"","sources":["../../../../src/components/TabDate/PHXTabDate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAkBrC,IAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE5F,IAAM,UAAU,GAAG,UAAC,EAQG;QAPrB,kBAA8B,EAA9B,UAAU,mBAAG,iBAAiB,KAAA,EAC9B,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA,EACvB,YAAY,kBAAA,EACF,YAAY,cAAA,EACtB,kBAAc,EAAd,UAAU,mBAAG,CAAC,KAAA,EACd,4BAA4B,EAA5B,oBAAoB,mBAAG,KAAK,KAAA,EAC5B,YAAY,kBAAA;IAEZ,mCAAmC;IACnC,IAAM,oBAAoB,GAAG;QAC3B,SAAS,eAAe,CAAC,QAAc,EAAE,CAAS;YAChD,IAAM,MAAM,GAA+B,EAAE,CAAA;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;gBACjC,IAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,aAAa;oBAC3C,IAAI,EAAE,UAAG,CAAC,CAAC,OAAO,EAAE,cAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE;oBAC1C,IAAI,EAAE,CAAC;iBACR,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,IAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAEvC,sBAAsB;QACtB,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,2BAA2B;YAC9D,IAAI,EAAE,UAAG,KAAK,CAAC,OAAO,EAAE,cAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE;YAClD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,IAAM,QAAQ,GAAG,YAAY,IAAI,oBAAoB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"PHXTabDate.js","sourceRoot":"","sources":["../../../../src/components/TabDate/PHXTabDate.tsx"],"names":[],"mappings":"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"}
|