@helpwave/hightide 0.1.26 → 0.1.27

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 (204) hide show
  1. package/dist/components/date/DatePicker.js +1 -1
  2. package/dist/components/date/DatePicker.js.map +1 -1
  3. package/dist/components/date/DatePicker.mjs +1 -1
  4. package/dist/components/date/DatePicker.mjs.map +1 -1
  5. package/dist/components/date/YearMonthPicker.js +1 -1
  6. package/dist/components/date/YearMonthPicker.js.map +1 -1
  7. package/dist/components/date/YearMonthPicker.mjs +1 -1
  8. package/dist/components/date/YearMonthPicker.mjs.map +1 -1
  9. package/dist/components/dialog/ConfirmDialog.d.mts +1 -1
  10. package/dist/components/dialog/ConfirmDialog.d.ts +1 -1
  11. package/dist/components/dialog/ConfirmDialog.js +2 -2
  12. package/dist/components/dialog/ConfirmDialog.js.map +1 -1
  13. package/dist/components/dialog/ConfirmDialog.mjs +2 -2
  14. package/dist/components/dialog/ConfirmDialog.mjs.map +1 -1
  15. package/dist/components/dialog/Dialog.d.mts +1 -1
  16. package/dist/components/dialog/Dialog.d.ts +1 -1
  17. package/dist/components/dialog/Dialog.js +2 -2
  18. package/dist/components/dialog/Dialog.js.map +1 -1
  19. package/dist/components/dialog/Dialog.mjs +2 -2
  20. package/dist/components/dialog/Dialog.mjs.map +1 -1
  21. package/dist/components/dialog/DiscardChangesDialog.d.mts +1 -1
  22. package/dist/components/dialog/DiscardChangesDialog.d.ts +1 -1
  23. package/dist/components/dialog/DiscardChangesDialog.js +2 -2
  24. package/dist/components/dialog/DiscardChangesDialog.js.map +1 -1
  25. package/dist/components/dialog/DiscardChangesDialog.mjs +2 -2
  26. package/dist/components/dialog/DiscardChangesDialog.mjs.map +1 -1
  27. package/dist/components/dialog/InputDialog.d.mts +1 -1
  28. package/dist/components/dialog/InputDialog.d.ts +1 -1
  29. package/dist/components/dialog/InputDialog.js +2 -2
  30. package/dist/components/dialog/InputDialog.js.map +1 -1
  31. package/dist/components/dialog/InputDialog.mjs +2 -2
  32. package/dist/components/dialog/InputDialog.mjs.map +1 -1
  33. package/dist/components/dialog/LanguageDialog.d.mts +1 -1
  34. package/dist/components/dialog/LanguageDialog.d.ts +1 -1
  35. package/dist/components/dialog/LanguageDialog.js +28 -15
  36. package/dist/components/dialog/LanguageDialog.js.map +1 -1
  37. package/dist/components/dialog/LanguageDialog.mjs +28 -15
  38. package/dist/components/dialog/LanguageDialog.mjs.map +1 -1
  39. package/dist/components/dialog/ThemeDialog.d.mts +1 -1
  40. package/dist/components/dialog/ThemeDialog.d.ts +1 -1
  41. package/dist/components/dialog/ThemeDialog.js +69 -33
  42. package/dist/components/dialog/ThemeDialog.js.map +1 -1
  43. package/dist/components/dialog/ThemeDialog.mjs +60 -24
  44. package/dist/components/dialog/ThemeDialog.mjs.map +1 -1
  45. package/dist/components/dialog/index.d.mts +1 -1
  46. package/dist/components/dialog/index.d.ts +1 -1
  47. package/dist/components/dialog/index.js +61 -25
  48. package/dist/components/dialog/index.js.map +1 -1
  49. package/dist/components/dialog/index.mjs +61 -25
  50. package/dist/components/dialog/index.mjs.map +1 -1
  51. package/dist/components/layout/Carousel.d.mts +33 -0
  52. package/dist/components/layout/Carousel.d.ts +33 -0
  53. package/dist/components/layout/Carousel.js +684 -0
  54. package/dist/components/layout/Carousel.js.map +1 -0
  55. package/dist/components/layout/Carousel.mjs +659 -0
  56. package/dist/components/layout/Carousel.mjs.map +1 -0
  57. package/dist/components/{layout-and-navigation → layout}/Chip.js +1 -1
  58. package/dist/components/layout/Chip.js.map +1 -0
  59. package/dist/components/{layout-and-navigation → layout}/Chip.mjs +1 -1
  60. package/dist/components/layout/Chip.mjs.map +1 -0
  61. package/dist/components/{layout-and-navigation → layout}/DividerInserter.js +1 -1
  62. package/dist/components/layout/DividerInserter.js.map +1 -0
  63. package/dist/components/{layout-and-navigation → layout}/DividerInserter.mjs +1 -1
  64. package/dist/components/layout/DividerInserter.mjs.map +1 -0
  65. package/dist/components/{layout-and-navigation → layout}/Expandable.js +2 -2
  66. package/dist/components/layout/Expandable.js.map +1 -0
  67. package/dist/components/{layout-and-navigation → layout}/Expandable.mjs +2 -2
  68. package/dist/components/layout/Expandable.mjs.map +1 -0
  69. package/dist/components/{layout-and-navigation → layout}/FAQSection.js +5 -5
  70. package/dist/components/layout/FAQSection.js.map +1 -0
  71. package/dist/components/{layout-and-navigation → layout}/FAQSection.mjs +5 -5
  72. package/dist/components/layout/FAQSection.mjs.map +1 -0
  73. package/dist/components/{layout-and-navigation → layout}/FloatingContainer.js +2 -2
  74. package/dist/components/layout/FloatingContainer.js.map +1 -0
  75. package/dist/components/{layout-and-navigation → layout}/FloatingContainer.mjs +2 -2
  76. package/dist/components/layout/FloatingContainer.mjs.map +1 -0
  77. package/dist/components/{layout-and-navigation → layout}/ListBox.js +2 -2
  78. package/dist/components/layout/ListBox.js.map +1 -0
  79. package/dist/components/{layout-and-navigation → layout}/ListBox.mjs +2 -2
  80. package/dist/components/layout/ListBox.mjs.map +1 -0
  81. package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.js +1 -1
  82. package/dist/components/layout/MarkdownInterpreter.js.map +1 -0
  83. package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.mjs +1 -1
  84. package/dist/components/layout/MarkdownInterpreter.mjs.map +1 -0
  85. package/dist/components/{layout-and-navigation → layout}/ScrollArea.js +2 -2
  86. package/dist/components/layout/ScrollArea.js.map +1 -0
  87. package/dist/components/{layout-and-navigation → layout}/ScrollArea.mjs +1 -1
  88. package/dist/components/layout/ScrollArea.mjs.map +1 -0
  89. package/dist/components/{layout-and-navigation → layout}/TextImage.js +3 -3
  90. package/dist/components/layout/TextImage.js.map +1 -0
  91. package/dist/components/{layout-and-navigation → layout}/TextImage.mjs +2 -2
  92. package/dist/components/layout/TextImage.mjs.map +1 -0
  93. package/dist/components/{layout-and-navigation → layout}/VerticalDivider.js +1 -1
  94. package/dist/components/layout/VerticalDivider.js.map +1 -0
  95. package/dist/components/{layout-and-navigation → layout}/VerticalDivider.mjs +1 -1
  96. package/dist/components/layout/VerticalDivider.mjs.map +1 -0
  97. package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.js +1 -1
  98. package/dist/components/navigation/BreadCrumb.js.map +1 -0
  99. package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.mjs +1 -1
  100. package/dist/components/navigation/BreadCrumb.mjs.map +1 -0
  101. package/dist/components/navigation/Navigation.d.mts +21 -0
  102. package/dist/components/navigation/Navigation.d.ts +21 -0
  103. package/dist/components/navigation/Navigation.js +4018 -0
  104. package/dist/components/navigation/Navigation.js.map +1 -0
  105. package/dist/components/navigation/Navigation.mjs +4012 -0
  106. package/dist/components/navigation/Navigation.mjs.map +1 -0
  107. package/dist/components/{layout-and-navigation → navigation}/Pagination.js +3 -3
  108. package/dist/components/navigation/Pagination.js.map +1 -0
  109. package/dist/components/{layout-and-navigation → navigation}/Pagination.mjs +3 -3
  110. package/dist/components/navigation/Pagination.mjs.map +1 -0
  111. package/dist/components/{layout-and-navigation → navigation}/StepperBar.js +3 -3
  112. package/dist/components/navigation/StepperBar.js.map +1 -0
  113. package/dist/components/{layout-and-navigation → navigation}/StepperBar.mjs +3 -3
  114. package/dist/components/navigation/StepperBar.mjs.map +1 -0
  115. package/dist/components/properties/MultiSelectProperty.js +27 -14
  116. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  117. package/dist/components/properties/MultiSelectProperty.mjs +27 -14
  118. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  119. package/dist/components/properties/SelectProperty.js +27 -14
  120. package/dist/components/properties/SelectProperty.js.map +1 -1
  121. package/dist/components/properties/SelectProperty.mjs +27 -14
  122. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  123. package/dist/components/table/Table.js +1 -1
  124. package/dist/components/table/Table.js.map +1 -1
  125. package/dist/components/table/Table.mjs +1 -1
  126. package/dist/components/table/Table.mjs.map +1 -1
  127. package/dist/components/user-action/DateAndTimePicker.js +1 -1
  128. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  129. package/dist/components/user-action/DateAndTimePicker.mjs +1 -1
  130. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
  131. package/dist/components/user-action/select/Select.d.mts +5 -1
  132. package/dist/components/user-action/select/Select.d.ts +5 -1
  133. package/dist/components/user-action/select/Select.js +27 -14
  134. package/dist/components/user-action/select/Select.js.map +1 -1
  135. package/dist/components/user-action/select/Select.mjs +27 -14
  136. package/dist/components/user-action/select/Select.mjs.map +1 -1
  137. package/dist/style/globals.css +63 -10
  138. package/dist/style/uncompiled/globals.css +5 -4
  139. package/dist/style/uncompiled/utitlity/shadow.css +4 -0
  140. package/dist/theming/useTheme.d.mts +3 -1
  141. package/dist/theming/useTheme.d.ts +3 -1
  142. package/dist/theming/useTheme.js +40 -17
  143. package/dist/theming/useTheme.js.map +1 -1
  144. package/dist/theming/useTheme.mjs +38 -15
  145. package/dist/theming/useTheme.mjs.map +1 -1
  146. package/package.json +1 -1
  147. package/dist/components/layout-and-navigation/BreadCrumb.js.map +0 -1
  148. package/dist/components/layout-and-navigation/BreadCrumb.mjs.map +0 -1
  149. package/dist/components/layout-and-navigation/Carousel.d.mts +0 -25
  150. package/dist/components/layout-and-navigation/Carousel.d.ts +0 -25
  151. package/dist/components/layout-and-navigation/Carousel.js +0 -643
  152. package/dist/components/layout-and-navigation/Carousel.js.map +0 -1
  153. package/dist/components/layout-and-navigation/Carousel.mjs +0 -609
  154. package/dist/components/layout-and-navigation/Carousel.mjs.map +0 -1
  155. package/dist/components/layout-and-navigation/Chip.js.map +0 -1
  156. package/dist/components/layout-and-navigation/Chip.mjs.map +0 -1
  157. package/dist/components/layout-and-navigation/DividerInserter.js.map +0 -1
  158. package/dist/components/layout-and-navigation/DividerInserter.mjs.map +0 -1
  159. package/dist/components/layout-and-navigation/Expandable.js.map +0 -1
  160. package/dist/components/layout-and-navigation/Expandable.mjs.map +0 -1
  161. package/dist/components/layout-and-navigation/FAQSection.js.map +0 -1
  162. package/dist/components/layout-and-navigation/FAQSection.mjs.map +0 -1
  163. package/dist/components/layout-and-navigation/FloatingContainer.js.map +0 -1
  164. package/dist/components/layout-and-navigation/FloatingContainer.mjs.map +0 -1
  165. package/dist/components/layout-and-navigation/ListBox.js.map +0 -1
  166. package/dist/components/layout-and-navigation/ListBox.mjs.map +0 -1
  167. package/dist/components/layout-and-navigation/MarkdownInterpreter.js.map +0 -1
  168. package/dist/components/layout-and-navigation/MarkdownInterpreter.mjs.map +0 -1
  169. package/dist/components/layout-and-navigation/Pagination.js.map +0 -1
  170. package/dist/components/layout-and-navigation/Pagination.mjs.map +0 -1
  171. package/dist/components/layout-and-navigation/ScrollArea.js.map +0 -1
  172. package/dist/components/layout-and-navigation/ScrollArea.mjs.map +0 -1
  173. package/dist/components/layout-and-navigation/StepperBar.js.map +0 -1
  174. package/dist/components/layout-and-navigation/StepperBar.mjs.map +0 -1
  175. package/dist/components/layout-and-navigation/TextImage.js.map +0 -1
  176. package/dist/components/layout-and-navigation/TextImage.mjs.map +0 -1
  177. package/dist/components/layout-and-navigation/VerticalDivider.js.map +0 -1
  178. package/dist/components/layout-and-navigation/VerticalDivider.mjs.map +0 -1
  179. /package/dist/components/{layout-and-navigation → layout}/Chip.d.mts +0 -0
  180. /package/dist/components/{layout-and-navigation → layout}/Chip.d.ts +0 -0
  181. /package/dist/components/{layout-and-navigation → layout}/DividerInserter.d.mts +0 -0
  182. /package/dist/components/{layout-and-navigation → layout}/DividerInserter.d.ts +0 -0
  183. /package/dist/components/{layout-and-navigation → layout}/Expandable.d.mts +0 -0
  184. /package/dist/components/{layout-and-navigation → layout}/Expandable.d.ts +0 -0
  185. /package/dist/components/{layout-and-navigation → layout}/FAQSection.d.mts +0 -0
  186. /package/dist/components/{layout-and-navigation → layout}/FAQSection.d.ts +0 -0
  187. /package/dist/components/{layout-and-navigation → layout}/FloatingContainer.d.mts +0 -0
  188. /package/dist/components/{layout-and-navigation → layout}/FloatingContainer.d.ts +0 -0
  189. /package/dist/components/{layout-and-navigation → layout}/ListBox.d.mts +0 -0
  190. /package/dist/components/{layout-and-navigation → layout}/ListBox.d.ts +0 -0
  191. /package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.d.mts +0 -0
  192. /package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.d.ts +0 -0
  193. /package/dist/components/{layout-and-navigation → layout}/ScrollArea.d.mts +0 -0
  194. /package/dist/components/{layout-and-navigation → layout}/ScrollArea.d.ts +0 -0
  195. /package/dist/components/{layout-and-navigation → layout}/TextImage.d.mts +0 -0
  196. /package/dist/components/{layout-and-navigation → layout}/TextImage.d.ts +0 -0
  197. /package/dist/components/{layout-and-navigation → layout}/VerticalDivider.d.mts +0 -0
  198. /package/dist/components/{layout-and-navigation → layout}/VerticalDivider.d.ts +0 -0
  199. /package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.d.mts +0 -0
  200. /package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.d.ts +0 -0
  201. /package/dist/components/{layout-and-navigation → navigation}/Pagination.d.mts +0 -0
  202. /package/dist/components/{layout-and-navigation → navigation}/Pagination.d.ts +0 -0
  203. /package/dist/components/{layout-and-navigation → navigation}/StepperBar.d.mts +0 -0
  204. /package/dist/components/{layout-and-navigation → navigation}/StepperBar.d.ts +0 -0
