@sydsoft/base 1.58.0 → 1.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/esm/_lib/baseFunctions.d.ts +11 -0
  2. package/dist/esm/_lib/baseFunctions.js +97 -0
  3. package/dist/esm/_lib/inputMask.d.ts +7 -0
  4. package/dist/esm/_lib/inputMask.js +229 -0
  5. package/dist/esm/_lib/listFunctions.d.ts +2 -0
  6. package/dist/esm/_lib/listFunctions.js +114 -0
  7. package/dist/esm/_lib/storage/cookies.d.ts +4 -0
  8. package/dist/esm/_lib/storage/cookies.js +34 -0
  9. package/dist/esm/_lib/storage/encData.d.ts +2 -0
  10. package/dist/esm/_lib/storage/encData.js +43 -0
  11. package/dist/esm/_lib/storage/localStorage.d.ts +6 -0
  12. package/dist/esm/_lib/storage/localStorage.js +69 -0
  13. package/dist/esm/_lib/storage/sessionStorage.d.ts +6 -0
  14. package/dist/esm/_lib/storage/sessionStorage.js +69 -0
  15. package/dist/esm/_lib/useInterval.d.ts +6 -0
  16. package/dist/esm/_lib/useInterval.js +24 -0
  17. package/dist/esm/alert/index.d.ts +18 -0
  18. package/dist/esm/alert/index.js +107 -0
  19. package/dist/esm/alert/index.module.css +119 -0
  20. package/dist/esm/box/Box.d.ts +9 -0
  21. package/dist/esm/box/Box.js +15 -0
  22. package/dist/esm/box/Box.module.css +153 -0
  23. package/dist/esm/box/BoxContent.d.ts +9 -0
  24. package/dist/esm/box/BoxContent.js +7 -0
  25. package/dist/esm/box/BoxFooter.d.ts +10 -0
  26. package/dist/esm/box/BoxFooter.js +8 -0
  27. package/dist/esm/box/BoxHeader.d.ts +16 -0
  28. package/dist/esm/box/BoxHeader.js +9 -0
  29. package/dist/esm/box/index.d.ts +9 -0
  30. package/dist/esm/box/index.js +9 -0
  31. package/dist/esm/countDown/index.d.ts +22 -0
  32. package/dist/esm/countDown/index.js +97 -0
  33. package/dist/esm/dateTime/index.d.ts +12 -0
  34. package/dist/esm/dateTime/index.js +76 -0
  35. package/dist/esm/form/Button.d.ts +27 -0
  36. package/dist/esm/form/Button.js +76 -0
  37. package/dist/esm/form/Checkbox.d.ts +23 -0
  38. package/dist/esm/form/Checkbox.js +23 -0
  39. package/dist/esm/form/Dialog.d.ts +20 -0
  40. package/dist/esm/form/Dialog.js +40 -0
  41. package/dist/esm/form/Form.d.ts +10 -0
  42. package/dist/esm/form/Form.js +12 -0
  43. package/dist/esm/form/FormOlustur.d.ts +39 -0
  44. package/dist/esm/form/FormOlustur.js +52 -0
  45. package/dist/esm/form/Input.d.ts +66 -0
  46. package/dist/esm/form/Input.js +196 -0
  47. package/dist/esm/form/Label.d.ts +7 -0
  48. package/dist/esm/form/Label.js +9 -0
  49. package/dist/esm/form/SearchableInput.d.ts +37 -0
  50. package/dist/esm/form/SearchableInput.js +272 -0
  51. package/dist/esm/form/UploadBase.d.ts +25 -0
  52. package/dist/esm/form/UploadBase.js +86 -0
  53. package/dist/esm/form/index.d.ts +9 -0
  54. package/dist/esm/form/index.js +9 -0
  55. package/dist/esm/form/styles/Button.module.css +145 -0
  56. package/dist/esm/form/styles/Input.module.css +221 -0
  57. package/dist/esm/form/styles/Label.module.css +31 -0
  58. package/dist/esm/form/styles/SearchableInput.module.css +80 -0
  59. package/dist/esm/grid/index.d.ts +38 -0
  60. package/dist/esm/grid/index.js +97 -0
  61. package/dist/esm/grid/index.module.css +805 -0
  62. package/dist/esm/icon/icons.d.ts +22 -0
  63. package/dist/esm/icon/icons.js +23 -0
  64. package/dist/esm/icon/index.d.ts +34 -0
  65. package/dist/esm/icon/index.js +26 -0
  66. package/dist/esm/icon/mui.d.ts +1 -0
  67. package/dist/esm/icon/mui.js +1 -0
  68. package/dist/esm/index.d.ts +19 -0
  69. package/dist/esm/index.js +19 -0
  70. package/dist/esm/menu/index.d.ts +69 -0
  71. package/dist/esm/menu/index.js +52 -0
  72. package/dist/esm/menu/index.module.css +92 -0
  73. package/dist/esm/modal/index.d.ts +23 -0
  74. package/dist/esm/modal/index.js +66 -0
  75. package/dist/esm/modal/index.module.css +77 -0
  76. package/dist/esm/popover/index.d.ts +26 -0
  77. package/dist/esm/popover/index.js +343 -0
  78. package/dist/esm/popover/index.module.css +89 -0
  79. package/dist/esm/tooltip/index.d.ts +11 -0
  80. package/dist/esm/tooltip/index.js +119 -0
  81. package/package.json +7 -7
