@harjs/react-ui 1.1.5 → 1.1.7
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/dist/assets/css/components/charts/gantt/styles.css +6 -6
- package/dist/assets/css/components/charts/pie/pie.css +7 -7
- package/dist/assets/css/components/data-display/calendar/styles.week-view.css +8 -6
- package/dist/assets/css/components/data-display/card/css.cjs +47 -0
- package/dist/assets/css/components/data-display/card/radius.css +41 -0
- package/dist/assets/css/components/data-display/card/status.css +929 -0
- package/dist/assets/css/components/data-display/card/styles.css +3 -6
- package/dist/assets/css/components/data-display/card/templates/radius.template.css +3 -0
- package/dist/assets/css/components/data-display/card/templates/status.template.css +47 -0
- package/dist/assets/css/components/data-display/diagram/styles.css +14 -10
- package/dist/assets/css/components/data-display/dnd/shadow.css +2 -2
- package/dist/assets/css/components/data-display/dnd/styles.css +3 -3
- package/dist/assets/css/components/data-display/grid-system/flex/styles.css +65 -0
- package/dist/assets/css/components/data-display/grid-system/styles.css +3 -0
- package/dist/assets/css/components/data-display/kanban-board/styles.css +16 -16
- package/dist/assets/css/components/data-display/paper/styles.css +3 -3
- package/dist/assets/css/components/data-display/syntax-highlighter/syntax-highlighter.css +3 -3
- package/dist/assets/css/components/data-display/table/filter-popup.css +6 -4
- package/dist/assets/css/components/data-display/table/properties-popup.css +3 -3
- package/dist/assets/css/components/data-display/table/scroll.css +1 -0
- package/dist/assets/css/components/data-display/table/styles.css +47 -46
- package/dist/assets/css/components/data-display/tabs/tabs.css +8 -8
- package/dist/assets/css/components/data-display/typography/paragraph/color.css +76 -50
- package/dist/assets/css/components/data-display/typography/paragraph/css.cjs +61 -0
- package/dist/assets/css/components/data-display/typography/paragraph/size.css +25 -7
- package/dist/assets/css/components/data-display/typography/paragraph/templates/color.template.css +3 -0
- package/dist/assets/css/components/data-display/typography/paragraph/templates/size.template.css +4 -0
- package/dist/assets/css/components/data-display/typography/title/core.css +0 -1
- package/dist/assets/css/components/feedback/alert/styles.css +8 -8
- package/dist/assets/css/components/feedback/drawer/content.css +9 -6
- package/dist/assets/css/components/feedback/drawer/css.cjs +38 -0
- package/dist/assets/css/components/feedback/drawer/header.css +68 -52
- package/dist/assets/css/components/feedback/drawer/radius.css +53 -0
- package/dist/assets/css/components/feedback/drawer/size.css +33 -0
- package/dist/assets/css/components/feedback/drawer/styles.css +68 -73
- package/dist/assets/css/components/feedback/drawer/templates/radius.template.css +4 -0
- package/dist/assets/css/components/feedback/drawer/templates/size.template.css +4 -0
- package/dist/assets/css/components/feedback/loading/loading.css +23 -11
- package/dist/assets/css/components/feedback/modal/content.css +15 -5
- package/dist/assets/css/components/feedback/modal/css.cjs +41 -0
- package/dist/assets/css/components/feedback/modal/footer.css +12 -8
- package/dist/assets/css/components/feedback/modal/header.css +66 -54
- package/dist/assets/css/components/feedback/modal/radius.css +43 -0
- package/dist/assets/css/components/feedback/modal/size.css +27 -0
- package/dist/assets/css/components/feedback/modal/styles.css +31 -40
- package/dist/assets/css/components/feedback/modal/templates/radius.template.css +3 -0
- package/dist/assets/css/components/feedback/modal/templates/size.template.css +3 -0
- package/dist/assets/css/components/feedback/notification/notification.css +6 -6
- package/dist/assets/css/components/feedback/popover/styles.css +6 -4
- package/dist/assets/css/components/feedback/popup-confirm/styles.css +5 -5
- package/dist/assets/css/components/feedback/progress/progress.css +6 -5
- package/dist/assets/css/components/feedback/tooltip/styles.css +3 -3
- package/dist/assets/css/components/form/button/color.css +1081 -0
- package/dist/assets/css/components/form/button/css.cjs +43 -0
- package/dist/assets/css/components/form/button/icon.css +47 -0
- package/dist/assets/css/components/form/button/position.css +21 -0
- package/dist/assets/css/components/form/button/radius.css +41 -0
- package/dist/assets/css/components/form/button/shape.css +8 -0
- package/dist/assets/css/components/form/button/size.css +67 -0
- package/dist/assets/css/components/form/button/styles.css +31 -17
- package/dist/assets/css/components/form/button/templates/color.template.css +107 -0
- package/dist/assets/css/components/form/button/templates/radius.template.css +3 -0
- package/dist/assets/css/components/form/button/templates/size.template.css +10 -0
- package/dist/assets/css/components/form/button-action/styles.css +18 -15
- package/dist/assets/css/components/form/button-group/styles.css +2 -23
- package/dist/assets/css/components/form/checkbox/checked.css +78 -0
- package/dist/assets/css/components/form/checkbox/color.checked.css +1031 -0
- package/dist/assets/css/components/form/checkbox/color.radio-checked.css +1161 -0
- package/dist/assets/css/components/form/checkbox/color.radio-unchecked.css +739 -0
- package/dist/assets/css/components/form/checkbox/color.unchecked.css +739 -0
- package/dist/assets/css/components/form/checkbox/css.cjs +61 -0
- package/dist/assets/css/components/form/checkbox/radius.css +41 -0
- package/dist/assets/css/components/form/checkbox/size.css +28 -0
- package/dist/assets/css/components/form/checkbox/styles.css +78 -0
- package/dist/assets/css/components/form/checkbox/templates/color.checked.template.css +101 -0
- package/dist/assets/css/components/form/checkbox/templates/color.radio-checked.template.css +114 -0
- package/dist/assets/css/components/form/checkbox/templates/color.radio-unchecked.template.css +72 -0
- package/dist/assets/css/components/form/checkbox/templates/color.unchecked.template.css +72 -0
- package/dist/assets/css/components/form/checkbox/templates/radius.template.css +3 -0
- package/dist/assets/css/components/form/checkbox/templates/size.template.css +8 -0
- package/dist/assets/css/components/form/checkbox-card/color.checked.css +755 -0
- package/dist/assets/css/components/form/checkbox-card/color.unchecked.css +753 -0
- package/dist/assets/css/components/form/checkbox-card/css.cjs +44 -0
- package/dist/assets/css/components/form/checkbox-card/radius.css +43 -0
- package/dist/assets/css/components/form/checkbox-card/styles.css +14 -0
- package/dist/assets/css/components/form/checkbox-card/templates/color.checked.template.css +74 -0
- package/dist/assets/css/components/form/checkbox-card/templates/color.unchecked.template.css +74 -0
- package/dist/assets/css/components/form/checkbox-card/templates/radius.template.css +3 -0
- package/dist/assets/css/components/form/checkbox-card/templates/size.template.css +8 -0
- package/dist/assets/css/components/form/date-picker/calendar/calendar.css +6 -4
- package/dist/assets/css/components/form/date-picker/calendar/content.css +12 -4
- package/dist/assets/css/components/form/date-picker/clock/clock.css +3 -3
- package/dist/assets/css/components/form/date-picker/clock/content.css +14 -5
- package/dist/assets/css/components/form/input/addon.css +131 -0
- package/dist/assets/css/components/form/input/color.css +1131 -0
- package/dist/assets/css/components/form/input/css.cjs +177 -0
- package/dist/assets/css/components/form/input/icon.css +52 -0
- package/dist/assets/css/components/form/input/radius.css +251 -0
- package/dist/assets/css/components/form/input/size.css +133 -0
- package/dist/assets/css/components/form/input/styles.css +37 -19
- package/dist/assets/css/components/form/input/templates/color.template.css +112 -0
- package/dist/assets/css/components/form/input/templates/radius.template.css +24 -0
- package/dist/assets/css/components/form/input/templates/size.template.css +21 -0
- package/dist/assets/css/components/form/select/options.css +12 -9
- package/dist/assets/css/components/form/select/styles.css +8 -14
- package/dist/assets/css/components/form/switch/styles.css +3 -3
- package/dist/assets/css/components/form/text-editor/styles.css +5 -11
- package/dist/assets/css/components/form/upload/dropzone.css +12 -12
- package/dist/assets/css/components/form/upload/list-and-gird.css +10 -10
- package/dist/assets/css/components/form/upload/styles.css +11 -11
- package/dist/assets/css/components/layout/layout.css +5 -5
- package/dist/assets/css/components/navigation/menu/styles.css +11 -11
- package/dist/assets/css/components/navigation/pagination/styles.css +20 -5
- package/dist/assets/css/components/navigation/steps/styles.css +9 -9
- package/dist/assets/css/components/navigation/wizard/styles.css +116 -0
- package/dist/assets/css/core/animation.css +1 -1
- package/dist/assets/css/core/color-palette.css +129 -95
- package/dist/assets/css/core/har-core.css +53 -0
- package/dist/assets/css/core/radius.css +12 -0
- package/dist/assets/css/core/space.css +27 -0
- package/dist/assets/css/core/stroke.css +10 -0
- package/dist/components/charts/gantt/index.js +19 -10
- package/dist/components/data-display/calendar/Header.js +3 -3
- package/dist/components/data-display/calendar/views/Week.js +1 -1
- package/dist/components/data-display/card/IProps.d.ts +4 -2
- package/dist/components/data-display/card/index.js +5 -3
- package/dist/components/data-display/chip/index.js +1 -1
- package/dist/components/data-display/diagram/index.js +2 -2
- package/dist/components/data-display/grid-system/flex/Flex.d.ts +4 -0
- package/dist/components/data-display/grid-system/flex/Flex.js +48 -0
- package/dist/components/data-display/grid-system/flex/IProps.d.ts +18 -0
- package/dist/components/data-display/grid-system/index.d.ts +1 -0
- package/dist/components/data-display/grid-system/index.js +2 -0
- package/dist/components/data-display/kanban-board/filter/DateFilters.js +1 -1
- package/dist/components/data-display/kanban-board/filter/SelectFilters.js +1 -1
- package/dist/components/data-display/table/THeadCell.js +1 -1
- package/dist/components/data-display/table/body/Editable.js +3 -3
- package/dist/components/data-display/table/body/TBody.js +1 -1
- package/dist/components/data-display/table/header/ActionButtons.js +13 -5
- package/dist/components/data-display/table/index.js +5 -3
- package/dist/components/data-display/typography/paragraph/IProps.d.ts +2 -2
- package/dist/components/data-display/typography/paragraph/Paragraph.js +2 -2
- package/dist/components/feedback/alert/index.js +1 -1
- package/dist/components/feedback/drawer/IProps.d.ts +5 -2
- package/dist/components/feedback/drawer/index.d.ts +1 -1
- package/dist/components/feedback/drawer/index.js +15 -12
- package/dist/components/feedback/modal/index.js +18 -23
- package/dist/components/feedback/popover/index.js +2 -2
- package/dist/components/feedback/popup-confirm/index.js +2 -2
- package/dist/components/feedback/progress/index.js +1 -1
- package/dist/components/form/button/index.js +12 -10
- package/dist/components/form/button-action/IProps.d.ts +10 -6
- package/dist/components/form/button-action/index.js +36 -17
- package/dist/components/form/button-group/Props.d.ts +6 -0
- package/dist/components/form/button-group/index.d.ts +3 -5
- package/dist/components/form/button-group/index.js +21 -7
- package/dist/components/form/checkbox/Props.d.ts +8 -0
- package/dist/components/form/checkbox/Props.js +1 -0
- package/dist/components/form/checkbox/index.d.ts +7 -3
- package/dist/components/form/checkbox/index.js +16 -7
- package/dist/components/form/checkbox-card/Props.d.ts +7 -0
- package/dist/components/form/checkbox-card/Props.js +1 -0
- package/dist/components/form/checkbox-card/index.d.ts +14 -0
- package/dist/components/form/checkbox-card/index.js +39 -0
- package/dist/components/form/checkbox-group/Props.d.ts +10 -0
- package/dist/components/form/checkbox-group/Props.js +1 -0
- package/dist/components/form/checkbox-group/index.d.ts +4 -0
- package/dist/components/form/checkbox-group/index.js +54 -0
- package/dist/components/form/date-picker/Props.d.ts +5 -4
- package/dist/components/form/date-picker/index.d.ts +2 -2
- package/dist/components/form/date-picker/index.js +33 -18
- package/dist/components/form/input/IProps.d.ts +4 -10
- package/dist/components/form/input/decimal/Decimal.js +21 -17
- package/dist/components/form/input/decimal/IProps.d.ts +3 -5
- package/dist/components/form/input/formatted-decimal/FormattedDecimal.js +9 -9
- package/dist/components/form/input/formatted-decimal/IProps.d.ts +3 -5
- package/dist/components/form/input/index.d.ts +9 -3
- package/dist/components/form/input/index.js +72 -40
- package/dist/components/form/input/phone/IProps.d.ts +3 -2
- package/dist/components/form/input/phone/Phone.js +15 -11
- package/dist/components/form/input/pin/IProps.d.ts +6 -0
- package/dist/components/form/input/pin/IProps.js +1 -0
- package/dist/components/form/input/pin/Pin.d.ts +7 -0
- package/dist/components/form/input/{otp/Otp.js → pin/Pin.js} +9 -9
- package/dist/components/form/radio/IProps.d.ts +3 -3
- package/dist/components/form/radio/index.d.ts +1 -2
- package/dist/components/form/radio/index.js +8 -22
- package/dist/components/form/radio-group/Props.d.ts +8 -0
- package/dist/components/form/radio-group/Props.js +1 -0
- package/dist/components/form/radio-group/index.d.ts +4 -0
- package/dist/components/form/radio-group/index.js +52 -0
- package/dist/components/form/select/Props.d.ts +3 -4
- package/dist/components/form/select/index.js +4 -4
- package/dist/components/form/switch/index.js +2 -2
- package/dist/components/form/text-editor/index.js +4 -4
- package/dist/components/form/upload/Dropzone.d.ts +1 -1
- package/dist/components/form/upload/Dropzone.js +6 -5
- package/dist/components/form/upload/List.js +3 -2
- package/dist/components/layout/LSider.js +1 -1
- package/dist/components/navigation/wizard/IProps.d.ts +34 -0
- package/dist/components/navigation/wizard/IProps.js +1 -0
- package/dist/components/navigation/wizard/index.d.ts +8 -0
- package/dist/components/navigation/wizard/index.js +138 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -3
- package/dist/libs/core/application/locales/date-picker/IDatePickerLocale.d.ts +25 -0
- package/dist/libs/core/application/locales/date-picker/IDatePickerLocale.js +1 -0
- package/dist/libs/core/application/locales/date-picker/en.d.ts +3 -0
- package/dist/libs/core/application/locales/date-picker/en.js +25 -0
- package/dist/libs/core/application/locales/date-picker/tr.d.ts +3 -0
- package/dist/libs/core/application/locales/date-picker/tr.js +25 -0
- package/dist/libs/core/application/locales/wizard/IWizardLocale.d.ts +8 -0
- package/dist/libs/core/application/locales/wizard/IWizardLocale.js +1 -0
- package/dist/libs/core/application/locales/wizard/en.d.ts +3 -0
- package/dist/libs/core/application/locales/wizard/en.js +8 -0
- package/dist/libs/core/application/locales/wizard/tr.d.ts +3 -0
- package/dist/libs/core/application/locales/wizard/tr.js +8 -0
- package/dist/libs/infrastructure/shared/Utils.js +1 -1
- package/dist/libs/infrastructure/types/IGlobalProps.d.ts +10 -3
- package/dist/libs/infrastructure/types/index.d.ts +9 -6
- package/package.json +3 -1
- package/dist/assets/css/components/data-display/card/statuses.css +0 -377
- package/dist/assets/css/components/form/button/core/icon.css +0 -37
- package/dist/assets/css/components/form/button/core/position.css +0 -19
- package/dist/assets/css/components/form/button/core/shape.css +0 -13
- package/dist/assets/css/components/form/button/core/size.css +0 -14
- package/dist/assets/css/components/form/checkbox/checkbox.css +0 -53
- package/dist/assets/css/components/form/checkbox/core/border.css +0 -252
- package/dist/assets/css/components/form/input/core/addon.css +0 -11
- package/dist/assets/css/components/form/input/core/border.css +0 -114
- package/dist/assets/css/components/form/input/core/button.css +0 -34
- package/dist/assets/css/components/form/input/core/icon.css +0 -22
- package/dist/assets/css/components/form/input/otp/styles.css +0 -20
- package/dist/assets/css/components/form/input/phone/styles.css +0 -50
- package/dist/assets/css/components/form/radio/core/border.css +0 -252
- package/dist/assets/css/components/form/radio/radio.css +0 -69
- package/dist/assets/css/core/ar-core.css +0 -192
- package/dist/assets/css/core/variants/animation.css +0 -164
- package/dist/assets/css/core/variants/border.css +0 -18
- package/dist/assets/css/core/variants/borderless.css +0 -362
- package/dist/assets/css/core/variants/dashed.css +0 -362
- package/dist/assets/css/core/variants/filled.css +0 -428
- package/dist/assets/css/core/variants/outlined.css +0 -439
- package/dist/assets/css/core/variants/surface.css +0 -252
- package/dist/components/form/checkbox/IProps.d.ts +0 -5
- package/dist/components/form/input/otp/IProps.d.ts +0 -6
- package/dist/components/form/input/otp/Otp.d.ts +0 -7
- /package/dist/components/{form/checkbox → data-display/grid-system/flex}/IProps.js +0 -0
- /package/dist/components/form/{input/otp/IProps.js → button-group/Props.js} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState, } from "react";
|
|
3
3
|
import "../../../assets/css/components/charts/gantt/styles.css";
|
|
4
4
|
import Pagination from "../../navigation/pagination";
|
|
5
5
|
import { useTranslation } from "@harjs/translation";
|
|
6
6
|
import TableTR from "../../../libs/core/application/locales/table/tr";
|
|
7
7
|
import TableEN from "../../../libs/core/application/locales/table/en";
|
|
8
8
|
const colors = ["#A881FA", "#75CFA4", "#EE6D63", "#FAD87A"];
|
|
9
|
-
const Gantt = ({ title, description, data, pagination, config = { isSearchable: false } }) => {
|
|
9
|
+
const Gantt = ({ title, description, data, pagination, config = { isSearchable: false }, }) => {
|
|
10
10
|
// refs
|
|
11
11
|
const _svg = useRef(null);
|
|
12
12
|
const _mapIsMoveField = useRef(null);
|
|
@@ -38,7 +38,7 @@ const Gantt = ({ title, description, data, pagination, config = { isSearchable:
|
|
|
38
38
|
const STROKE_WIDTH = 0.5;
|
|
39
39
|
const ROW_HEIGHT = 45;
|
|
40
40
|
const LABEL_WIDTH = useMemo(() => {
|
|
41
|
-
const longestName = getData.reduce((maxTask, currentTask) =>
|
|
41
|
+
const longestName = getData.reduce((maxTask, currentTask) => currentTask.name.length > maxTask.name.length ? currentTask : maxTask, // Corrected logic
|
|
42
42
|
{
|
|
43
43
|
name: "",
|
|
44
44
|
}).name;
|
|
@@ -155,9 +155,13 @@ const Gantt = ({ title, description, data, pagination, config = { isSearchable:
|
|
|
155
155
|
const availableWidth = (_svg.current?.clientWidth ?? 0) - LABEL_WIDTH;
|
|
156
156
|
// 2. Şu anki kaydırma oranını bul. (0 ile 1 arasında bir değer)
|
|
157
157
|
// Eğer içerik ekrana sığıyorsa oran 0'dır.
|
|
158
|
-
const currentScrollRatio = currentTotalWidth > availableWidth
|
|
158
|
+
const currentScrollRatio = currentTotalWidth > availableWidth
|
|
159
|
+
? scrollX / (currentTotalWidth - availableWidth)
|
|
160
|
+
: 0;
|
|
159
161
|
// 3. Yeni zoom değerini hesapla.
|
|
160
|
-
const nextZoom = event.deltaY < 0
|
|
162
|
+
const nextZoom = event.deltaY < 0
|
|
163
|
+
? Math.min(zoom + 0.5, 5)
|
|
164
|
+
: Math.max(zoom - 0.5, 1);
|
|
161
165
|
// Eğer zoom değişmeyecekse (sınırlara takıldıysa) işlem yapma.
|
|
162
166
|
if (nextZoom === zoom)
|
|
163
167
|
return;
|
|
@@ -171,7 +175,10 @@ const Gantt = ({ title, description, data, pagination, config = { isSearchable:
|
|
|
171
175
|
setZoom(nextZoom);
|
|
172
176
|
setScrollX(nextScrollX);
|
|
173
177
|
_scrollX.current = nextScrollX;
|
|
174
|
-
}, style: {
|
|
178
|
+
}, style: {
|
|
179
|
+
cursor: isDragging ? "grabbing" : "grab",
|
|
180
|
+
userSelect: "none",
|
|
181
|
+
} },
|
|
175
182
|
React.createElement("g", { id: "month-and-days" },
|
|
176
183
|
TIMELINE.days.map((day, index) => {
|
|
177
184
|
const xPos = (index + 1) * DAY_WIDTH;
|
|
@@ -187,7 +194,8 @@ const Gantt = ({ title, description, data, pagination, config = { isSearchable:
|
|
|
187
194
|
PREVMATCHMONT = 0;
|
|
188
195
|
PREVMATCHDAY = 0;
|
|
189
196
|
}
|
|
190
|
-
const dayDiff = currentDayNum -
|
|
197
|
+
const dayDiff = currentDayNum -
|
|
198
|
+
(currentMonthNum !== PREVMATCHMONT ? 0 : PREVMATCHDAY);
|
|
191
199
|
// Bir sonraki turda kullanabilmek için hafızayı güncelliyoruz.
|
|
192
200
|
PREVMATCHMONT = currentMonthNum;
|
|
193
201
|
PREVMATCHDAY = currentDayNum;
|
|
@@ -211,7 +219,8 @@ const Gantt = ({ title, description, data, pagination, config = { isSearchable:
|
|
|
211
219
|
const taskStart = new Date(task.start);
|
|
212
220
|
const taskEnd = new Date(task.end);
|
|
213
221
|
// 1. Proje başlangıcından bu görevin başlangıcına kadar geçen toplam milisaniye
|
|
214
|
-
const diffMsFromStart = taskStart.getTime() -
|
|
222
|
+
const diffMsFromStart = taskStart.getTime() -
|
|
223
|
+
Number(TIMELINE.timelineStart?.getTime());
|
|
215
224
|
// Milisaniyeyi DOĞRU şekilde saate çeviriyoruz (Sabit: 1000 * 60 * 60)
|
|
216
225
|
const hoursFromStart = diffMsFromStart / (1000 * 60 * 60);
|
|
217
226
|
// X Konumu: Geçen toplam saati, dinamik saat başına düşen pikselle çarpıyoruz
|
|
@@ -229,7 +238,7 @@ const Gantt = ({ title, description, data, pagination, config = { isSearchable:
|
|
|
229
238
|
})),
|
|
230
239
|
React.createElement("rect", { ref: _mapIsMoveField, x: 0, y: -ROW_HEIGHT, width: TIMELINE.days.length * DAY_WIDTH, height: SVG_HEIGHT, fill: "transparent", pointerEvents: "all" })),
|
|
231
240
|
React.createElement("g", { className: "left-axis" },
|
|
232
|
-
React.createElement("rect", { x: 0, y: -ROW_HEIGHT * 2 + 0.5, width: LABEL_WIDTH, height: SVG_HEIGHT, fill: "var(--white)" }),
|
|
241
|
+
React.createElement("rect", { x: 0, y: -ROW_HEIGHT * 2 + 0.5, width: LABEL_WIDTH, height: SVG_HEIGHT, fill: "var(--white-100)" }),
|
|
233
242
|
React.createElement("line", { x1: LABEL_WIDTH, y1: -ROW_HEIGHT * 2, x2: LABEL_WIDTH, y2: SVG_HEIGHT, opacity: 0.25, stroke: "var(--black)", strokeWidth: 1 }),
|
|
234
243
|
React.createElement("g", { className: "label-list" }, getData.map((item, index) => {
|
|
235
244
|
const y = index * ROW_HEIGHT;
|
|
@@ -249,8 +258,8 @@ const Gantt = ({ title, description, data, pagination, config = { isSearchable:
|
|
|
249
258
|
" -",
|
|
250
259
|
" ",
|
|
251
260
|
Math.min(currentPage * selectedPerPage, pagination?.totalRecords || data.length),
|
|
252
|
-
" of",
|
|
253
261
|
" ",
|
|
262
|
+
"of ",
|
|
254
263
|
pagination?.totalRecords || data.length))) : (t("Table.Pagination.Information.Text", (currentPage - 1) * selectedPerPage + 1, Math.min(currentPage * selectedPerPage, pagination?.totalRecords || data.length), pagination?.totalRecords || data.length))),
|
|
255
264
|
pagination && (React.createElement(Pagination, { totalRecords: config.isServerSide ? pagination.totalRecords : (data.length ?? 0), currentPage: currentPage, perPage: selectedPerPage, onChange: (currentPage, perPage) => {
|
|
256
265
|
setCurrentPage(currentPage);
|
|
@@ -15,9 +15,9 @@ const Header = ({ states, config }) => {
|
|
|
15
15
|
};
|
|
16
16
|
return (React.createElement("div", { className: "header" },
|
|
17
17
|
React.createElement(Box, null,
|
|
18
|
-
React.createElement(Button, { variant: "outlined", color: "green", border: { radius: "
|
|
19
|
-
React.createElement(Button, { variant: "borderless", color: "
|
|
20
|
-
React.createElement(Button, { variant: "borderless", color: "
|
|
18
|
+
React.createElement(Button, { variant: "outlined", color: "green", border: { radius: "16" }, onClick: () => changeWeek("today") }, "Bug\u00FCn"),
|
|
19
|
+
React.createElement(Button, { variant: "borderless", color: "gray", border: { radius: "full" }, shape: "square", icon: { element: React.createElement(ARIcon, { icon: "ArrowLeft", stroke: "currentColor" }) }, onClick: () => changeWeek("prev") }),
|
|
20
|
+
React.createElement(Button, { variant: "borderless", color: "gray", border: { radius: "full" }, shape: "square", icon: { element: React.createElement(ARIcon, { icon: "ArrowRight", stroke: "currentColor" }) }, onClick: () => changeWeek("next") }),
|
|
21
21
|
React.createElement("span", { className: "week-time" },
|
|
22
22
|
states.currentDate.get.toLocaleString(config?.locale ?? "tr-TR", { month: "long" }),
|
|
23
23
|
" ",
|
|
@@ -65,7 +65,7 @@ const Week = function ({ trackedBy, data, renderItem, states, config }) {
|
|
|
65
65
|
left: `calc(${(100 / 7) * dayIndex}% + ${(layout.column * (100 / 7)) / layout.totalColumns}%)`,
|
|
66
66
|
width: `${100 / 7 / layout.totalColumns}%`,
|
|
67
67
|
border: `1px solid ${eventColor.border}`,
|
|
68
|
-
borderRadius: "var(--
|
|
68
|
+
borderRadius: "var(--radius-4)",
|
|
69
69
|
zIndex: 10,
|
|
70
70
|
} }, layout.height > 20 && renderItem(event, originalIndex)));
|
|
71
71
|
});
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CardColors } from "../../../libs/infrastructure/types";
|
|
2
|
+
import { IBorderProps, IChildrenProps, IStatusProps, IVariantProps } from "../../../libs/infrastructure/types/IGlobalProps";
|
|
2
3
|
interface IProps extends IChildrenProps, IVariantProps<{
|
|
3
4
|
component: "card";
|
|
4
5
|
}>, IStatusProps<{
|
|
5
6
|
component: "card";
|
|
6
|
-
}
|
|
7
|
+
}>, IBorderProps {
|
|
7
8
|
title?: string;
|
|
9
|
+
color?: CardColors;
|
|
8
10
|
actions?: React.JSX.Element;
|
|
9
11
|
}
|
|
10
12
|
export default IProps;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "../../../assets/css/components/data-display/card/styles.css";
|
|
3
3
|
import Utils from "../../../libs/infrastructure/shared/Utils";
|
|
4
|
-
const Card = ({ children, title, actions, variant = "
|
|
4
|
+
const Card = ({ children, title, actions, variant = "outlined", color = "gray-500", status, border = { radius: "6" }, }) => {
|
|
5
5
|
// variables
|
|
6
|
-
const _className = ["
|
|
7
|
-
_className.push(...Utils.GetClassName(variant, status, undefined,
|
|
6
|
+
const _className = ["har-card"];
|
|
7
|
+
_className.push(...Utils.GetClassName(variant, status, undefined, border, undefined, undefined, undefined));
|
|
8
|
+
if (color)
|
|
9
|
+
_className.push(color);
|
|
8
10
|
return (React.createElement("div", { className: _className.map((c) => c).join(" ") },
|
|
9
11
|
title && (React.createElement("div", { className: "title" },
|
|
10
12
|
React.createElement("h4", null, title),
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import "../../../assets/css/components/data-display/chip/chip.css";
|
|
4
4
|
import Utils from "../../../libs/infrastructure/shared/Utils";
|
|
5
|
-
const Chip = ({ variant = "outlined", color = "
|
|
5
|
+
const Chip = ({ variant = "outlined", color = "gray", customColor, border = { radius: "4" }, text, icon, }) => {
|
|
6
6
|
let _chipClassName = ["ar-chip"];
|
|
7
7
|
_chipClassName.push(...Utils.GetClassName(variant, undefined, color, border, undefined, undefined, undefined));
|
|
8
8
|
return (React.createElement("div", { className: _chipClassName.map((c) => c).join(" "), ...(customColor && {
|
|
@@ -287,12 +287,12 @@ const Diagram = ({ nodes, edges }) => {
|
|
|
287
287
|
React.createElement("div", { className: "zoom-buttons", onMouseDown: (event) => event.stopPropagation() },
|
|
288
288
|
React.createElement(Box, null,
|
|
289
289
|
React.createElement(Tooltip, { text: "Zoom Out" },
|
|
290
|
-
React.createElement(Button, { variant: "borderless", color: "
|
|
290
|
+
React.createElement(Button, { variant: "borderless", color: "gray", shape: "square", icon: { element: React.createElement(ARIcon, { icon: "Dash", fill: "currentColor" }) }, onClick: () => handleZoom("decrement") })),
|
|
291
291
|
React.createElement("div", { className: "zoom-percent" },
|
|
292
292
|
Math.round(scale * 100),
|
|
293
293
|
"%"),
|
|
294
294
|
React.createElement(Tooltip, { text: "Zoom In" },
|
|
295
|
-
React.createElement(Button, { variant: "borderless", color: "
|
|
295
|
+
React.createElement(Button, { variant: "borderless", color: "gray", shape: "square", icon: { element: React.createElement(ARIcon, { icon: "Add", fill: "currentColor" }) }, onClick: () => handleZoom("increment") })))),
|
|
296
296
|
React.createElement("div", { style: { zIndex: 555 } }, JSON.stringify(drawingEdge))));
|
|
297
297
|
};
|
|
298
298
|
export default Diagram;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import React, { useLayoutEffect, useState } from "react";
|
|
3
|
+
import Utils from "../../../../libs/infrastructure/shared/Utils";
|
|
4
|
+
const Flex = ({ children, flexDirection = "row", flexWrap = "nowrap", justifyContent = "flex-start", alignItems = "stretch", alignContent, flex, flexGrow = 0, flexShrink = 1, flexBasis, gap, rowGap, columnGap, }) => {
|
|
5
|
+
// states
|
|
6
|
+
const [classNames, setClassNames] = useState(["flex"]);
|
|
7
|
+
// useEffects
|
|
8
|
+
useLayoutEffect(() => {
|
|
9
|
+
if (flexDirection)
|
|
10
|
+
setClassNames((prev) => [...prev, `flex-direction-${flexDirection}`]);
|
|
11
|
+
if (flexWrap)
|
|
12
|
+
setClassNames((prev) => [...prev, `flex-wrap-${flexWrap}`]);
|
|
13
|
+
if (justifyContent)
|
|
14
|
+
setClassNames((prev) => [...prev, `justify-content-${justifyContent}`]);
|
|
15
|
+
if (alignItems)
|
|
16
|
+
setClassNames((prev) => [...prev, `align-items-${alignItems}`]);
|
|
17
|
+
if (alignContent)
|
|
18
|
+
setClassNames((prev) => [...prev, `align-content-${alignContent}`]);
|
|
19
|
+
// Runtime
|
|
20
|
+
const className = `css-${Utils.RandomCharacterGenerator(15)}`;
|
|
21
|
+
const style = document.createElement("style");
|
|
22
|
+
let css = `.${className} {`;
|
|
23
|
+
if (flex)
|
|
24
|
+
css += `flex: ${flex};`;
|
|
25
|
+
if (flexGrow !== undefined)
|
|
26
|
+
css += `flex-grow: ${flexGrow};`;
|
|
27
|
+
if (flexShrink !== undefined)
|
|
28
|
+
css += `flex-shrink: ${flexShrink};`;
|
|
29
|
+
if (flexBasis)
|
|
30
|
+
css += `flex-basis: ${flexBasis};`;
|
|
31
|
+
if (gap)
|
|
32
|
+
css += `gap: ${gap};`;
|
|
33
|
+
if (rowGap)
|
|
34
|
+
css += `row-gap: ${rowGap};`;
|
|
35
|
+
if (columnGap)
|
|
36
|
+
css += `column-gap: ${columnGap};`;
|
|
37
|
+
css += "}";
|
|
38
|
+
style.textContent = css;
|
|
39
|
+
setClassNames((prev) => [...prev, className]);
|
|
40
|
+
document.head.appendChild(style);
|
|
41
|
+
return () => {
|
|
42
|
+
setClassNames([]);
|
|
43
|
+
document.head.removeChild(style);
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
46
|
+
return React.createElement("div", { className: classNames.map((c) => c).join(" ") }, children);
|
|
47
|
+
};
|
|
48
|
+
export default Flex;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Property } from "csstype";
|
|
2
|
+
import { IChildrenProps } from "../../../../libs/infrastructure/types/IGlobalProps";
|
|
3
|
+
interface IProps extends IChildrenProps {
|
|
4
|
+
flexDirection?: Property.FlexDirection;
|
|
5
|
+
flexWrap?: Property.FlexWrap;
|
|
6
|
+
justifyContent?: Property.JustifyContent;
|
|
7
|
+
alignItems?: Property.AlignItems;
|
|
8
|
+
alignContent?: Property.AlignContent;
|
|
9
|
+
alignSelf?: Property.AlignSelf;
|
|
10
|
+
flex?: Property.Flex;
|
|
11
|
+
flexGrow?: Property.FlexGrow;
|
|
12
|
+
flexShrink?: Property.FlexShrink;
|
|
13
|
+
flexBasis?: Property.FlexBasis;
|
|
14
|
+
gap?: Property.Gap;
|
|
15
|
+
rowGap?: Property.RowGap;
|
|
16
|
+
columnGap?: Property.ColumnGap;
|
|
17
|
+
}
|
|
18
|
+
export default IProps;
|
|
@@ -2,10 +2,12 @@ import Box from "./box/Box";
|
|
|
2
2
|
import Row from "./row/Row";
|
|
3
3
|
import Column from "./column/Column";
|
|
4
4
|
import "../../../assets/css/components/data-display/grid-system/styles.css";
|
|
5
|
+
import Flex from "./flex/Flex";
|
|
5
6
|
// @@Export
|
|
6
7
|
const Grid = {
|
|
7
8
|
Box,
|
|
8
9
|
Row,
|
|
9
10
|
Column,
|
|
11
|
+
Flex,
|
|
10
12
|
};
|
|
11
13
|
export default Grid;
|
|
@@ -49,7 +49,7 @@ function DateFilters({ states, methods, config }) {
|
|
|
49
49
|
}, placeholder: "To" }))),
|
|
50
50
|
React.createElement(Divider, { config: { margin: "0.5rem 0" } }),
|
|
51
51
|
React.createElement(Box, { direction: "flex-end" },
|
|
52
|
-
React.createElement(Button, { color: "red", size: "
|
|
52
|
+
React.createElement(Button, { color: "red", size: "sm", onClick: () => {
|
|
53
53
|
states.dateFilters.set((prev) => ({
|
|
54
54
|
...prev,
|
|
55
55
|
[name]: { from: null, to: null },
|
|
@@ -36,7 +36,7 @@ function SelectFilters({ states, methods, config }) {
|
|
|
36
36
|
} })))),
|
|
37
37
|
React.createElement(Divider, { config: { margin: "0.5rem 0" } }),
|
|
38
38
|
React.createElement(Box, { direction: "flex-end" },
|
|
39
|
-
React.createElement(Button, { color: "red", size: "
|
|
39
|
+
React.createElement(Button, { color: "red", size: "sm", onClick: () => {
|
|
40
40
|
states.selectedFilters.set((prev) => {
|
|
41
41
|
const next = { ...prev };
|
|
42
42
|
delete next[name];
|
|
@@ -10,7 +10,7 @@ const MemoizedTHeadCell = function ({ refs, states, methods, columns, config, })
|
|
|
10
10
|
const _direction = states.sort.get.find((s) => s.key === columnKeyString)?.direction;
|
|
11
11
|
let _className = [];
|
|
12
12
|
if (c.config?.sticky)
|
|
13
|
-
_className.push(`sticky-${c.config.sticky}`);
|
|
13
|
+
_className.push(`sticky sticky-${c.config.sticky}`);
|
|
14
14
|
if (!c.config?.width)
|
|
15
15
|
_className.push("min-w");
|
|
16
16
|
if (c.config?.alignContent) {
|
|
@@ -34,7 +34,7 @@ const Editable = function ({ c, item, trackByValue, onEditable, config }) {
|
|
|
34
34
|
handleChange(c.editable?.(item)?.type === "number" ? Number(event.target.value) : event.target.value);
|
|
35
35
|
}, validation: { text: _vText }, ...(c.editable?.(item).where ? { disabled: c.editable?.(item).where } : {}) }));
|
|
36
36
|
case "boolean":
|
|
37
|
-
return (React.createElement(Checkbox, { variant: "
|
|
37
|
+
return (React.createElement(Checkbox, { variant: "outlined", color: "blue", checked: Boolean(_value), onChange: (event) => {
|
|
38
38
|
const checked = event.target.checked;
|
|
39
39
|
setValue(checked);
|
|
40
40
|
onEditable({
|
|
@@ -43,9 +43,9 @@ const Editable = function ({ c, item, trackByValue, onEditable, config }) {
|
|
|
43
43
|
}, trackByValue, ExtractKey(c.key));
|
|
44
44
|
}, validation: { text: _vText }, ...(c.editable?.(item).where ? { disabled: c.editable?.(item).where } : {}) }));
|
|
45
45
|
case "decimal":
|
|
46
|
-
return (React.createElement(Input.Decimal, { variant: "borderless", name: c.key, value: String(_value ?? ""), onChange: (event) => handleChange(event.target.value), validation: { text: _vText }, locale: config.locale, ...(c.editable?.(item).where ? { disabled: c.editable?.(item).where } : {}) }));
|
|
46
|
+
return (React.createElement(Input.Decimal, { variant: "borderless", name: c.key, value: String(_value ?? ""), onChange: (event) => handleChange(Number(event.target.value)), validation: { text: _vText }, locale: config.locale, ...(c.editable?.(item).where ? { disabled: c.editable?.(item).where } : {}) }));
|
|
47
47
|
case "input-formatted-decimal":
|
|
48
|
-
return (React.createElement(Input.FormattedDecimal, { variant: "borderless", name: c.key, value: String(_value ?? ""), onChange: (event) => handleChange(event.target.value), validation: { text: _vText }, locale: config.locale, ...(c.editable?.(item).where ? { disabled: c.editable?.(item).where } : {}) }));
|
|
48
|
+
return (React.createElement(Input.FormattedDecimal, { variant: "borderless", name: c.key, value: String(_value ?? ""), onChange: (event) => handleChange(Number(event.target.value)), validation: { text: _vText }, locale: config.locale, ...(c.editable?.(item).where ? { disabled: c.editable?.(item).where } : {}) }));
|
|
49
49
|
case "date-picker":
|
|
50
50
|
return (React.createElement(DatePicker, { variant: "borderless", value: String(_value ?? ""), onChange: (value) => handleChange(value), validation: { text: _vText }, ...(c.editable?.(item).where ? { disabled: c.editable?.(item).where } : {}) }));
|
|
51
51
|
case "single-select":
|
|
@@ -68,7 +68,7 @@ function TBody({ data, columns, refs, methods, states, config }) {
|
|
|
68
68
|
if (column.config?.alignContent)
|
|
69
69
|
_className.push(`align-content-${column.config.alignContent}`);
|
|
70
70
|
if (column.config?.sticky)
|
|
71
|
-
_className.push(`sticky-${column.config.sticky}`);
|
|
71
|
+
_className.push(`sticky sticky-${column.config.sticky}`);
|
|
72
72
|
if (column.config?.textWrap)
|
|
73
73
|
_className.push(`text-${column.config.textWrap}`);
|
|
74
74
|
const firstCleanDataColumn = columns.find((col) => col.config?.sticky === undefined || col.config?.sticky !== "left");
|
|
@@ -6,6 +6,14 @@ import Upload from "../../../form/upload";
|
|
|
6
6
|
import Tooltip from "../../../feedback/tooltip";
|
|
7
7
|
import Button from "../../../form/button";
|
|
8
8
|
import { ARIcon } from "../../../icons";
|
|
9
|
+
const icons = {
|
|
10
|
+
import: (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "var(--purple-500)", viewBox: "0 0 256 256" },
|
|
11
|
+
React.createElement("path", { d: "M222,144v64a6,6,0,0,1-6,6H40a6,6,0,0,1-6-6V144a6,6,0,0,1,12,0v58H210V144a6,6,0,0,1,12,0Zm-98.24,4.24a6,6,0,0,0,8.48,0l40-40a6,6,0,0,0-8.48-8.48L134,129.51V32a6,6,0,0,0-12,0v97.51L92.24,99.76a6,6,0,0,0-8.48,8.48Z" }))),
|
|
12
|
+
export: (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "var(--blue-500)", viewBox: "0 0 256 256" },
|
|
13
|
+
React.createElement("path", { d: "M214,112v96a14,14,0,0,1-14,14H56a14,14,0,0,1-14-14V112A14,14,0,0,1,56,98H80a6,6,0,0,1,0,12H56a2,2,0,0,0-2,2v96a2,2,0,0,0,2,2H200a2,2,0,0,0,2-2V112a2,2,0,0,0-2-2H176a6,6,0,0,1,0-12h24A14,14,0,0,1,214,112ZM92.24,68.24,122,38.49V136a6,6,0,0,0,12,0V38.49l29.76,29.75a6,6,0,1,0,8.48-8.48l-40-40a6,6,0,0,0-8.48,0l-40,40a6,6,0,1,0,8.48,8.48Z" }))),
|
|
14
|
+
create: (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "var(--green-700)", viewBox: "0 0 256 256" },
|
|
15
|
+
React.createElement("path", { d: "M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z" }))),
|
|
16
|
+
};
|
|
9
17
|
const { Row, Column } = Grid;
|
|
10
18
|
const ActionButtons = ({ states, actions }) => {
|
|
11
19
|
// states
|
|
@@ -23,7 +31,7 @@ const ActionButtons = ({ states, actions }) => {
|
|
|
23
31
|
setFormData(formData);
|
|
24
32
|
setFiles(files);
|
|
25
33
|
setBase64(base64);
|
|
26
|
-
}, size: "
|
|
34
|
+
}, size: "sm", fullWidth: true }))),
|
|
27
35
|
actions.import.suffixItem), onConfirm: (confirm) => {
|
|
28
36
|
if (!confirm) {
|
|
29
37
|
setFiles([]);
|
|
@@ -33,7 +41,7 @@ const ActionButtons = ({ states, actions }) => {
|
|
|
33
41
|
actions.import.onClick(formData, files, base64);
|
|
34
42
|
}, config: { buttons: { okay: "Yükle", cancel: "İptal" } }, windowBlur: true },
|
|
35
43
|
React.createElement(Tooltip, { text: actions.import.tooltip },
|
|
36
|
-
React.createElement(Button, { variant: "outlined", color: "purple",
|
|
44
|
+
React.createElement(Button, { variant: "outlined", color: "purple", shape: "square", size: "sm", icon: { element: icons.import } })))),
|
|
37
45
|
actions.export && (React.createElement(Popover, { title: actions.export.title ?? "Dışarı Aktar", message: actions.export.message ??
|
|
38
46
|
"Seçtiğiniz verileri bilgisayarınıza indirebilirsiniz. Bu işlem, sistemimizdeki verileri dosya olarak dışa aktarır ve verileri harici olarak kullanmanıza olanak tanır.", content: actions.export.content, onConfirm: (confirm) => {
|
|
39
47
|
if (!confirm) {
|
|
@@ -44,9 +52,9 @@ const ActionButtons = ({ states, actions }) => {
|
|
|
44
52
|
actions.export.onClick();
|
|
45
53
|
}, config: { buttons: { okay: "Dışarı Aktar", cancel: "İptal" } }, windowBlur: true },
|
|
46
54
|
React.createElement(Tooltip, { text: actions.export.tooltip },
|
|
47
|
-
React.createElement(Button, { variant: "outlined", color: "blue",
|
|
55
|
+
React.createElement(Button, { variant: "outlined", color: "blue", shape: "square", size: "sm", icon: { element: icons.export } })))),
|
|
48
56
|
actions.create && (React.createElement(Tooltip, { text: actions.create.tooltip },
|
|
49
|
-
React.createElement(Button, { variant: "outlined", color: "green", icon: { element:
|
|
57
|
+
React.createElement(Button, { variant: "outlined", color: "green", shape: "square", icon: { element: icons.create }, size: "sm", onClick: (event) => {
|
|
50
58
|
if (!actions.create)
|
|
51
59
|
return;
|
|
52
60
|
actions.create.onClick(event);
|
|
@@ -60,6 +68,6 @@ const ActionButtons = ({ states, actions }) => {
|
|
|
60
68
|
actions.delete.onClick();
|
|
61
69
|
} },
|
|
62
70
|
React.createElement(Tooltip, { text: actions.delete.tooltip },
|
|
63
|
-
React.createElement(Button, { variant: "outlined", color: "red", icon: { element: React.createElement(ARIcon, { icon: "Trash-Fill", fill: "currentcolor" }) } }))))));
|
|
71
|
+
React.createElement(Button, { variant: "outlined", color: "red", shape: "square", size: "sm", icon: { element: React.createElement(ARIcon, { icon: "Trash-Fill", fill: "currentcolor" }) } }))))));
|
|
64
72
|
};
|
|
65
73
|
export default memo(ActionButtons);
|
|
@@ -551,7 +551,7 @@ const Table = forwardRef(({ children, trackBy, title, description, data, columns
|
|
|
551
551
|
propertiesButtonCoordinate: { set: setPropertiesButtonCoordinate },
|
|
552
552
|
}, methods: { handleScroll }, columns: columns, config: config })),
|
|
553
553
|
config?.isSearchable && (React.createElement("tr", { key: "isSearchable" },
|
|
554
|
-
selections && React.createElement("th", { className: "selection-col sticky-left", "data-sticky-position": "left" }),
|
|
554
|
+
selections && React.createElement("th", { className: "selection-col sticky sticky-left", "data-sticky-position": "left" }),
|
|
555
555
|
data.some((item) => _subrowSelector in item) && _subrowButton && (React.createElement("th", { className: "subrow-col sticky sticky-left", "data-sticky-position": "left" })),
|
|
556
556
|
columns.map((c, cIndex) => {
|
|
557
557
|
let _className = [];
|
|
@@ -563,14 +563,16 @@ const Table = forwardRef(({ children, trackBy, title, description, data, columns
|
|
|
563
563
|
? ""
|
|
564
564
|
: _searchedParams?.[key]?.value;
|
|
565
565
|
if (c.config?.sticky)
|
|
566
|
-
_className.push(`sticky-${c.config.sticky}`);
|
|
566
|
+
_className.push(`sticky sticky-${c.config.sticky}`);
|
|
567
567
|
if (c.config?.alignContent)
|
|
568
568
|
_className.push(`align-content-${c.config.alignContent}`);
|
|
569
569
|
return (React.createElement("th", { key: `column-search-${cIndex}`, ...(_className.length > 0 && { className: `${_className.join(" ")}` }), ...(c.config?.sticky && { "data-sticky-position": c.config.sticky }) }, c.key && (React.createElement("div", { className: "filter-field" }, c.filterDataType === "date" ? (React.createElement(DatePicker, { value: (config.isServerSide ? ssrValue : csrValue) ?? "", name: key, onClick: () => handleScroll(), onChange: (value) => handleSearch(key, value, c.filterDataType), style: { height: "2rem" }, config: { isClock: true, isFooterButton: true, locale: config.locale }, disabled: !c.key || !!c.filters })) : (React.createElement(React.Fragment, null,
|
|
570
570
|
React.createElement(Input, { ref: (element) => {
|
|
571
571
|
if (element)
|
|
572
572
|
_searchTextInputs.current[cIndex] = element;
|
|
573
|
-
},
|
|
573
|
+
},
|
|
574
|
+
// variant={c.key && !c.filters ? "outlined" : "filled"}
|
|
575
|
+
style: { height: "2rem" }, value: (config.isServerSide ? ssrValue : csrValue) ?? "", name: key, onClick: () => handleScroll(), onInput: (event) => handleSearch(event.currentTarget.name, event.currentTarget.value), disabled: !c.key || !!c.filters }),
|
|
574
576
|
React.createElement("span", { ref: (element) => {
|
|
575
577
|
if (element)
|
|
576
578
|
_filterButton.current[cIndex] = element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ParagraphColors
|
|
1
|
+
import { ParagraphColors } from "../../../../libs/infrastructure/types";
|
|
2
2
|
import { IChildrenProps, ISizeProps, IUpperCaseProps } from "../../../../libs/infrastructure/types/IGlobalProps";
|
|
3
3
|
interface IProps extends IChildrenProps, ISizeProps, IUpperCaseProps {
|
|
4
|
-
color?: ParagraphColors
|
|
4
|
+
color?: ParagraphColors;
|
|
5
5
|
align?: "left" | "center" | "right";
|
|
6
6
|
}
|
|
7
7
|
export default IProps;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import React from "react";
|
|
3
|
-
const Paragraph = ({ children, color, align = "left", size, upperCase = false }) => {
|
|
4
|
-
let _className = ["
|
|
3
|
+
const Paragraph = ({ children, color, align = "left", size = "md", upperCase = false }) => {
|
|
4
|
+
let _className = ["har-typography-paragraph"];
|
|
5
5
|
if (align)
|
|
6
6
|
_className.push(align);
|
|
7
7
|
if (color)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import "../../../assets/css/components/feedback/alert/styles.css";
|
|
4
4
|
import Utils from "../../../libs/infrastructure/shared/Utils";
|
|
5
|
-
const Alert = ({ children, message, variant = "filled", status = "primary", border = { radius: "
|
|
5
|
+
const Alert = ({ children, message, variant = "filled", status = "primary", border = { radius: "4" }, emphasize, }) => {
|
|
6
6
|
const _className = ["ar-alert"];
|
|
7
7
|
_className.push(...Utils.GetClassName(variant, status, undefined, border, undefined, undefined, undefined));
|
|
8
8
|
// methods
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TabProps, ValidationProps } from "../../../libs/infrastructure/types";
|
|
2
|
-
import { IChildrenProps } from "../../../libs/infrastructure/types/IGlobalProps";
|
|
3
|
-
interface IProps<T extends object> extends IChildrenProps {
|
|
2
|
+
import { IChildrenProps, ISizeProps } from "../../../libs/infrastructure/types/IGlobalProps";
|
|
3
|
+
interface IProps<T extends object> extends IChildrenProps, ISizeProps {
|
|
4
4
|
title?: string;
|
|
5
5
|
tabs: TabProps[];
|
|
6
6
|
activeTab?: number;
|
|
@@ -14,5 +14,8 @@ interface IProps<T extends object> extends IChildrenProps {
|
|
|
14
14
|
};
|
|
15
15
|
onChange?: (currentTab: number) => void;
|
|
16
16
|
onClose?: (closeTab: number) => void;
|
|
17
|
+
config?: {
|
|
18
|
+
freeContent?: boolean;
|
|
19
|
+
};
|
|
17
20
|
}
|
|
18
21
|
export default IProps;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import IProps from "./IProps";
|
|
3
3
|
import "../../../assets/css/components/feedback/drawer/styles.css";
|
|
4
|
-
declare const Drawer: <T extends object>({ title, tabs, activeTab, open,
|
|
4
|
+
declare const Drawer: <T extends object>({ title, tabs, activeTab, open, size, onChange, validation, config, }: IProps<T>) => React.JSX.Element;
|
|
5
5
|
export default Drawer;
|
|
@@ -4,11 +4,11 @@ import Typography from "../../data-display/typography";
|
|
|
4
4
|
import "../../../assets/css/components/feedback/drawer/styles.css";
|
|
5
5
|
import { useValidation } from "../../../libs/core/application/hooks";
|
|
6
6
|
const { Title } = Typography;
|
|
7
|
-
const Drawer = function ({ title, tabs = [], activeTab, open,
|
|
7
|
+
const Drawer = function ({ title, tabs = [], activeTab, open, size = "xxl", onChange, validation, config, }) {
|
|
8
8
|
// refs
|
|
9
|
-
const
|
|
10
|
-
const _drawerWrapperClassName = ["
|
|
11
|
-
const _drawerClassName = ["
|
|
9
|
+
const _drawer = useRef(null);
|
|
10
|
+
const _drawerWrapperClassName = ["har-drawer-wrapper"];
|
|
11
|
+
const _drawerClassName = ["har-drawer", size];
|
|
12
12
|
if (Object.keys(open).length > 0 && open.get)
|
|
13
13
|
_drawerWrapperClassName.push("opened");
|
|
14
14
|
else
|
|
@@ -38,10 +38,10 @@ const Drawer = function ({ title, tabs = [], activeTab, open, validation, onChan
|
|
|
38
38
|
document.body.style.overflow = "hidden";
|
|
39
39
|
const handleKeys = (event) => {
|
|
40
40
|
const key = event.key;
|
|
41
|
-
const isArModal = document.getElementsByClassName("
|
|
42
|
-
const isArSelectOptions = document.getElementsByClassName("
|
|
43
|
-
const isArCalendar = document.getElementsByClassName("
|
|
44
|
-
const isArPopover = document.getElementsByClassName("
|
|
41
|
+
const isArModal = document.getElementsByClassName("har-modal-wrapper opened").length === 0;
|
|
42
|
+
const isArSelectOptions = document.getElementsByClassName("har-select-options").length === 0;
|
|
43
|
+
const isArCalendar = document.getElementsByClassName("har-date-calendar").length === 0;
|
|
44
|
+
const isArPopover = document.getElementsByClassName("har-popover").length === 0;
|
|
45
45
|
if (key === "Escape" && isArModal && isArCalendar && isArSelectOptions && isArPopover) {
|
|
46
46
|
event.stopPropagation();
|
|
47
47
|
handleValidationControlForClose();
|
|
@@ -55,13 +55,13 @@ const Drawer = function ({ title, tabs = [], activeTab, open, validation, onChan
|
|
|
55
55
|
}, [open, handleValidationControlForClose]);
|
|
56
56
|
useEffect(() => setCurrentTab(activeTab ?? 0), [activeTab]);
|
|
57
57
|
return (React.createElement("div", { className: _drawerWrapperClassName.map((c) => c).join(" ") },
|
|
58
|
-
React.createElement("div", { className: "
|
|
58
|
+
React.createElement("div", { className: "har-drawer-bg", onClick: (event) => {
|
|
59
59
|
event.stopPropagation();
|
|
60
60
|
const target = event.target;
|
|
61
|
-
if (
|
|
61
|
+
if (_drawer.current && !_drawer.current.contains(target))
|
|
62
62
|
handleValidationControlForClose();
|
|
63
63
|
} }),
|
|
64
|
-
React.createElement("div", { ref:
|
|
64
|
+
React.createElement("div", { ref: _drawer, className: _drawerClassName.map((c) => c).join(" "), role: "dialog" },
|
|
65
65
|
title && (React.createElement("div", { className: "header" },
|
|
66
66
|
React.createElement(Title, { Level: "h3" }, title),
|
|
67
67
|
React.createElement("div", { className: "close", onClick: () => handleValidationControlForClose() }))),
|
|
@@ -78,7 +78,10 @@ const Drawer = function ({ title, tabs = [], activeTab, open, validation, onChan
|
|
|
78
78
|
} },
|
|
79
79
|
React.createElement("span", null, tab.title)));
|
|
80
80
|
})),
|
|
81
|
-
Object.keys(open).length > 0 && open.get && (React.createElement("div", { className: "content"
|
|
81
|
+
Object.keys(open).length > 0 && open.get && (React.createElement("div", { className: "content", style: {
|
|
82
|
+
height: title ? "calc(100% - 3.5rem)" : "100%",
|
|
83
|
+
padding: !config?.freeContent ? "var(--space-20)" : "0",
|
|
84
|
+
} }, tabs.map((tab, index) => {
|
|
82
85
|
return (React.createElement("div", { key: index }, React.Children.map(tab.content, (child) => {
|
|
83
86
|
if (React.isValidElement(child) && index === currentTab) {
|
|
84
87
|
return validation
|