funda-ui 1.0.272

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 (246) hide show
  1. package/BackToTop/index.css +34 -0
  2. package/BackToTop/index.d.ts +11 -0
  3. package/BackToTop/index.js +458 -0
  4. package/CascadingSelect/index.css +159 -0
  5. package/CascadingSelect/index.d.ts +56 -0
  6. package/CascadingSelect/index.js +958 -0
  7. package/CascadingSelectE2E/index.css +159 -0
  8. package/CascadingSelectE2E/index.d.ts +60 -0
  9. package/CascadingSelectE2E/index.js +1126 -0
  10. package/Checkbox/index.d.ts +30 -0
  11. package/Checkbox/index.js +226 -0
  12. package/ColorPicker/index.css +38 -0
  13. package/ColorPicker/index.d.ts +27 -0
  14. package/ColorPicker/index.js +246 -0
  15. package/DigitalClock/index.d.ts +7 -0
  16. package/DigitalClock/index.js +208 -0
  17. package/DropdownMenu/index.css +127 -0
  18. package/DropdownMenu/index.d.ts +37 -0
  19. package/DropdownMenu/index.js +237 -0
  20. package/DynamicFields/index.d.ts +26 -0
  21. package/DynamicFields/index.js +412 -0
  22. package/File/index.d.ts +36 -0
  23. package/File/index.js +473 -0
  24. package/Input/index.d.ts +42 -0
  25. package/Input/index.js +286 -0
  26. package/LiveSearch/index.d.ts +37 -0
  27. package/LiveSearch/index.js +1195 -0
  28. package/ModalDialog/index.d.ts +60 -0
  29. package/ModalDialog/index.js +725 -0
  30. package/ModeSwitch/index.d.ts +17 -0
  31. package/ModeSwitch/index.js +202 -0
  32. package/MultiFuncSelect/index.css +178 -0
  33. package/MultiFuncSelect/index.d.ts +67 -0
  34. package/MultiFuncSelect/index.js +1826 -0
  35. package/MultilevelDropdownMenu/index.css +35 -0
  36. package/MultilevelDropdownMenu/index.d.ts +25 -0
  37. package/MultilevelDropdownMenu/index.js +464 -0
  38. package/Pagination/index.d.ts +49 -0
  39. package/Pagination/index.js +341 -0
  40. package/README.md +108 -0
  41. package/Radio/index.d.ts +31 -0
  42. package/Radio/index.js +246 -0
  43. package/RangeSlider/index.css +149 -0
  44. package/RangeSlider/index.d.ts +21 -0
  45. package/RangeSlider/index.js +730 -0
  46. package/ScrollReveal/index.css +23 -0
  47. package/ScrollReveal/index.d.ts +21 -0
  48. package/ScrollReveal/index.js +216 -0
  49. package/Scrollbar/index.css +168 -0
  50. package/Scrollbar/index.d.ts +15 -0
  51. package/Scrollbar/index.js +605 -0
  52. package/SearchBar/index.d.ts +32 -0
  53. package/SearchBar/index.js +246 -0
  54. package/Select/index.d.ts +34 -0
  55. package/Select/index.js +331 -0
  56. package/ShowMoreLess/index.css +23 -0
  57. package/ShowMoreLess/index.d.ts +30 -0
  58. package/ShowMoreLess/index.js +202 -0
  59. package/Switch/index.d.ts +29 -0
  60. package/Switch/index.js +211 -0
  61. package/Table/index.css +533 -0
  62. package/Table/index.d.ts +25 -0
  63. package/Table/index.js +2113 -0
  64. package/Tabs/index.d.ts +3 -0
  65. package/Tabs/index.js +323 -0
  66. package/TagInput/index.css +90 -0
  67. package/TagInput/index.d.ts +28 -0
  68. package/TagInput/index.js +370 -0
  69. package/Textarea/index.d.ts +30 -0
  70. package/Textarea/index.js +242 -0
  71. package/Toast/index.css +95 -0
  72. package/Toast/index.d.ts +35 -0
  73. package/Toast/index.js +340 -0
  74. package/Tooltip/index.css +240 -0
  75. package/Tooltip/index.d.ts +19 -0
  76. package/Tooltip/index.js +200 -0
  77. package/Tree/index.css +225 -0
  78. package/Tree/index.d.ts +37 -0
  79. package/Tree/index.js +1406 -0
  80. package/all.d.ts +33 -0
  81. package/all.js +35 -0
  82. package/lib/cjs/BackToTop/index.d.ts +11 -0
  83. package/lib/cjs/BackToTop/index.js +458 -0
  84. package/lib/cjs/CascadingSelect/index.d.ts +56 -0
  85. package/lib/cjs/CascadingSelect/index.js +958 -0
  86. package/lib/cjs/CascadingSelectE2E/index.d.ts +60 -0
  87. package/lib/cjs/CascadingSelectE2E/index.js +1126 -0
  88. package/lib/cjs/Checkbox/index.d.ts +30 -0
  89. package/lib/cjs/Checkbox/index.js +226 -0
  90. package/lib/cjs/ColorPicker/index.d.ts +27 -0
  91. package/lib/cjs/ColorPicker/index.js +246 -0
  92. package/lib/cjs/DigitalClock/index.d.ts +7 -0
  93. package/lib/cjs/DigitalClock/index.js +208 -0
  94. package/lib/cjs/DropdownMenu/index.d.ts +37 -0
  95. package/lib/cjs/DropdownMenu/index.js +237 -0
  96. package/lib/cjs/DynamicFields/index.d.ts +26 -0
  97. package/lib/cjs/DynamicFields/index.js +412 -0
  98. package/lib/cjs/File/index.d.ts +36 -0
  99. package/lib/cjs/File/index.js +473 -0
  100. package/lib/cjs/Input/index.d.ts +42 -0
  101. package/lib/cjs/Input/index.js +286 -0
  102. package/lib/cjs/LiveSearch/index.d.ts +37 -0
  103. package/lib/cjs/LiveSearch/index.js +1195 -0
  104. package/lib/cjs/ModalDialog/index.d.ts +60 -0
  105. package/lib/cjs/ModalDialog/index.js +725 -0
  106. package/lib/cjs/ModeSwitch/index.d.ts +17 -0
  107. package/lib/cjs/ModeSwitch/index.js +202 -0
  108. package/lib/cjs/MultiFuncSelect/index.d.ts +67 -0
  109. package/lib/cjs/MultiFuncSelect/index.js +1826 -0
  110. package/lib/cjs/MultilevelDropdownMenu/index.d.ts +25 -0
  111. package/lib/cjs/MultilevelDropdownMenu/index.js +464 -0
  112. package/lib/cjs/Pagination/index.d.ts +49 -0
  113. package/lib/cjs/Pagination/index.js +341 -0
  114. package/lib/cjs/Radio/index.d.ts +31 -0
  115. package/lib/cjs/Radio/index.js +246 -0
  116. package/lib/cjs/RangeSlider/index.d.ts +21 -0
  117. package/lib/cjs/RangeSlider/index.js +730 -0
  118. package/lib/cjs/ScrollReveal/index.d.ts +21 -0
  119. package/lib/cjs/ScrollReveal/index.js +216 -0
  120. package/lib/cjs/Scrollbar/index.d.ts +15 -0
  121. package/lib/cjs/Scrollbar/index.js +605 -0
  122. package/lib/cjs/SearchBar/index.d.ts +32 -0
  123. package/lib/cjs/SearchBar/index.js +246 -0
  124. package/lib/cjs/Select/index.d.ts +34 -0
  125. package/lib/cjs/Select/index.js +331 -0
  126. package/lib/cjs/ShowMoreLess/index.d.ts +30 -0
  127. package/lib/cjs/ShowMoreLess/index.js +202 -0
  128. package/lib/cjs/Switch/index.d.ts +29 -0
  129. package/lib/cjs/Switch/index.js +211 -0
  130. package/lib/cjs/Table/index.d.ts +25 -0
  131. package/lib/cjs/Table/index.js +2113 -0
  132. package/lib/cjs/Tabs/index.d.ts +3 -0
  133. package/lib/cjs/Tabs/index.js +323 -0
  134. package/lib/cjs/TagInput/index.d.ts +28 -0
  135. package/lib/cjs/TagInput/index.js +370 -0
  136. package/lib/cjs/Textarea/index.d.ts +30 -0
  137. package/lib/cjs/Textarea/index.js +242 -0
  138. package/lib/cjs/Toast/index.d.ts +35 -0
  139. package/lib/cjs/Toast/index.js +340 -0
  140. package/lib/cjs/Tooltip/index.d.ts +19 -0
  141. package/lib/cjs/Tooltip/index.js +200 -0
  142. package/lib/cjs/Tree/index.d.ts +37 -0
  143. package/lib/cjs/Tree/index.js +1406 -0
  144. package/lib/cjs/index.d.ts +33 -0
  145. package/lib/cjs/index.js +35 -0
  146. package/lib/css/BackToTop/index.css +34 -0
  147. package/lib/css/CascadingSelect/index.css +159 -0
  148. package/lib/css/CascadingSelectE2E/index.css +159 -0
  149. package/lib/css/ColorPicker/index.css +38 -0
  150. package/lib/css/DropdownMenu/index.css +127 -0
  151. package/lib/css/MultiFuncSelect/index.css +178 -0
  152. package/lib/css/MultilevelDropdownMenu/index.css +35 -0
  153. package/lib/css/RangeSlider/index.css +149 -0
  154. package/lib/css/ScrollReveal/index.css +23 -0
  155. package/lib/css/Scrollbar/index.css +168 -0
  156. package/lib/css/ShowMoreLess/index.css +23 -0
  157. package/lib/css/Table/index.css +533 -0
  158. package/lib/css/TagInput/index.css +90 -0
  159. package/lib/css/Toast/index.css +95 -0
  160. package/lib/css/Tooltip/index.css +240 -0
  161. package/lib/css/Tree/index.css +225 -0
  162. package/lib/esm/BackToTop/index.scss +47 -0
  163. package/lib/esm/BackToTop/index.tsx +182 -0
  164. package/lib/esm/BackToTop/utils/easing.js +200 -0
  165. package/lib/esm/BackToTop/utils/performance.js +52 -0
  166. package/lib/esm/CascadingSelect/Group.tsx +39 -0
  167. package/lib/esm/CascadingSelect/index.scss +214 -0
  168. package/lib/esm/CascadingSelect/index.tsx +922 -0
  169. package/lib/esm/CascadingSelect/utils/performance.js +52 -0
  170. package/lib/esm/CascadingSelectE2E/Group.tsx +39 -0
  171. package/lib/esm/CascadingSelectE2E/index.scss +214 -0
  172. package/lib/esm/CascadingSelectE2E/index.tsx +1091 -0
  173. package/lib/esm/CascadingSelectE2E/utils/performance.js +52 -0
  174. package/lib/esm/Checkbox/index.tsx +160 -0
  175. package/lib/esm/ColorPicker/index.scss +48 -0
  176. package/lib/esm/ColorPicker/index.tsx +187 -0
  177. package/lib/esm/DigitalClock/index.tsx +72 -0
  178. package/lib/esm/DigitalClock/utils/useInterval.js +43 -0
  179. package/lib/esm/DropdownMenu/Option.tsx +27 -0
  180. package/lib/esm/DropdownMenu/index.scss +180 -0
  181. package/lib/esm/DropdownMenu/index.tsx +148 -0
  182. package/lib/esm/DynamicFields/index.tsx +386 -0
  183. package/lib/esm/File/index.tsx +302 -0
  184. package/lib/esm/Input/index.tsx +233 -0
  185. package/lib/esm/LiveSearch/index.tsx +582 -0
  186. package/lib/esm/LiveSearch/utils/performance.js +52 -0
  187. package/lib/esm/LiveSearch/utils/useThrottle.js +36 -0
  188. package/lib/esm/ModalDialog/index.tsx +479 -0
  189. package/lib/esm/ModalDialog/plugins/BSL/bodyScrollLock.es6.js +262 -0
  190. package/lib/esm/ModalDialog/plugins/BSL/index.ts +2 -0
  191. package/lib/esm/ModeSwitch/index.tsx +82 -0
  192. package/lib/esm/MultiFuncSelect/index.scss +269 -0
  193. package/lib/esm/MultiFuncSelect/index.tsx +1597 -0
  194. package/lib/esm/MultiFuncSelect/utils/performance.js +52 -0
  195. package/lib/esm/MultiFuncSelect/utils/tree.js +103 -0
  196. package/lib/esm/MultiFuncSelect/utils/useThrottle.js +36 -0
  197. package/lib/esm/MultilevelDropdownMenu/MenuList.tsx +230 -0
  198. package/lib/esm/MultilevelDropdownMenu/index.scss +75 -0
  199. package/lib/esm/MultilevelDropdownMenu/index.tsx +71 -0
  200. package/lib/esm/MultilevelDropdownMenu/utils/dom.js +81 -0
  201. package/lib/esm/Pagination/index.tsx +230 -0
  202. package/lib/esm/Pagination/pagination-navigators.tsx +60 -0
  203. package/lib/esm/Radio/index.tsx +201 -0
  204. package/lib/esm/RangeSlider/index.scss +184 -0
  205. package/lib/esm/RangeSlider/index.tsx +223 -0
  206. package/lib/esm/ScrollReveal/index.scss +27 -0
  207. package/lib/esm/ScrollReveal/index.tsx +146 -0
  208. package/lib/esm/Scrollbar/index.scss +217 -0
  209. package/lib/esm/Scrollbar/index.tsx +497 -0
  210. package/lib/esm/Scrollbar/utils/performance.js +52 -0
  211. package/lib/esm/SearchBar/index.tsx +181 -0
  212. package/lib/esm/Select/index.tsx +276 -0
  213. package/lib/esm/ShowMoreLess/index.scss +27 -0
  214. package/lib/esm/ShowMoreLess/index.tsx +144 -0
  215. package/lib/esm/Switch/index.tsx +143 -0
  216. package/lib/esm/Table/TableColgroup.tsx +29 -0
  217. package/lib/esm/Table/TableField.tsx +40 -0
  218. package/lib/esm/Table/TableFieldRow.tsx +212 -0
  219. package/lib/esm/Table/TableHeaders.tsx +146 -0
  220. package/lib/esm/Table/TableRow.tsx +127 -0
  221. package/lib/esm/Table/TableSummaries.tsx +36 -0
  222. package/lib/esm/Table/index.scss +364 -0
  223. package/lib/esm/Table/index.tsx +576 -0
  224. package/lib/esm/Table/table-utils.ts +65 -0
  225. package/lib/esm/Table/utils/dom.js +81 -0
  226. package/lib/esm/Table/utils/performance.js +52 -0
  227. package/lib/esm/Tabs/TabList.tsx +42 -0
  228. package/lib/esm/Tabs/TabPanel.tsx +34 -0
  229. package/lib/esm/Tabs/Tabs.tsx +232 -0
  230. package/lib/esm/Tabs/index.tsx +3 -0
  231. package/lib/esm/TagInput/index.scss +125 -0
  232. package/lib/esm/TagInput/index.tsx +314 -0
  233. package/lib/esm/Textarea/index.tsx +178 -0
  234. package/lib/esm/Toast/Item.tsx +75 -0
  235. package/lib/esm/Toast/index.scss +120 -0
  236. package/lib/esm/Toast/index.tsx +249 -0
  237. package/lib/esm/Tooltip/index.scss +327 -0
  238. package/lib/esm/Tooltip/index.tsx +142 -0
  239. package/lib/esm/Tree/TreeList.tsx +503 -0
  240. package/lib/esm/Tree/index.scss +375 -0
  241. package/lib/esm/Tree/index.tsx +301 -0
  242. package/lib/esm/Tree/init-height.tsx +27 -0
  243. package/lib/esm/Tree/utils/convert-tree.js +29 -0
  244. package/lib/esm/Tree/utils/dom.js +81 -0
  245. package/lib/esm/index.js +31 -0
  246. package/package.json +40 -0