@@ -0,0 +1,145 @@
1
+ .button {
2
+ position: relative;
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ appearance: none;
7
+ user-select: none;
8
+ box-sizing: border-box;
9
+ overflow: hidden;
10
+ text-decoration: none;
11
+ letter-spacing: 0.03em;
12
+ text-transform: none;
13
+ border-radius: 6px;
14
+ color: rgba(0, 0, 0, 0.87);
15
+ font-family: inherit;
16
+ font-size: inherit;
17
+ font-weight: 500;
18
+ line-height: inherit;
19
+ box-shadow: 0 3px 1px -2px rgb(0 0 0 / 20%), 0 2px 2px 0 rgb(0 0 0 / 14%), 0px 1px 5px 0px rgb(0 0 0 / 12%);
20
+ background-color: #e0e0e0;
21
+ padding: 4px 10px;
22
+ outline: 0;
23
+ border: 0;
24
+ cursor: pointer;
25
+ white-space: nowrap;
26
+ }
27
+ .button.fullwidth {
28
+ width: 100%;
29
+ }
30
+ .button[data-button-size="small"] {
31
+ font-size: 0.875rem;
32
+ padding: 4px 10px;
33
+ min-width: 64px;
34
+ height: 32px;
35
+ }
36
+
37
+ .button[data-button-size="medium"] {
38
+ font-size: 1rem;
39
+ padding: 6px 12px;
40
+ min-width: 72px;
41
+ height: 36px;
42
+ }
43
+
44
+ .button[data-button-size="large"] {
45
+ font-size: 1.2rem;
46
+ padding: 8px 16px;
47
+ min-width: 80px;
48
+ height: 40px;
49
+ }
50
+
51
+ .button[hidden] {
52
+ display: none;
53
+ }
54
+
55
+ .button[disabled] {
56
+ opacity: 0.7;
57
+ box-shadow: inset 0 0 20px #000000ad;
58
+ cursor: not-allowed;
59
+ }
60
+ .button:focus,
61
+ .button:hover {
62
+ opacity: 0.9;
63
+ }
64
+
65
+ .button.primary {
66
+ color: #fff;
67
+ background-color: #3772c4;
68
+ border-color: #1877f2;
69
+ }
70
+
71
+ .button.secondary {
72
+ color: #fff;
73
+ background-color: #6c7573;
74
+ border-color: #6c757d;
75
+ }
76
+
77
+ .button.success {
78
+ color: #fff;
79
+ background-color: #198754;
80
+ border-color: #198754;
81
+ }
82
+
83
+ .button.danger {
84
+ color: #fff;
85
+ background-color: #dc3545;
86
+ border-color: #dc3545;
87
+ }
88
+
89
+ .button.warning {
90
+ color: #000;
91
+ background-color: #ffc107;
92
+ border-color: #ffc107;
93
+ }
94
+
95
+ .button.info {
96
+ color: #000;
97
+ background-color: #0dcaf0;
98
+ border-color: #0dcaf0;
99
+ }
100
+
101
+ .button.light {
102
+ color: #000;
103
+ background-color: #f8f9fa;
104
+ border-color: #f8f9fa;
105
+ }
106
+
107
+ .button.dark {
108
+ color: #fff;
109
+ background-color: #212529;
110
+ border-color: #212529;
111
+ }
112
+
113
+ .button.link {
114
+ box-shadow: none;
115
+ background-color: transparent;
116
+ color: inherit;
117
+ }
118
+
119
+ .iconbutton {
120
+ padding: 8px;
121
+ border-radius: 50%;
122
+ background-color: transparent;
123
+ box-shadow: none;
124
+ color: #707274;
125
+ /* overflow: unset; */
126
+ }
127
+ .iconbutton:focus,
128
+ .iconbutton:hover {
129
+ background-color: rgba(0, 0, 0, 0.04);
130
+ }
131
+
132
+ .ripple {
133
+ content: "";
134
+ position: absolute;
135
+ border-radius: 50%;
136
+ transform: scale(0);
137
+ animation: ripple 900ms linear;
138
+ background-color: rgba(255, 255, 255, 0.7);
139
+ }
140
+ @keyframes ripple {
141
+ to {
142
+ transform: scale(4);
143
+ opacity: 0;
144
+ }
145
+ }
@@ -0,0 +1,221 @@
1
+ .component {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: row;
5
+ align-items: center;
6
+ vertical-align: top;
7
+ width: 100%;
8
+ border-width: 1px;
9
+ border-style: solid;
10
+ border-color: rgb(206, 212, 218);
11
+ box-shadow: none;
12
+ background: #ffffff;
13
+ transition: 0.2s ease all;
14
+ border-radius: 6px;
15
+ }
16
+
17
+ .component[data-disabled='true'] {
18
+ background: #ebebeb;
19
+ }
20
+
21
+ .component[data-disabled='true'],
22
+ .component[data-disabled='true'] * {
23
+ pointer-events: none;
24
+ cursor: not-allowed;
25
+ }
26
+
27
+ .component.error {
28
+ border-color: #e70b3978;
29
+ box-shadow: 0px 0px 5px 2px #f40d0d3d;
30
+ }
31
+
32
+ .component:hover {
33
+ border-color: rgba(63, 77, 103, 0.87);
34
+ }
35
+
36
+ .component:focus-within {
37
+ box-shadow: inset 0 0 0 1px rgb(63 77 103 / 87%);
38
+ }
39
+
40
+ .hidePlaceHolder input:not(:focus)::placeholder {
41
+ color: transparent;
42
+ }
43
+
44
+ .component[data-disabled='true'] .loading:before {
45
+ background: #ebebeb;
46
+ }
47
+
48
+ .adornment {
49
+ z-index: 1;
50
+ height: 0.01em;
51
+ max-height: 2em;
52
+ display: flex;
53
+ flex-direction: row;
54
+ align-items: center;
55
+ flex: 0 0 auto;
56
+ flex-wrap: nowrap;
57
+ white-space: nowrap;
58
+ }
59
+
60
+ .adornment.start {
61
+ margin-left: 10px;
62
+ margin-right: -10px;
63
+ }
64
+
65
+ .adornment.end {
66
+ margin-left: -5px;
67
+ margin-right: 10px;
68
+ }
69
+
70
+ .inputBase {
71
+ position: relative;
72
+ display: inline-flex;
73
+ flex-direction: row;
74
+ align-items: center;
75
+ flex: 1;
76
+ overflow: hidden;
77
+ z-index: 0;
78
+ }
79
+
80
+ .label {
81
+ transition: 0.2s ease all;
82
+ color: #000;
83
+ padding: 0;
84
+ display: block;
85
+ transform-origin: left top;
86
+ white-space: nowrap;
87
+ overflow: hidden;
88
+ text-overflow: ellipsis;
89
+ max-width: calc(100% - 20px);
90
+ position: absolute;
91
+ left: 14px;
92
+ top: 48%;
93
+ transform: translateY(-50%) scale(1);
94
+ pointer-events: none;
95
+ opacity: 0.5;
96
+ }
97
+ .required {
98
+ margin-left: 4px;
99
+ color: #ff0202;
100
+ }
101
+
102
+ .inputBase.open {
103
+ position: unset;
104
+ }
105
+
106
+ .inputBase.open .label {
107
+ background: linear-gradient(0deg, var(--label-bg, #ffffff) 50%, rgba(255, 255, 255, 0) 50%);
108
+ transform: translateY(-50%) scale(0.75);
109
+ top: 1px;
110
+ left: 8px;
111
+ padding: 0 10px;
112
+ color: #3f4d67;
113
+ opacity: 1;
114
+ z-index: 2;
115
+ }
116
+
117
+ .input {
118
+ font-size: 1rem;
119
+ line-height: 1.8rem;
120
+ letter-spacing: inherit;
121
+ color: currentcolor;
122
+ box-sizing: content-box;
123
+ background: none;
124
+ margin: 0;
125
+ display: block;
126
+ min-width: 0;
127
+ width: 100%;
128
+ padding: 9px 14px;
129
+ border: none;
130
+ outline: none;
131
+ z-index: 1;
132
+ text-overflow: ellipsis;
133
+ border-radius: 6px;
134
+ }
135
+ .input[type='number']::-webkit-outer-spin-button,
136
+ .input[type='number']::-webkit-inner-spin-button {
137
+ appearance: none;
138
+ }
139
+
140
+ .input[readonly] {
141
+ cursor: default;
142
+ }
143
+
144
+ .input:disabled {
145
+ background: #ebebeb;
146
+ cursor: not-allowed;
147
+ color: #000;
148
+ opacity: 0.7;
149
+ }
150
+
151
+ .input.select {
152
+ padding: 13px 14px;
153
+ margin-right: 5px;
154
+ }
155
+
156
+ .input.textarea {
157
+ resize: vertical;
158
+ }
159
+ .input.textarea::-webkit-resizer {
160
+ display: none;
161
+ }
162
+
163
+ .loading {
164
+ position: relative;
165
+ margin: 0 15px;
166
+ width: 24px;
167
+ height: 24px;
168
+ }
169
+ .loading:before {
170
+ position: absolute;
171
+ display: block;
172
+ content: '';
173
+ z-index: 12;
174
+ top: 2px;
175
+ left: 2px;
176
+ width: 20px;
177
+ height: 20px;
178
+ border-radius: 50%;
179
+ background-color: #fff;
180
+ }
181
+
182
+ .loading:after {
183
+ position: absolute;
184
+ display: block;
185
+ content: '';
186
+ z-index: 11;
187
+ width: 12px;
188
+ height: 12px;
189
+ border-radius: 200px 0 0;
190
+ background: linear-gradient(45deg, rgba(0, 0, 0, 0) 0, rgba(69, 154, 215, 1) 50%, rgba(69, 154, 215, 1) 100%);
191
+ animation: loading 0.5s linear infinite;
192
+ }
193
+ @keyframes loading {
194
+ 0% {
195
+ transform-origin: 100% 100%;
196
+ transform: rotate(0deg);
197
+ }
198
+
199
+ 100% {
200
+ transform-origin: 100% 100%;
201
+ transform: rotate(360deg);
202
+ }
203
+ }
204
+
205
+ .checkbox {
206
+ position: relative;
207
+ display: inline-flex;
208
+ align-items: center;
209
+ justify-content: flex-start;
210
+ gap: 8px;
211
+ box-sizing: border-box;
212
+ font-size: 1rem;
213
+ line-height: 1.4375em;
214
+ user-select: none;
215
+ }
216
+
217
+ .checkbox input,
218
+ .checkbox label {
219
+ margin: 0;
220
+ cursor: pointer !important;
221
+ }
@@ -0,0 +1,31 @@
1
+ .label {
2
+ width: 100%;
3
+ height: 100%;
4
+ align-items: center;
5
+ justify-content: flex-end;
6
+ text-align: right;
7
+ color: inherit;
8
+ display: inline-flex;
9
+ flex: 1;
10
+ padding-right: 5px;
11
+ }
12
+
13
+ @media (max-width: 960px) {
14
+ .label {
15
+ justify-content: flex-start !important;
16
+ margin-bottom: 10px;
17
+ padding-left: 5px;
18
+ text-align: left;
19
+ }
20
+ }
21
+
22
+ .required {
23
+ content: " ";
24
+ width: 10px;
25
+ color: #dc160f;
26
+ margin-left: 3px;
27
+ font-size: small;
28
+ vertical-align: super;
29
+ padding: 0 3px;
30
+ cursor: pointer;
31
+ }
@@ -0,0 +1,80 @@
1
+ .searchableInputComponent {
2
+ cursor: unset;
3
+ }
4
+ .searchableInputComponent input {
5
+
6
+ }
7
+
8
+ .searchableInputComponent :global(.listDiv) {
9
+ position: relative;
10
+ margin-top: -4px;
11
+ z-index: 1000;
12
+ }
13
+
14
+ .searchableInputComponent :global(.listDiv[data-relative="true"]) {
15
+ z-index: 1 !important;
16
+ }
17
+ .searchableInputComponent :global(.listDiv[data-relative="true"]) > ul {
18
+ position: relative !important;
19
+ }
20
+
21
+ .searchableInputComponent :global(.list) {
22
+ position: absolute;
23
+ top: 3px;
24
+ left: 1%;
25
+ width: 98%;
26
+ height: 0;
27
+ overflow: hidden;
28
+ background: transparent;
29
+ margin: 0;
30
+ padding: 0;
31
+ list-style: none;
32
+ }
33
+
34
+ .searchableInputComponent :global(.list.open) {
35
+ height: auto;
36
+ max-height: 300px;
37
+ overflow-x: hidden;
38
+ overflow-y: visible;
39
+ padding: 5px 0;
40
+ border: 1px #ced4da solid;
41
+ background: #fff;
42
+ }
43
+
44
+ .searchableInputComponent :global(.list li) {
45
+ cursor: pointer;
46
+ display: block;
47
+ padding: 8px 10px;
48
+ text-overflow: ellipsis;
49
+ overflow: hidden;
50
+ white-space: nowrap;
51
+ }
52
+
53
+ .searchableInputComponent :global(.list li:hover),
54
+ .searchableInputComponent :global(.list li.selected) {
55
+ background: #d9e0e3;
56
+ }
57
+
58
+ .searchableInputComponent :global(.list li.active) {
59
+ background: #cbe2ef;
60
+ font-weight: 500;
61
+ }
62
+
63
+ .searchableInputComponent :global(.newCreate) {
64
+ margin-right: 5px;
65
+ font-style: italic;
66
+ }
67
+
68
+ .searchableInputComponent :global(.message) {
69
+ text-overflow: ellipsis;
70
+ overflow: hidden;
71
+ white-space: nowrap;
72
+ display: block;
73
+ padding: 15px 10px;
74
+ cursor: default;
75
+ }
76
+ .searchableInputComponent :global(.loading) {
77
+ padding: 5px 10px;
78
+ background-color: #ced4da38;
79
+ text-align: center;
80
+ }
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ export type typeSpacingValues = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
3
+ export type typeJustifyContent = 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
4
+ export type typeAlignItems = 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';
5
+ export type typeAlignContent = 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
6
+ export interface RowProps {
7
+ children: React.ReactNode;
8
+ className?: string;
9
+ style?: React.CSSProperties;
10
+ flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
11
+ flexWrap?: 'wrap' | 'wrap-reverse' | 'nowrap';
12
+ justifyContent?: typeJustifyContent;
13
+ alignContent?: typeAlignContent;
14
+ alignItems?: typeAlignItems;
15
+ rowSpacing?: typeSpacingValues;
16
+ colSpacing?: typeSpacingValues;
17
+ }
18
+ export declare const Row: React.FC<RowProps>;
19
+ export type GridValues = 'auto' | 'full' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
20
+ export interface ColProps {
21
+ children?: React.ReactNode;
22
+ className?: string;
23
+ style?: React.CSSProperties;
24
+ xs?: GridValues;
25
+ sm?: GridValues;
26
+ md?: GridValues;
27
+ lg?: GridValues;
28
+ xl?: GridValues;
29
+ xxl?: GridValues;
30
+ }
31
+ export declare const Col: React.FC<ColProps>;
32
+ export interface HiddenProps {
33
+ children: React.ReactElement;
34
+ hidden?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
35
+ onlyHidden?: ('xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl')[];
36
+ }
37
+ export declare const Hidden: React.FC<HiddenProps>;
38
+ export declare const DevelopGridComponent: React.FC;
@@ -0,0 +1,97 @@
1
+ import { __assign, __rest, __spreadArray } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useState } from 'react';
4
+ import styles from './index.module.css';
5
+ export var Row = function (_a) {
6
+ var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, style = _a.style, _c = _a.flexDirection, flexDirection = _c === void 0 ? 'row' : _c, _d = _a.flexWrap, flexWrap = _d === void 0 ? 'wrap' : _d, _e = _a.justifyContent, justifyContent = _e === void 0 ? 'flex-start' : _e, _f = _a.alignContent, alignContent = _f === void 0 ? 'center' : _f, _g = _a.alignItems, alignItems = _g === void 0 ? 'center' : _g, _h = _a.rowSpacing, rowSpacing = _h === void 0 ? 2 : _h, _j = _a.colSpacing, colSpacing = _j === void 0 ? 2 : _j, other = __rest(_a, ["children", "className", "style", "flexDirection", "flexWrap", "justifyContent", "alignContent", "alignItems", "rowSpacing", "colSpacing"]);
7
+ var classes = [
8
+ styles.row,
9
+ rowSpacing !== undefined && styles["row-spacing-".concat(rowSpacing)],
10
+ colSpacing !== undefined && styles["col-spacing-".concat(colSpacing)],
11
+ flexDirection !== 'row' && styles["flex-".concat(flexDirection.replace('-', '-'))],
12
+ flexWrap !== 'wrap' && styles["flex-".concat(flexWrap)],
13
+ justifyContent !== 'flex-start' && styles["justify-".concat(justifyContent.replace('flex-', '').replace('space-', ''))],
14
+ alignItems !== 'center' && styles["align-items-".concat(alignItems.replace('flex-', ''))],
15
+ alignContent !== 'center' && styles["align-content-".concat(alignContent.replace('flex-', ''))],
16
+ className
17
+ ]
18
+ .filter(Boolean)
19
+ .join(' ');
20
+ return (_jsx("div", __assign({ className: classes, style: style }, other, { children: children })));
21
+ };
22
+ export var Col = function (_a) {
23
+ // Cascading logic - aynı sizin component'inizdeki gibi
24
+ var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, style = _a.style, xs = _a.xs, sm = _a.sm, md = _a.md, lg = _a.lg, xl = _a.xl, xxl = _a.xxl, other = __rest(_a, ["children", "className", "style", "xs", "sm", "md", "lg", "xl", "xxl"]);
25
+ var classes = [
26
+ styles.col,
27
+ // Sadece belirtilen breakpoint'ler için class ekle
28
+ xs && styles["col-xs-".concat(xs)],
29
+ sm && styles["col-sm-".concat(sm)],
30
+ md && styles["col-md-".concat(md)],
31
+ lg && styles["col-lg-".concat(lg)],
32
+ xl && styles["col-xl-".concat(xl)],
33
+ xxl && styles["col-xxl-".concat(xxl)],
34
+ className
35
+ ]
36
+ .filter(Boolean)
37
+ .join(' ');
38
+ return (_jsx("div", __assign({ className: classes, style: style }, other, { children: children })));
39
+ };
40
+ export var Hidden = function (_a) {
41
+ var children = _a.children, hidden = _a.hidden, onlyHidden = _a.onlyHidden, other = __rest(_a, ["children", "hidden", "onlyHidden"]);
42
+ var existingClassName = children.props.className || '';
43
+ var hiddenClasses = [];
44
+ if (onlyHidden) {
45
+ onlyHidden.forEach(function (breakpoint) {
46
+ hiddenClasses.push(styles["hidden-".concat(breakpoint)]);
47
+ });
48
+ }
49
+ else if (hidden) {
50
+ // Orijinal mantık: seçilen breakpoint ve altındaki tüm breakpoint'ler gizlenir
51
+ var breakpoints = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
52
+ var targetIndex = breakpoints.indexOf(hidden);
53
+ if (targetIndex !== -1) {
54
+ for (var i = 0; i <= targetIndex; i++) {
55
+ hiddenClasses.push(styles["hidden-".concat(breakpoints[i])]);
56
+ }
57
+ }
58
+ }
59
+ var newClassName = __spreadArray([existingClassName], hiddenClasses, true).filter(Boolean).join(' ');
60
+ return React.cloneElement(children, __assign({ className: newClassName }, other));
61
+ };
62
+ export var DevelopGridComponent = function () {
63
+ var _a = useState(''), currentBreakpoint = _a[0], setCurrentBreakpoint = _a[1];
64
+ // Breakpoint detector
65
+ React.useEffect(function () {
66
+ var updateBreakpoint = function () {
67
+ var width = window.innerWidth;
68
+ var breakpoint = '';
69
+ if (width <= 576)
70
+ breakpoint = 'XS (≤576px)';
71
+ else if (width <= 768)
72
+ breakpoint = 'SM (577-768px)';
73
+ else if (width <= 992)
74
+ breakpoint = 'MD (769-992px)';
75
+ else if (width <= 1200)
76
+ breakpoint = 'LG (993-1200px)';
77
+ else if (width <= 1400)
78
+ breakpoint = 'XL (1201-1400px)';
79
+ else
80
+ breakpoint = 'XXL (≥1401px)';
81
+ setCurrentBreakpoint(breakpoint);
82
+ };
83
+ updateBreakpoint();
84
+ window.addEventListener('resize', updateBreakpoint);
85
+ return function () { return window.removeEventListener('resize', updateBreakpoint); };
86
+ }, []);
87
+ return (_jsxs("div", { style: {
88
+ position: 'fixed',
89
+ bottom: '10px',
90
+ right: '10px',
91
+ background: '#333',
92
+ color: 'white',
93
+ padding: '10px',
94
+ borderRadius: '4px',
95
+ zIndex: 9999999
96
+ }, children: ["Current: ", currentBreakpoint] }));
97
+ };