@@ -1,643 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/components/layout-and-navigation/Carousel.tsx
30
- var Carousel_exports = {};
31
- __export(Carousel_exports, {
32
- Carousel: () => Carousel
33
- });
34
- module.exports = __toCommonJS(Carousel_exports);
35
- var import_react2 = require("react");
36
- var import_clsx2 = __toESM(require("clsx"));
37
- var import_lucide_react = require("lucide-react");
38
-
39
- // src/utils/array.ts
40
- var defaultRangeOptions = {
41
- allowEmptyRange: false,
42
- stepSize: 1,
43
- exclusiveStart: false,
44
- exclusiveEnd: true
45
- };
46
- var range = (endOrRange, options) => {
47
- const { allowEmptyRange, stepSize, exclusiveStart, exclusiveEnd } = { ...defaultRangeOptions, ...options };
48
- let start = 0;
49
- let end;
50
- if (typeof endOrRange === "number") {
51
- end = endOrRange;
52
- } else {
53
- start = endOrRange[0];
54
- end = endOrRange[1];
55
- }
56
- if (!exclusiveEnd) {
57
- end -= 1;
58
- }
59
- if (exclusiveStart) {
60
- start += 1;
61
- }
62
- if (end - 1 < start) {
63
- if (!allowEmptyRange) {
64
- console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set options.allowEmptyRange to true`);
65
- }
66
- return [];
67
- }
68
- return Array.from({ length: end - start }, (_, index) => index * stepSize + start);
69
- };
70
- var createLoopingListWithIndex = (list, startIndex = 0, length = 0, forwards = true) => {
71
- if (length < 0) {
72
- console.warn(`createLoopingList: length must be >= 0, given ${length}`);
73
- } else if (length === 0) {
74
- length = list.length;
75
- }
76
- const returnList = [];
77
- if (forwards) {
78
- for (let i = startIndex; returnList.length < length; i = (i + 1) % list.length) {
79
- returnList.push([i, list[i]]);
80
- }
81
- } else {
82
- for (let i = startIndex; returnList.length < length; i = i === 0 ? i = list.length - 1 : i - 1) {
83
- returnList.push([i, list[i]]);
84
- }
85
- }
86
- return returnList;
87
- };
88
-
89
- // src/utils/math.ts
90
- var clamp = (value, range2 = [0, 1]) => {
91
- const [min, max] = range2;
92
- return Math.min(Math.max(value, min), max);
93
- };
94
-
95
- // src/utils/easeFunctions.ts
96
- var EaseFunctions = class _EaseFunctions {
97
- static cubicBezierGeneric(x1, y1, x2, y2) {
98
- const cx = 3 * x1;
99
- const bx = 3 * (x2 - x1) - cx;
100
- const ax = 1 - cx - bx;
101
- const cy = 3 * y1;
102
- const by = 3 * (y2 - y1) - cy;
103
- const ay = 1 - cy - by;
104
- const x = (t) => ((ax * t + bx) * t + cx) * t;
105
- const y = (t) => ((ay * t + by) * t + cy) * t;
106
- return {
107
- x,
108
- y
109
- };
110
- }
111
- static cubicBezier(x1, y1, x2, y2) {
112
- const { y } = _EaseFunctions.cubicBezierGeneric(x1, y1, x2, y2);
113
- return (t) => {
114
- t = clamp(t);
115
- return y(t);
116
- };
117
- }
118
- static easeInEaseOut(t) {
119
- return _EaseFunctions.cubicBezier(0.65, 0, 0.35, 1)(t);
120
- }
121
- };
122
-
123
- // src/utils/loopingArray.ts
124
- var LoopingArrayCalculator = class _LoopingArrayCalculator {
125
- constructor(length, isLooping = true, allowedOverScroll = 0.1) {
126
- if (allowedOverScroll < 0 || length < 1) {
127
- throw new Error("Invalid parameters: allowedOverScroll >= 0 and length >= 1 must be true");
128
- }
129
- this.length = length;
130
- this.isLooping = isLooping;
131
- this.allowedOverScroll = allowedOverScroll;
132
- }
133
- getCorrectedPosition(position) {
134
- if (!this.isLooping) {
135
- return Math.max(-this.allowedOverScroll, Math.min(this.allowedOverScroll + this.length - 1, position));
136
- }
137
- if (position >= this.length) {
138
- return position % this.length;
139
- }
140
- if (position < 0) {
141
- return this.length - Math.abs(position) % this.length;
142
- }
143
- return position;
144
- }
145
- static withoutOffset(position) {
146
- return position + _LoopingArrayCalculator.getOffset(position);
147
- }
148
- static getOffset(position) {
149
- return Math.round(position) - position;
150
- }
151
- /**
152
- * @return absolute distance forwards or Infinity when the target cannot be reached (only possible when not isLooping)
153
- */
154
- getDistanceDirectional(position, target, direction) {
155
- if (!this.isLooping && (position < -this.allowedOverScroll || position > this.allowedOverScroll + this.length - 1)) {
156
- throw new Error("Invalid parameters: position is out of bounds.");
157
- }
158
- const isForwardInvalid = direction === 1 && position > target;
159
- const isBackwardInvalid = direction === -1 && target < position;
160
- if (!this.isLooping && (isForwardInvalid || isBackwardInvalid)) {
161
- return Infinity;
162
- }
163
- if (direction === -1) {
164
- return this.getDistanceDirectional(target, position, 1);
165
- }
166
- position = this.getCorrectedPosition(position);
167
- target = this.getCorrectedPosition(target);
168
- let distance = (target - position) * direction;
169
- if (distance < 0) {
170
- distance = this.length - Math.abs(position) % this.length + target;
171
- }
172
- return distance;
173
- }
174
- getDistanceForward(position, target) {
175
- return this.getDistanceDirectional(position, target, 1);
176
- }
177
- getDistanceBackward(position, target) {
178
- return this.getDistanceDirectional(position, target, -1);
179
- }
180
- getDistance(position, target) {
181
- const forwardDistance = this.getDistanceForward(position, target);
182
- const backwardDistance = this.getDistanceBackward(position, target);
183
- return Math.min(forwardDistance, backwardDistance);
184
- }
185
- getBestDirection(position, target) {
186
- const forwardDistance = this.getDistanceForward(position, target);
187
- const backwardDistance = this.getDistanceBackward(position, target);
188
- return forwardDistance < backwardDistance ? 1 : -1;
189
- }
190
- };
191
-
192
- // src/components/user-action/Button.tsx
193
- var import_react = require("react");
194
- var import_clsx = __toESM(require("clsx"));
195
- var import_jsx_runtime = require("react/jsx-runtime");
196
- var ButtonColorUtil = {
197
- solid: ["primary", "secondary", "tertiary", "positive", "warning", "negative", "neutral"],
198
- text: ["primary", "negative", "neutral"],
199
- outline: ["primary"]
200
- };
201
- var IconButtonUtil = {
202
- icon: [...ButtonColorUtil.solid, "transparent"]
203
- };
204
- var paddingMapping = {
205
- small: "btn-sm",
206
- medium: "btn-md",
207
- large: "btn-lg"
208
- };
209
- var iconPaddingMapping = {
210
- tiny: "icon-btn-xs",
211
- small: "icon-btn-sm",
212
- medium: "icon-btn-md",
213
- large: "icon-btn-lg"
214
- };
215
- var ButtonUtil = {
216
- paddingMapping,
217
- iconPaddingMapping
218
- };
219
- var SolidButton = (0, import_react.forwardRef)(function SolidButton2({
220
- children,
221
- color = "primary",
222
- size = "medium",
223
- startIcon,
224
- endIcon,
225
- onClick,
226
- className,
227
- ...restProps
228
- }, ref) {
229
- const colorClasses = {
230
- primary: "not-disabled:bg-button-solid-primary-background not-disabled:text-button-solid-primary-text",
231
- secondary: "not-disabled:bg-button-solid-secondary-background not-disabled:text-button-solid-secondary-text",
232
- tertiary: "not-disabled:bg-button-solid-tertiary-background not-disabled:text-button-solid-tertiary-text",
233
- positive: "not-disabled:bg-button-solid-positive-background not-disabled:text-button-solid-positive-text",
234
- warning: "not-disabled:bg-button-solid-warning-background not-disabled:text-button-solid-warning-text",
235
- negative: "not-disabled:bg-button-solid-negative-background not-disabled:text-button-solid-negative-text",
236
- neutral: "not-disabled:bg-button-solid-neutral-background not-disabled:text-button-solid-neutral-text"
237
- }[color];
238
- const iconColorClasses = {
239
- primary: "not-group-disabled:text-button-solid-primary-icon",
240
- secondary: "not-group-disabled:text-button-solid-secondary-icon",
241
- tertiary: "not-group-disabled:text-button-solid-tertiary-icon",
242
- positive: "not-group-disabled:text-button-solid-positive-icon",
243
- warning: "not-group-disabled:text-button-solid-warning-icon",
244
- negative: "not-group-disabled:text-button-solid-negative-icon",
245
- neutral: "not-group-disabled:text-button-solid-neutral-icon"
246
- }[color];
247
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
248
- "button",
249
- {
250
- ref,
251
- onClick,
252
- className: (0, import_clsx.default)(
253
- "group font-semibold",
254
- colorClasses,
255
- "not-disabled:hover:brightness-90",
256
- "disabled:text-disabled-text disabled:bg-disabled-background",
257
- ButtonUtil.paddingMapping[size],
258
- className
259
- ),
260
- ...restProps,
261
- children: [
262
- startIcon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
263
- "span",
264
- {
265
- className: (0, import_clsx.default)(
266
- iconColorClasses,
267
- "group-disabled:text-disabled-icon"
268
- ),
269
- children: startIcon
270
- }
271
- ),
272
- children,
273
- endIcon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
274
- "span",
275
- {
276
- className: (0, import_clsx.default)(
277
- iconColorClasses,
278
- "group-disabled:text-disabled-icon"
279
- ),
280
- children: endIcon
281
- }
282
- )
283
- ]
284
- }
285
- );
286
- });
287
- var IconButton = (0, import_react.forwardRef)(function IconButton2({
288
- children,
289
- color = "primary",
290
- size = "medium",
291
- className,
292
- ...restProps
293
- }, ref) {
294
- const colorClasses = {
295
- primary: "not-disabled:bg-button-solid-primary-background not-disabled:text-button-solid-primary-text",
296
- secondary: "not-disabled:bg-button-solid-secondary-background not-disabled:text-button-solid-secondary-text",
297
- tertiary: "not-disabled:bg-button-solid-tertiary-background not-disabled:text-button-solid-tertiary-text",
298
- positive: "not-disabled:bg-button-solid-positive-background not-disabled:text-button-solid-positive-text",
299
- warning: "not-disabled:bg-button-solid-warning-background not-disabled:text-button-solid-warning-text",
300
- negative: "not-disabled:bg-button-solid-negative-background not-disabled:text-button-solid-negative-text",
301
- neutral: "not-disabled:bg-button-solid-neutral-background not-disabled:text-button-solid-neutral-text",
302
- transparent: "not-disabled:bg-transparent"
303
- }[color];
304
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
305
- "button",
306
- {
307
- ref,
308
- className: (0, import_clsx.default)(
309
- colorClasses,
310
- "not-disabled:hover:brightness-90",
311
- "disabled:text-disabled-text",
312
- {
313
- "disabled:bg-disabled-background": color !== "transparent",
314
- "disabled:opacity-70": color === "transparent",
315
- "not-disabled:hover:bg-button-text-hover-background": color === "transparent"
316
- },
317
- ButtonUtil.iconPaddingMapping[size],
318
- className
319
- ),
320
- ...restProps,
321
- children
322
- }
323
- );
324
- });
325
-
326
- // src/components/layout-and-navigation/Carousel.tsx
327
- var import_jsx_runtime2 = require("react/jsx-runtime");
328
- var Carousel = ({
329
- children,
330
- animationTime = 200,
331
- isLooping = false,
332
- isAutoLooping = false,
333
- autoLoopingTimeOut = 5e3,
334
- autoLoopAnimationTime = 500,
335
- hintNext = false,
336
- arrows = false,
337
- dots = true,
338
- overScrollThreshold = 0.1,
339
- blurColor = "from-background",
340
- className = "",
341
- heightClassName = "h-96",
342
- widthClassName = "w-[70%] desktop:w-1/2"
343
- }) => {
344
- if (isAutoLooping && !isLooping) {
345
- console.error("When isAutoLooping is true, isLooping should also be true");
346
- isLooping = true;
347
- }
348
- const [{
349
- currentPosition,
350
- dragState,
351
- animationState
352
- }, setCarouselInformation] = (0, import_react2.useState)({
353
- currentPosition: 0
354
- });
355
- const animationId = (0, import_react2.useRef)(void 0);
356
- const timeOut = (0, import_react2.useRef)(void 0);
357
- autoLoopingTimeOut = Math.max(0, autoLoopingTimeOut);
358
- const length = children.length;
359
- const paddingItemCount = 3;
360
- const util = (0, import_react2.useMemo)(() => new LoopingArrayCalculator(length, isLooping, overScrollThreshold), [length, isLooping, overScrollThreshold]);
361
- const currentIndex = util.getCorrectedPosition(LoopingArrayCalculator.withoutOffset(currentPosition));
362
- animationTime = Math.max(200, animationTime);
363
- autoLoopAnimationTime = Math.max(200, autoLoopAnimationTime);
364
- const getStyleOffset = (index) => {
365
- const baseOffset = -50 + (index - currentPosition) * 100;
366
- return `${baseOffset}%`;
367
- };
368
- const animation = (0, import_react2.useCallback)((time) => {
369
- let keepAnimating = true;
370
- setCarouselInformation((state) => {
371
- const {
372
- animationState: animationState2,
373
- dragState: dragState2
374
- } = state;
375
- if (animationState2 === void 0 || dragState2 !== void 0) {
376
- keepAnimating = false;
377
- return state;
378
- }
379
- if (!animationState2.startTime || !animationState2.lastUpdateTime) {
380
- return {
381
- ...state,
382
- animationState: {
383
- ...animationState2,
384
- startTime: time,
385
- lastUpdateTime: time
386
- }
387
- };
388
- }
389
- const useAnimationTime = animationState2.isAutoLooping ? autoLoopAnimationTime : animationTime;
390
- const progress = clamp((time - animationState2.startTime) / useAnimationTime);
391
- const easedProgress = EaseFunctions.easeInEaseOut(progress);
392
- const distance = util.getDistanceDirectional(animationState2.startPosition, animationState2.targetPosition, animationState2.direction);
393
- const newPosition = util.getCorrectedPosition(easedProgress * distance * animationState2.direction + animationState2.startPosition);
394
- if (animationState2.targetPosition === newPosition || progress === 1) {
395
- keepAnimating = false;
396
- return {
397
- currentPosition: LoopingArrayCalculator.withoutOffset(newPosition),
398
- animationState: void 0
399
- };
400
- }
401
- return {
402
- currentPosition: newPosition,
403
- animationState: {
404
- ...animationState2,
405
- lastUpdateTime: time
406
- }
407
- };
408
- });
409
- if (keepAnimating) {
410
- animationId.current = requestAnimationFrame((time1) => animation(time1));
411
- }
412
- }, [animationTime, autoLoopAnimationTime, util]);
413
- (0, import_react2.useEffect)(() => {
414
- if (animationState) {
415
- animationId.current = requestAnimationFrame(animation);
416
- }
417
- return () => {
418
- if (animationId.current) {
419
- cancelAnimationFrame(animationId.current);
420
- animationId.current = 0;
421
- }
422
- };
423
- }, [animationState]);
424
- const startAutoLoop = () => setCarouselInformation((prevState) => ({
425
- ...prevState,
426
- dragState: prevState.dragState,
427
- animationState: prevState.animationState || prevState.dragState ? prevState.animationState : {
428
- startPosition: currentPosition,
429
- targetPosition: (currentPosition + 1) % length,
430
- direction: 1,
431
- // always move forward
432
- isAutoLooping: true
433
- }
434
- }));
435
- (0, import_react2.useEffect)(() => {
436
- if (!animationId.current && !animationState && !dragState && !timeOut.current) {
437
- if (autoLoopingTimeOut > 0) {
438
- timeOut.current = setTimeout(() => {
439
- startAutoLoop();
440
- timeOut.current = void 0;
441
- }, autoLoopingTimeOut);
442
- } else {
443
- startAutoLoop();
444
- }
445
- }
446
- }, [animationState, dragState, animationId.current, timeOut.current]);
447
- const startAnimation = (targetPosition) => {
448
- if (targetPosition === void 0) {
449
- targetPosition = LoopingArrayCalculator.withoutOffset(currentPosition);
450
- }
451
- if (targetPosition === currentPosition) {
452
- return;
453
- }
454
- const direction = util.getBestDirection(currentPosition, targetPosition);
455
- clearTimeout(timeOut.current);
456
- timeOut.current = void 0;
457
- if (animationId.current) {
458
- cancelAnimationFrame(animationId.current);
459
- animationId.current = void 0;
460
- }
461
- setCarouselInformation((prevState) => ({
462
- ...prevState,
463
- dragState: void 0,
464
- animationState: {
465
- targetPosition,
466
- direction,
467
- startPosition: currentPosition,
468
- isAutoLooping: false
469
- },
470
- timeOut: void 0
471
- }));
472
- };
473
- const canGoLeft = () => {
474
- return isLooping || currentPosition !== 0;
475
- };
476
- const canGoRight = () => {
477
- return isLooping || currentPosition !== length - 1;
478
- };
479
- const left = () => {
480
- if (canGoLeft()) {
481
- startAnimation(currentPosition === 0 ? length - 1 : LoopingArrayCalculator.withoutOffset(currentPosition - 1));
482
- }
483
- };
484
- const right = () => {
485
- if (canGoRight()) {
486
- startAnimation(LoopingArrayCalculator.withoutOffset((currentPosition + 1) % length));
487
- }
488
- };
489
- let items = children.map((item, index) => ({
490
- index,
491
- item
492
- }));
493
- if (isLooping) {
494
- const before = createLoopingListWithIndex(children, length - 1, paddingItemCount, false).reverse().map(([index, item]) => ({
495
- index,
496
- item
497
- }));
498
- const after = createLoopingListWithIndex(children, 0, paddingItemCount).map(([index, item]) => ({
499
- index,
500
- item
501
- }));
502
- items = [
503
- ...before,
504
- ...items,
505
- ...after
506
- ];
507
- }
508
- const onDragStart = (x) => setCarouselInformation((prevState) => ({
509
- ...prevState,
510
- dragState: {
511
- lastX: x,
512
- startX: x,
513
- startTime: Date.now(),
514
- startIndex: currentPosition
515
- },
516
- animationState: void 0
517
- // cancel animation
518
- }));
519
- const onDrag = (x, width) => {
520
- if (!dragState || x === 0) {
521
- return;
522
- }
523
- const offsetUpdate = (dragState.lastX - x) / width;
524
- const newPosition = util.getCorrectedPosition(currentPosition + offsetUpdate);
525
- setCarouselInformation((prevState) => ({
526
- ...prevState,
527
- currentPosition: newPosition,
528
- dragState: {
529
- ...dragState,
530
- lastX: x
531
- }
532
- }));
533
- };
534
- const onDragEnd = (x, width) => {
535
- if (!dragState) {
536
- return;
537
- }
538
- const distance = dragState.startX - x;
539
- const relativeDistance = distance / width;
540
- const duration = Date.now() - dragState.startTime;
541
- const velocity = distance / (Date.now() - dragState.startTime);
542
- const isSlide = Math.abs(velocity) > 2 || duration < 200 && (Math.abs(relativeDistance) > 0.2 || Math.abs(distance) > 50);
543
- if (isSlide) {
544
- if (distance > 0 && canGoRight()) {
545
- right();
546
- return;
547
- } else if (distance < 0 && canGoLeft()) {
548
- left();
549
- return;
550
- }
551
- }
552
- startAnimation();
553
- };
554
- const dragHandlers = {
555
- draggable: true,
556
- onDragStart: (event) => {
557
- onDragStart(event.clientX);
558
- event.dataTransfer.setDragImage(document.createElement("div"), 0, 0);
559
- },
560
- onDrag: (event) => onDrag(event.clientX, event.target.getBoundingClientRect().width),
561
- onDragEnd: (event) => onDragEnd(event.clientX, event.target.getBoundingClientRect().width),
562
- onTouchStart: (event) => onDragStart(event.touches[0].clientX),
563
- onTouchMove: (event) => onDrag(event.touches[0].clientX, event.target.getBoundingClientRect().width),
564
- onTouchEnd: (event) => onDragEnd(event.changedTouches[0].clientX, event.target.getBoundingClientRect().width),
565
- onTouchCancel: (event) => onDragEnd(event.changedTouches[0].clientX, event.target.getBoundingClientRect().width)
566
- };
567
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex-col-2 items-center w-full", children: [
568
- /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: (0, import_clsx2.default)(`relative w-full overflow-hidden`, heightClassName, className), children: [
569
- arrows && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
570
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
571
- IconButton,
572
- {
573
- color: "neutral",
574
- className: (0, import_clsx2.default)("absolute z-10 left-2 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoLeft() }),
575
- disabled: !canGoLeft(),
576
- onClick: () => left(),
577
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_react.ChevronLeft, { size: 24 })
578
- }
579
- ),
580
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
581
- IconButton,
582
- {
583
- color: "neutral",
584
- className: (0, import_clsx2.default)("absolute z-10 right-2 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoRight() }),
585
- disabled: !canGoRight(),
586
- onClick: () => right(),
587
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_react.ChevronRight, { size: 24 })
588
- }
589
- )
590
- ] }),
591
- hintNext ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: (0, import_clsx2.default)(`flex-row-2 relative h-full`, heightClassName), children: [
592
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex-row-2 relative h-full w-full px-2 overflow-hidden", children: items.map(({
593
- item,
594
- index
595
- }, listIndex) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
596
- "div",
597
- {
598
- className: (0, import_clsx2.default)(`absolute left-[50%] h-full overflow-hidden`, widthClassName, { "!cursor-grabbing": !!dragState }),
599
- style: { translate: getStyleOffset(listIndex - (isLooping ? paddingItemCount : 0)) },
600
- ...dragHandlers,
601
- onClick: () => startAnimation(index),
602
- children: item
603
- },
604
- listIndex
605
- )) }),
606
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
607
- "div",
608
- {
609
- className: (0, import_clsx2.default)(`hidden pointer-events-none desktop:block absolute left-0 h-full w-[20%] bg-gradient-to-r to-transparent`, blurColor)
610
- }
611
- ),
612
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
613
- "div",
614
- {
615
- className: (0, import_clsx2.default)(`hidden pointer-events-none desktop:block absolute right-0 h-full w-[20%] bg-gradient-to-l to-transparent`, blurColor)
616
- }
617
- )
618
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: (0, import_clsx2.default)("px-16 h-full", { "!cursor-grabbing": !!dragState }), ...dragHandlers, children: children[currentIndex] })
619
- ] }),
620
- dots && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
621
- "div",
622
- {
623
- className: "flex-row-2 items-center justify-center w-full my-2",
624
- children: range(length).map((index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
625
- "button",
626
- {
627
- className: (0, import_clsx2.default)("w-8 min-w-8 h-3 min-h-3 first:rounded-l-md last:rounded-r-md", {
628
- "bg-carousel-dot-disabled hover:bg-carousel-dot-active": currentIndex !== index,
629
- "bg-carousel-dot-active hover:brightness-90": currentIndex === index
630
- }),
631
- onClick: () => startAnimation(index)
632
- },
633
- index
634
- ))
635
- }
636
- )
637
- ] });
638
- };
639
- // Annotate the CommonJS export names for ESM import in node:
640
- 0 && (module.exports = {
641
- Carousel
642
- });
643
- //# sourceMappingURL=Carousel.js.map