@@ -0,0 +1,127 @@
1
+ import React from 'react';
2
+
3
+ import Radio from 'rpb-radio';
4
+
5
+ import TableField from './TableField';
6
+ import TableFieldRow from './TableFieldRow';
7
+
8
+ import { formatPerlineControlVal } from './table-utils';
9
+
10
+
11
+ /* Table Row
12
+ -------------------------------------------------*/
13
+ type TableRowProps = {
14
+ index: React.Key;
15
+ data?: any[];
16
+ headerLabel?: any[];
17
+ checkboxNamePrefix?: string;
18
+ rowKey?: string;
19
+ draggable?: boolean;
20
+ useRadio?: boolean;
21
+ getCheckedPrint?: any[];
22
+ updateCheckedPrint?: any;
23
+ getCheckedData?: any[];
24
+ updategetCheckedData?: any;
25
+ getCheckedRootData?: any[];
26
+ updategetCheckedRootData?: any;
27
+ onClick?: (el: any, val: any) => void;
28
+ onCheck?: (val: any) => void;
29
+ evDragEnd?: (option: any) => void | undefined;
30
+ evDragStart?: (option: any) => void | undefined;
31
+ };
32
+
33
+ const TableRow = (props: TableRowProps) => {
34
+
35
+ const {
36
+ index,
37
+ data,
38
+ headerLabel,
39
+ checkboxNamePrefix,
40
+ rowKey,
41
+ getCheckedPrint,
42
+ updateCheckedPrint,
43
+ getCheckedData,
44
+ updategetCheckedData,
45
+ getCheckedRootData,
46
+ updategetCheckedRootData,
47
+ draggable,
48
+ useRadio,
49
+ onClick,
50
+ onCheck,
51
+ evDragEnd,
52
+ evDragStart
53
+ } = props;
54
+
55
+
56
+ const nonExistentRowKey = `row-null`;
57
+ const rowChecked = getCheckedData!.filter((cur: any) => cur.key === rowKey)[0]?.checked;
58
+
59
+ function handleClick(event: any) {
60
+ const curVal: any = formatPerlineControlVal(event.currentTarget)
61
+ onClick?.(event, curVal);
62
+ }
63
+
64
+ return (
65
+ <>
66
+ <tr draggable={draggable} onDragEnd={evDragEnd} onDragStart={evDragStart} data-id={index} data-key={rowKey} className={`row-obj ${rowChecked ? 'active' : ''} ${typeof onClick === 'undefined' ? '' : 'clickable'}`} onClick={handleClick}>
67
+ {data ? data.map((el: any, i: number) => {
68
+ let headerItem = headerLabel![i];
69
+ if (headerItem === undefined) headerItem = {type: false, content: ''};
70
+
71
+ if ( i === 0 ) {
72
+ return <TableFieldRow
73
+ key={'th-row' + i}
74
+ useRadio={useRadio}
75
+ columnHeader={headerItem.content.replace(/(<([^>]+)>)/ig, '')}
76
+ cols={el.cols}
77
+ content={el.content}
78
+ width={el.width}
79
+ style={el.style}
80
+ index={i}
81
+ checkboxNamePrefix={checkboxNamePrefix}
82
+ rowKey={rowKey}
83
+ updateCheckedPrint={updateCheckedPrint}
84
+ getCheckedPrint={getCheckedPrint}
85
+ updategetCheckedData={updategetCheckedData}
86
+ getCheckedData={getCheckedData}
87
+ updategetCheckedRootData={updategetCheckedRootData}
88
+ getCheckedRootData={getCheckedRootData}
89
+ onCheck={onCheck}
90
+ draggable={draggable}
91
+ />;
92
+ } else {
93
+ return <TableField
94
+ key={'td-row' + i}
95
+ columnHeader={headerItem.content.replace(/(<([^>]+)>)/ig, '')}
96
+ cols={el.cols}
97
+ content={el.content}
98
+ width={el.width}
99
+ style={el.style}
100
+ index={i}
101
+ />;
102
+ }
103
+
104
+ }) : null}
105
+
106
+
107
+ {useRadio ? <>
108
+ <td style={{display: 'none'}}>
109
+ <Radio
110
+ wrapperClassName=""
111
+ options={`{
112
+ "":"${nonExistentRowKey}"}`}
113
+ name={`checkbox-${checkboxNamePrefix}-0`}
114
+ tabIndex={-1}
115
+ data-index={`${nonExistentRowKey?.replace('row-', '')}`}
116
+ data-key={`${nonExistentRowKey}`}
117
+ value={`${nonExistentRowKey}`}
118
+ />
119
+ </td>
120
+ </> : null}
121
+ </tr>
122
+
123
+ </>
124
+ )
125
+ }
126
+
127
+ export default TableRow;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+
3
+ /* Table Summaries
4
+ -------------------------------------------------*/
5
+ type TableSummariesProps = {
6
+ data: any[];
7
+ footClassName?: string;
8
+ };
9
+
10
+
11
+ const TableSummaries = (props: TableSummariesProps) => {
12
+
13
+ const {
14
+ data,
15
+ footClassName
16
+ } = props;
17
+
18
+
19
+ return data ? (
20
+ <>
21
+
22
+ <tfoot className={footClassName ? footClassName : ''}>
23
+ <tr>
24
+ {data!.map((item: any, i: number) => {
25
+ return <th key={i}>{item}</th>;
26
+ })
27
+ }
28
+ </tr>
29
+ </tfoot>
30
+ </>
31
+ ) : null;
32
+
33
+ }
34
+
35
+ export default TableSummaries;
36
+
@@ -0,0 +1,364 @@
1
+ /* ======================================================
2
+ <!-- Table -->
3
+ /* ====================================================== */
4
+
5
+ .table__wrapper {
6
+ --table-alternant-bg: #f0f0f0;
7
+ --table-dark-bg: #212529;
8
+ --table-padding-x: 1rem;
9
+ --table-padding-y: 0.5rem;
10
+ --table-dis-top: 1rem;
11
+ --table-checkbox-indeterminate-color: #bbbbbb;
12
+ --table-row-active-bg: #f0f8ff;
13
+
14
+ table {
15
+
16
+ td,
17
+ th {
18
+ position: relative;
19
+ }
20
+
21
+ tr {
22
+ transition: 0.1s ease-in-out;
23
+
24
+ &.active {
25
+ background-color: var(--table-row-active-bg);
26
+ }
27
+
28
+ &.clickable {
29
+ cursor: pointer;
30
+ }
31
+
32
+ }
33
+
34
+ &.table-colgroup {
35
+ tbody tr td:first-child,
36
+ tbody tr th:first-child {
37
+ color: #fff;
38
+ }
39
+
40
+ col:nth-child(odd) {
41
+ background-color: var(--table-alternant-bg);
42
+ }
43
+
44
+ col:first-child {
45
+ background-color: var(--table-dark-bg);
46
+ }
47
+
48
+ }
49
+
50
+ }
51
+
52
+ .sort-trigger {
53
+ cursor: pointer;
54
+
55
+ svg {
56
+ transition: 0.1s ease-in-out;
57
+ opacity: .3;
58
+ }
59
+
60
+ &:hover svg {
61
+ transform: scale(1.2);
62
+ opacity: .7;
63
+ }
64
+
65
+ }
66
+
67
+ .checkbox-trigger {
68
+ display: none;
69
+ position: absolute;
70
+ left: calc(var(--table-padding-x) / 2);
71
+ z-index: 2;
72
+
73
+ > div {
74
+ display: inline-block;
75
+
76
+ .form-check {
77
+ min-height: auto;
78
+ margin-bottom: 0;
79
+
80
+ [type=checkbox]:indeterminate {
81
+ background-color: var(--table-checkbox-indeterminate-color);
82
+ border-color: var(--table-checkbox-indeterminate-color);
83
+ }
84
+
85
+ }
86
+ }
87
+
88
+ }
89
+
90
+ .drag-trigger {
91
+ display: none;
92
+ position: absolute;
93
+ left: calc(var(--table-padding-x) / 2);
94
+ z-index: 3;
95
+ cursor: move;
96
+ opacity: .5;
97
+ }
98
+
99
+
100
+
101
+ /*------ enable sort ------*/
102
+ .newsort {
103
+ animation: table-newsort .5s linear 1 forwards;
104
+ opacity: 0;
105
+ }
106
+
107
+ @for $i from 1 to 100 {
108
+
109
+ .newsort:nth-child(#{$i+1}) {
110
+ animation-delay: #{$i*50}ms;
111
+ }
112
+ }
113
+
114
+
115
+
116
+
117
+ /*------ has checkbox ------*/
118
+ &.has-checkbox {
119
+ .checkbox-trigger {
120
+ display: inline-block;
121
+
122
+ ~span:not(.sort-trigger) {
123
+ display: inline-block;
124
+ padding-left: calc(var(--table-padding-x)*1.5);
125
+ }
126
+ }
127
+
128
+
129
+ }
130
+
131
+
132
+ /*------ allow drag and drop ------*/
133
+ &.allow-dragdrop {
134
+
135
+
136
+ /* Specify a drag trigger point */
137
+ tbody {
138
+
139
+ .row-obj-clonelast {
140
+
141
+ height: 0 !important;
142
+
143
+ td {
144
+ border: none;
145
+ box-shadow: none;
146
+ }
147
+ }
148
+
149
+ td,
150
+ th {
151
+ pointer-events: none;
152
+ user-select: auto;
153
+ }
154
+
155
+ &.drag-trigger-mousedown {
156
+
157
+ td,
158
+ th {
159
+ pointer-events: auto;
160
+ }
161
+ }
162
+
163
+ }
164
+
165
+ /* placeholder */
166
+ .row-placeholder {
167
+ border: 2px dotted #b5ba91;
168
+ background-color: #e4e9c3;
169
+ }
170
+
171
+ /* trigger */
172
+ .drag-trigger {
173
+ display: inline-block;
174
+ pointer-events: auto;
175
+
176
+ ~span:not(.checkbox-trigger) {
177
+ display: inline-block;
178
+ padding-left: calc(var(--table-padding-x)*1.5);
179
+ }
180
+ }
181
+ }
182
+
183
+ &.allow-dragdrop.has-checkbox {
184
+ .drag-trigger {
185
+ ~span:not(.checkbox-trigger) {
186
+ padding-left: calc(var(--table-padding-x)*3);
187
+ }
188
+ }
189
+
190
+ tbody .checkbox-trigger {
191
+ padding-left: calc(var(--table-padding-x)*1.5);
192
+ }
193
+
194
+ }
195
+
196
+
197
+ }
198
+
199
+
200
+ @keyframes table-newsort {
201
+ 0% {
202
+ opacity: 0;
203
+ transform: translateX(10px);
204
+ }
205
+
206
+ 100% {
207
+ opacity: 1;
208
+ transform: translateX(0);
209
+ }
210
+ }
211
+
212
+
213
+
214
+
215
+ @media all and (max-width: 768px) {
216
+
217
+ .table__wrapper {
218
+ --table-border-color: #dee2e6;
219
+ --table-per-shadow: 0 2px 4px 0 rgba(0,0,0,.1);
220
+
221
+ /*------ Enhanced Responsive ------*/
222
+ &.table-enhanced-responsive {
223
+
224
+ table {
225
+
226
+ thead {
227
+ display: none;
228
+ }
229
+
230
+ tbody {
231
+
232
+ tr {
233
+ box-shadow: var(--table-per-shadow);
234
+ margin-bottom: 1rem;
235
+ display: block;
236
+ }
237
+
238
+ tr:nth-of-type(even) {
239
+ //background-color: $table-alternant-bg;
240
+ }
241
+
242
+
243
+ td,
244
+ th {
245
+ display: block;
246
+
247
+
248
+ &::before {
249
+ content: attr(data-table-text);
250
+ display: block;
251
+ float: left;
252
+ width: 40%;
253
+ font-weight: bold;
254
+ border-right: 1px solid var(--table-border-color);
255
+ margin-right: 0.5rem;
256
+ }
257
+
258
+ &::after {
259
+ content: '';
260
+ display: block;
261
+ clear: both;
262
+ }
263
+ }
264
+
265
+ }
266
+
267
+
268
+ }
269
+
270
+ &.has-checkbox {
271
+ .checkbox-trigger {
272
+ position: relative;
273
+ left: auto;
274
+
275
+ ~span {
276
+ padding-left: 0;
277
+ }
278
+ }
279
+
280
+ }
281
+ }
282
+
283
+
284
+
285
+ /*------ Enhanced Responsive with Scroll Bars ------*/
286
+ &.table-enhanced-responsive-scrolled {
287
+
288
+ table {
289
+ display: block;
290
+ width: 100%;
291
+ border-bottom: 0 !important;
292
+ border-left: 0 !important;
293
+ border-right: 0 !important;
294
+ overflow: auto;
295
+
296
+
297
+ thead {
298
+ display: block;
299
+ float: left;
300
+ width: 100px;
301
+ border-bottom: 1px solid var(--table-border-color);
302
+
303
+ th {
304
+ display: block;
305
+
306
+ &:not(last-child) {
307
+ border-bottom: 0;
308
+ }
309
+
310
+ }
311
+ }
312
+
313
+ tbody {
314
+ width: calc(100% - 100px);
315
+ display: block;
316
+ float: left;
317
+ overflow-x: scroll;
318
+ border-bottom: 1px solid var(--table-border-color);
319
+ border-right: 1px solid var(--table-border-color);
320
+ }
321
+
322
+ thead tr,
323
+ tbody tr {
324
+ display: block;
325
+ border-color: var(--table-border-color);
326
+ }
327
+
328
+ th,
329
+ tbody td,
330
+ tbody th {
331
+ box-sizing: border-box;
332
+ overflow-x: hidden;
333
+ overflow-y: auto;
334
+
335
+ &:first-child {
336
+ border-top: 0;
337
+ }
338
+
339
+ &:not(last-child) {
340
+ border-bottom: 0;
341
+ border-right: 0;
342
+ }
343
+
344
+ }
345
+
346
+
347
+ tbody tr {
348
+ display: table-cell;
349
+
350
+ }
351
+
352
+ tbody td,
353
+ tbody th {
354
+ display: block;
355
+ }
356
+
357
+ }
358
+
359
+
360
+ }
361
+ }
362
+
363
+ }
364
+