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,341 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("react"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define(["react"], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["RPB"] = factory(require("react"));
8
+ else
9
+ root["RPB"] = factory(root["React"]);
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE__787__) => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ 787:
16
+ /***/ ((module) => {
17
+
18
+ module.exports = __WEBPACK_EXTERNAL_MODULE__787__;
19
+
20
+ /***/ })
21
+
22
+ /******/ });
23
+ /************************************************************************/
24
+ /******/ // The module cache
25
+ /******/ var __webpack_module_cache__ = {};
26
+ /******/
27
+ /******/ // The require function
28
+ /******/ function __webpack_require__(moduleId) {
29
+ /******/ // Check if module is in cache
30
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
31
+ /******/ if (cachedModule !== undefined) {
32
+ /******/ return cachedModule.exports;
33
+ /******/ }
34
+ /******/ // Create a new module (and put it into the cache)
35
+ /******/ var module = __webpack_module_cache__[moduleId] = {
36
+ /******/ // no module.id needed
37
+ /******/ // no module.loaded needed
38
+ /******/ exports: {}
39
+ /******/ };
40
+ /******/
41
+ /******/ // Execute the module function
42
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
43
+ /******/
44
+ /******/ // Return the exports of the module
45
+ /******/ return module.exports;
46
+ /******/ }
47
+ /******/
48
+ /************************************************************************/
49
+ /******/ /* webpack/runtime/compat get default export */
50
+ /******/ (() => {
51
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
52
+ /******/ __webpack_require__.n = (module) => {
53
+ /******/ var getter = module && module.__esModule ?
54
+ /******/ () => (module['default']) :
55
+ /******/ () => (module);
56
+ /******/ __webpack_require__.d(getter, { a: getter });
57
+ /******/ return getter;
58
+ /******/ };
59
+ /******/ })();
60
+ /******/
61
+ /******/ /* webpack/runtime/define property getters */
62
+ /******/ (() => {
63
+ /******/ // define getter functions for harmony exports
64
+ /******/ __webpack_require__.d = (exports, definition) => {
65
+ /******/ for(var key in definition) {
66
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
67
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
68
+ /******/ }
69
+ /******/ }
70
+ /******/ };
71
+ /******/ })();
72
+ /******/
73
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
74
+ /******/ (() => {
75
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
76
+ /******/ })();
77
+ /******/
78
+ /******/ /* webpack/runtime/make namespace object */
79
+ /******/ (() => {
80
+ /******/ // define __esModule on exports
81
+ /******/ __webpack_require__.r = (exports) => {
82
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
83
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
84
+ /******/ }
85
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
86
+ /******/ };
87
+ /******/ })();
88
+ /******/
89
+ /************************************************************************/
90
+ var __webpack_exports__ = {};
91
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
92
+ (() => {
93
+ // ESM COMPAT FLAG
94
+ __webpack_require__.r(__webpack_exports__);
95
+
96
+ // EXPORTS
97
+ __webpack_require__.d(__webpack_exports__, {
98
+ "default": () => (/* binding */ src)
99
+ });
100
+
101
+ // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
102
+ var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(787);
103
+ var external_root_React_commonjs2_react_commonjs_react_amd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_);
104
+ ;// CONCATENATED MODULE: ./src/pagination-navigators.tsx
105
+ /*
106
+ * Generate page navigators
107
+ *
108
+ * @param {Number} visibleNavigators - The range of pages displayed.
109
+ * @param {Number} totalPages - The total number of pages.
110
+ * @param {Number} activePage - The currently selected page number.
111
+ * @param {Boolean} adjustmentEnabled - Whether to complete the page number range.
112
+ * @param {Boolean} symmetry - The activation button is symmetrical on the left and right sides.
113
+ * @return {Array} - Return an array.
114
+ */
115
+ function paginationNavigators(visibleNavigators, totalPages, activePage) {
116
+ var adjustmentEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
117
+ var symmetry = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
118
+ // Generate a sequence of numbers
119
+ // Since the array is initialized with `undefined` on each position,
120
+ // the value of `v` below will be `undefined`
121
+
122
+ var result = [];
123
+ if (activePage + visibleNavigators - 1 < totalPages) {
124
+ result = Array.from({
125
+ length: visibleNavigators
126
+ }, function (v, k) {
127
+ return k + activePage;
128
+ });
129
+ } else {
130
+ var diff = totalPages - activePage;
131
+ if (diff >= 0) {
132
+ result = Array.from({
133
+ length: diff + 1
134
+ }, function (v, k) {
135
+ return k + activePage;
136
+ });
137
+ }
138
+ }
139
+
140
+ //Shift the elements forward to complete the display range
141
+ var adjustmentResult = function adjustmentResult(arr) {
142
+ if (arr.length < totalPages) {
143
+ var adjustment = visibleNavigators - arr.length;
144
+ for (var i = 1; i <= adjustment; i++) {
145
+ arr.unshift(activePage - i);
146
+ }
147
+ }
148
+ return arr;
149
+ };
150
+ if (adjustmentEnabled) result = adjustmentResult(result);
151
+
152
+ // symmetrical on the left and right sides
153
+ if (symmetry) {
154
+ if (totalPages > activePage) {
155
+ var totalDisplayedPages = visibleNavigators + (visibleNavigators - 1);
156
+ var activedPageIndex = result.indexOf(activePage);
157
+ var leftSideTotal = visibleNavigators - 1 - activedPageIndex;
158
+ for (var i = 1; i <= leftSideTotal; i++) {
159
+ result.unshift(activePage - i - activedPageIndex);
160
+ }
161
+ }
162
+ }
163
+ return result;
164
+ }
165
+ /* harmony default export */ const pagination_navigators = ((/* unused pure expression or super */ null && (paginationNavigators)));
166
+ ;// CONCATENATED MODULE: ./src/index.tsx
167
+
168
+
169
+ var Pagination = function Pagination(props) {
170
+ var wrapperClassName = props.wrapperClassName,
171
+ navClassName = props.navClassName,
172
+ apiUrl = props.apiUrl,
173
+ pageRangeDisplayed = props.pageRangeDisplayed,
174
+ activePage = props.activePage,
175
+ totalPages = props.totalPages,
176
+ previousLabel = props.previousLabel,
177
+ nextLabel = props.nextLabel,
178
+ firstLabel = props.firstLabel,
179
+ lastLabel = props.lastLabel,
180
+ breakLabel = props.breakLabel,
181
+ align = props.align,
182
+ onlyPrevNext = props.onlyPrevNext,
183
+ activeClass = props.activeClass,
184
+ previousClass = props.previousClass,
185
+ nextClass = props.nextClass,
186
+ firstClass = props.firstClass,
187
+ lastClass = props.lastClass,
188
+ disabledClass = props.disabledClass,
189
+ symmetry = props.symmetry,
190
+ style = props.style,
191
+ onChange = props.onChange;
192
+ function handleClick(parameter) {
193
+ switch (parameter) {
194
+ case "prev":
195
+ onChange === null || onChange === void 0 ? void 0 : onChange(activePage - 1);
196
+ break;
197
+ case "next":
198
+ onChange === null || onChange === void 0 ? void 0 : onChange(activePage + 1);
199
+ break;
200
+ case "first":
201
+ onChange === null || onChange === void 0 ? void 0 : onChange(1);
202
+ break;
203
+ case "last":
204
+ onChange === null || onChange === void 0 ? void 0 : onChange(totalPages);
205
+ break;
206
+ default:
207
+ onChange === null || onChange === void 0 ? void 0 : onChange(1);
208
+ break;
209
+ }
210
+ }
211
+ var visibleNavigators = pageRangeDisplayed ? pageRangeDisplayed : 3;
212
+ var alignClassName = '';
213
+ switch (align) {
214
+ case 'left':
215
+ alignClassName = ' justify-content-start';
216
+ break;
217
+ case 'right':
218
+ alignClassName = ' justify-content-end';
219
+ break;
220
+ case 'center':
221
+ alignClassName = ' justify-content-center';
222
+ break;
223
+ }
224
+ var _activeClassName = activeClass ? activeClass : 'active',
225
+ _previousClassName = previousClass ? previousClass : 'prev',
226
+ _nextClassName = nextClass ? nextClass : 'next',
227
+ _firstClassName = firstClass ? firstClass : 'first',
228
+ _lastClassName = lastClass ? lastClass : 'last',
229
+ _disabledClassName = disabledClass ? disabledClass : 'disabled',
230
+ _onlyPrevNextButtons = typeof onlyPrevNext === 'undefined' ? false : onlyPrevNext,
231
+ _symmetry = typeof symmetry === 'undefined' ? false : symmetry;
232
+
233
+ //get navigation array
234
+ //------------------------------------------
235
+ var navArr = paginationNavigators(visibleNavigators, totalPages, activePage, true, _symmetry);
236
+
237
+ // Use ellipsis to extend page numbers
238
+ //------------------------------------------
239
+ var _ellipsis = breakLabel ? breakLabel : '';
240
+ var _ellipsisArr = [];
241
+ var _ellipsisEnabled = false;
242
+ if (_ellipsis !== '') _ellipsisArr = [totalPages - 1, totalPages];
243
+ if (activePage + 2 >= totalPages) {
244
+ _ellipsisArr = [];
245
+ _ellipsis = '';
246
+ }
247
+ var _ellipsisElements = _ellipsisArr.map(function (item, i) {
248
+ if (item > 0 && item <= totalPages && !_onlyPrevNextButtons) {
249
+ //Delete values whose display range is more than the total
250
+ if (navArr.indexOf(item) === -1) {
251
+ _ellipsisEnabled = true;
252
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("li", {
253
+ key: i,
254
+ className: activePage === item ? "page-item ".concat(_activeClassName) : "page-item"
255
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("a", {
256
+ className: "page-link",
257
+ href: apiUrl.replace('{page}', item),
258
+ onClick: function onClick(e) {
259
+ e.preventDefault();
260
+ onChange === null || onChange === void 0 ? void 0 : onChange(item);
261
+ }
262
+ }, item));
263
+ }
264
+ }
265
+ });
266
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("nav", {
267
+ className: wrapperClassName || wrapperClassName === '' ? wrapperClassName : "mb-3 position-relative",
268
+ style: style
269
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("ul", {
270
+ className: navClassName ? "".concat(navClassName, " ").concat(alignClassName) : "pagination ".concat(alignClassName)
271
+ }, firstLabel ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("li", {
272
+ className: activePage > 1 ? "page-item ".concat(_firstClassName) : "page-item ".concat(_firstClassName, " ").concat(_disabledClassName)
273
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("a", {
274
+ tabIndex: activePage > 1 ? 0 : -1,
275
+ "aria-disabled": activePage > 1 ? 'false' : 'true',
276
+ className: "page-link",
277
+ href: apiUrl.replace('{page}', '1'),
278
+ onClick: function onClick(e) {
279
+ e.preventDefault();
280
+ handleClick('first');
281
+ }
282
+ }, firstLabel || null)) : '', previousLabel ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("li", {
283
+ className: activePage > 1 ? "page-item ".concat(_previousClassName) : "page-item ".concat(_previousClassName, " ").concat(_disabledClassName)
284
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("a", {
285
+ tabIndex: activePage > 1 ? 0 : -1,
286
+ "aria-disabled": activePage > 1 ? 'false' : 'true',
287
+ className: "page-link",
288
+ href: apiUrl.replace('{page}', activePage - 1),
289
+ onClick: function onClick(e) {
290
+ e.preventDefault();
291
+ handleClick('prev');
292
+ }
293
+ }, previousLabel || null)) : '', navArr.map(function (item, i) {
294
+ if (item > 0 && item <= totalPages && !_onlyPrevNextButtons) {
295
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("li", {
296
+ key: i,
297
+ className: activePage === item ? "page-item ".concat(_activeClassName) : "page-item"
298
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("a", {
299
+ className: "page-link",
300
+ href: apiUrl.replace('{page}', item),
301
+ onClick: function onClick(e) {
302
+ e.preventDefault();
303
+ onChange === null || onChange === void 0 ? void 0 : onChange(item);
304
+ }
305
+ }, item));
306
+ }
307
+ }), _ellipsis !== '' && _ellipsisEnabled ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("li", {
308
+ className: "page-item"
309
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
310
+ className: "page-link"
311
+ }, _ellipsis))) : '', _ellipsisElements, nextLabel ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("li", {
312
+ className: activePage < totalPages ? "page-item ".concat(_nextClassName) : "page-item ".concat(_nextClassName, " ").concat(_disabledClassName)
313
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("a", {
314
+ tabIndex: activePage < totalPages ? 0 : -1,
315
+ "aria-disabled": activePage < totalPages ? 'false' : 'true',
316
+ className: "page-link",
317
+ href: apiUrl.replace('{page}', activePage + 1),
318
+ onClick: function onClick(e) {
319
+ e.preventDefault();
320
+ handleClick('next');
321
+ }
322
+ }, nextLabel || null)) : '', lastLabel ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("li", {
323
+ className: activePage < totalPages ? "page-item ".concat(_lastClassName) : "page-item ".concat(_lastClassName, " ").concat(_disabledClassName)
324
+ }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("a", {
325
+ tabIndex: activePage < totalPages ? 0 : -1,
326
+ "aria-disabled": activePage < totalPages ? 'false' : 'true',
327
+ className: "page-link",
328
+ href: apiUrl.replace('{page}', totalPages),
329
+ onClick: function onClick(e) {
330
+ e.preventDefault();
331
+ handleClick('last');
332
+ }
333
+ }, lastLabel || null)) : '')));
334
+ };
335
+ /* harmony default export */ const src = (Pagination);
336
+ })();
337
+
338
+ /******/ return __webpack_exports__;
339
+ /******/ })()
340
+ ;
341
+ });
package/README.md ADDED
@@ -0,0 +1,108 @@
1
+ # Funda UI
2
+
3
+ React components using pure Bootstrap 5+ which does not contain any external style and script libraries. You can load Bootstrap css libraries separately in your project.
4
+
5
+
6
+ ---
7
+
8
+
9
+
10
+ ## Key Features
11
+
12
+ 1. Simplify the assignment method of diversified data.
13
+ 2. Components are compatible with `gRPC`, `REST APIs`, `GraphQL` self-packaging, uniformly use [Classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) and their methods to introduce interfaces
14
+ 3. Enhanced user interaction, flexible use in asynchronous and synchronous states
15
+ 4. Introduce appropriate component `.css` files as needed, only for some components with special needs. Most of them can directly use Bootstrap's official style sheet.
16
+
17
+
18
+
19
+ ## Components List
20
+
21
+ Here is a table of the components and their status.
22
+
23
+
24
+
25
+ | WEB ELEMENTS | FORMS | INTERACTION | NAVIGATION |
26
+ | --- | --- | --- | --- |
27
+ | [Accordion ❏](packages/Accordion/README.md) | [Input ✅](packages/Input/README.md) | [Infinite Scroll ❏](packages/InfiniteScroll/README.md) |[Multilevel Dropdown Menu ✅](packages/MultilevelDropdownMenu/README.md) |
28
+ | [Accordion Slider ❏](packages/AccordionSlider/README.md) | [Password Input ❏](packages/PasswordInput/README.md) | [Image Perspective Hover ❏](packages/ImagePerspectiveHover/README.md) | [Dropdown Menu ✅](packages/DropdownMenu/README.md) |
29
+ | [Back To Top ✅](packages/BackToTop/README.md) | [Merge Input ❏](packages/MergeInput/README.md) | [Mousewheel Interaction ❏](packages/MousewheelInteraction/README.md) | |
30
+ | [Button ❏](packages/Button/README.md) | [Tag Input ✅](packages/TagInput/README.md) | [Parallax ❏](packages/Parallax/README.md) | |
31
+ | [Card ❏](packages/Card/README.md) | [Textarea ✅](packages/Textarea/README.md) | [Scroll Reveal ✅](packages/ScrollReveal/README.md) | |
32
+ | [Content Placeholder ❏](packages/ContentPlaceholder/README.md) | [Select ✅](packages/Select/README.md) | [Sticky Elements ❏](packages/StickyElements/README.md) | |
33
+ | [Counter ❏](packages/Counter/README.md) | [Cascading Select ✅](packages/CascadingSelect/README.md) | [Mode Switch ✅](packages/ModeSwitch/README.md) | |
34
+ | [Hybrid Content Slider ❏](packages/HybridContentSlider/README.md) | [Cascading Select End-to-end ✅](packages/CascadingSelectE2E/README.md) | [Custom Scrollbar ✅](packages/Scrollbar/README.md) | |
35
+ | [Image Shapes ❏](packages/ImageShapes/README.md) | [Radio ✅](packages/Radio/README.md) | | |
36
+ | [Lightbox ❏](packages/Lightbox/README.md) | [Checkbox ✅](packages/Checkbox/README.md) | | |
37
+ | [List Bulleted ❏](packages/ListBulleted/README.md) | [Multifunction Select ✅](packages/MultiFuncSelect/README.md) | | |
38
+ | [Modal Dialog ✅](packages/ModalDialog/README.md) | [LiveSearch ✅](packages/LiveSearch/README.md) | | |
39
+ | [Pagination ✅](packages/Pagination/README.md) | [Number ❏](packages/Number/README.md) | | |
40
+ | [Table ✅](packages/Table/README.md) | [SearchBar ✅](packages/SearchBar/README.md) | | |
41
+ | [Periodical Scroll ❏](packages/PeriodicalScroll/README.md) | [Switch ✅](packages/Switch/README.md) | | |
42
+ | [Progress Bar ❏](packages/ProgressBar/README.md) | [Dynamic Fields ✅](packages/DynamicFields/README.md) | | |
43
+ | [Rating ❏](packages/Rating/README.md) | [File ✅](packages/File/README.md) | | |
44
+ | [Seamless Scrolling Element ❏](packages/SeamlessScrollingElement/README.md) | [File Field ❏](packages/FileField/README.md) | | |
45
+ | [Show More Less ✅](packages/ShowMoreLess/README.md) | [Range Slider ✅](packages/RangeSlider/README.md) | | |
46
+ | [Slideshow ❏](packages/Slideshow/README.md) | [Color Picker ✅](packages/ColorPicker/README.md) | | |
47
+ | [Tabs ✅](packages/Tabs/README.md) | | | |
48
+ | [Timeline ❏](packages/Timeline/README.md) | | | |
49
+ | [Toast ✅](packages/Toast/README.md) | | | |
50
+ | [Tooltip ✅](packages/Tooltip/README.md) | | | |
51
+ | [Digital Clock ✅](packages/DigitalClock/README.md) | | | |
52
+ | [Tree ✅](packages/Tree/README.md) | | | |
53
+
54
+
55
+
56
+
57
+
58
+
59
+ ## Usage
60
+
61
+ First, you need to install it:
62
+
63
+ ```sh
64
+ $ npm i funda-ui
65
+ ```
66
+
67
+ Next, import required components as required
68
+
69
+ ```js
70
+ import Input from 'funda-ui/Input';
71
+ import Textarea from 'funda-ui/Textarea';
72
+ import CascadingSelect from 'funda-ui/CascadingSelect';
73
+
74
+ // component styles
75
+ import 'funda-ui/CascadingSelect/index.css';
76
+ ```
77
+
78
+ or
79
+
80
+ ```js
81
+ import {
82
+ Input,
83
+ Textarea,
84
+ CascadingSelect
85
+ } from 'funda-ui';
86
+
87
+ // component styles
88
+ import 'funda-ui/CascadingSelect/index.css';
89
+ ```
90
+
91
+ or
92
+
93
+ ```js
94
+ const Input = require('funda-ui').Input;
95
+ const Textarea = require('funda-ui').Textarea;
96
+ const CascadingSelect = require('funda-ui').CascadingSelect;
97
+
98
+ // component styles
99
+ import 'funda-ui/CascadingSelect/index.css';
100
+ ```
101
+
102
+
103
+
104
+
105
+ ## Licensing
106
+
107
+ Licensed under the [MIT](https://opensource.org/licenses/MIT).
108
+
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ declare module 'react' {
3
+ interface ReactI18NextChildren<T> {
4
+ children?: any;
5
+ }
6
+ }
7
+ declare type RadioOptionChangeFnType = (arg1: any, arg2: any) => void;
8
+ declare type RadioProps = {
9
+ wrapperClassName?: string;
10
+ value?: string;
11
+ label?: React.ReactNode | string;
12
+ name?: string;
13
+ disabled?: any;
14
+ required?: any;
15
+ options: string;
16
+ inline?: boolean;
17
+ /** -- */
18
+ id?: string;
19
+ style?: React.CSSProperties;
20
+ tabIndex?: number;
21
+ [key: `data-${string}`]: string | undefined;
22
+ /** This function is called whenever the data is updated.
23
+ * Exposes the JSON format data about the option as an argument.
24
+ */
25
+ onClick?: RadioOptionChangeFnType | null;
26
+ onChange?: RadioOptionChangeFnType | null;
27
+ onBlur?: (e: any) => void;
28
+ onFocus?: (e: any) => void;
29
+ };
30
+ declare const Radio: (props: RadioProps) => JSX.Element;
31
+ export default Radio;