@expcat/tigercat-core 0.2.10 → 0.2.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.
package/dist/index.cjs CHANGED
@@ -148,6 +148,16 @@ __export(index_exports, {
148
148
  alertSuccessIconPath: () => alertSuccessIconPath,
149
149
  alertTitleSizeClasses: () => alertTitleSizeClasses,
150
150
  alertWarningIconPath: () => alertWarningIconPath,
151
+ anchorAffixClasses: () => anchorAffixClasses,
152
+ anchorBaseClasses: () => anchorBaseClasses,
153
+ anchorInkActiveHorizontalClasses: () => anchorInkActiveHorizontalClasses,
154
+ anchorInkActiveVerticalClasses: () => anchorInkActiveVerticalClasses,
155
+ anchorInkContainerHorizontalClasses: () => anchorInkContainerHorizontalClasses,
156
+ anchorInkContainerVerticalClasses: () => anchorInkContainerVerticalClasses,
157
+ anchorLinkActiveClasses: () => anchorLinkActiveClasses,
158
+ anchorLinkBaseClasses: () => anchorLinkBaseClasses,
159
+ anchorLinkListHorizontalClasses: () => anchorLinkListHorizontalClasses,
160
+ anchorLinkListVerticalClasses: () => anchorLinkListVerticalClasses,
151
161
  animationDelayClasses: () => animationDelayClasses,
152
162
  animationDelayStyles: () => animationDelayStyles,
153
163
  applyFloatingStyles: () => applyFloatingStyles,
@@ -159,6 +169,12 @@ __export(index_exports, {
159
169
  avatarImageClasses: () => avatarImageClasses,
160
170
  avatarShapeClasses: () => avatarShapeClasses,
161
171
  avatarSizeClasses: () => avatarSizeClasses,
172
+ backTopBaseClasses: () => backTopBaseClasses,
173
+ backTopButtonClasses: () => backTopButtonClasses,
174
+ backTopContainerClasses: () => backTopContainerClasses,
175
+ backTopHiddenClasses: () => backTopHiddenClasses,
176
+ backTopIconPath: () => backTopIconPath,
177
+ backTopVisibleClasses: () => backTopVisibleClasses,
162
178
  badgeBaseClasses: () => badgeBaseClasses,
163
179
  badgePositionClasses: () => badgePositionClasses,
164
180
  badgeSizeClasses: () => badgeSizeClasses,
@@ -189,6 +205,21 @@ __export(index_exports, {
189
205
  cardHoverClasses: () => cardHoverClasses,
190
206
  cardSizeClasses: () => cardSizeClasses,
191
207
  cardVariantClasses: () => cardVariantClasses,
208
+ carouselArrowBaseClasses: () => carouselArrowBaseClasses,
209
+ carouselArrowDisabledClasses: () => carouselArrowDisabledClasses,
210
+ carouselBaseClasses: () => carouselBaseClasses,
211
+ carouselDotActiveClasses: () => carouselDotActiveClasses,
212
+ carouselDotClasses: () => carouselDotClasses,
213
+ carouselDotsBaseClasses: () => carouselDotsBaseClasses,
214
+ carouselDotsPositionClasses: () => carouselDotsPositionClasses,
215
+ carouselNextArrowClasses: () => carouselNextArrowClasses,
216
+ carouselNextArrowPath: () => carouselNextArrowPath,
217
+ carouselPrevArrowClasses: () => carouselPrevArrowClasses,
218
+ carouselPrevArrowPath: () => carouselPrevArrowPath,
219
+ carouselSlideBaseClasses: () => carouselSlideBaseClasses,
220
+ carouselSlideFadeClasses: () => carouselSlideFadeClasses,
221
+ carouselTrackFadeClasses: () => carouselTrackFadeClasses,
222
+ carouselTrackScrollClasses: () => carouselTrackScrollClasses,
192
223
  chartAxisLabelClasses: () => chartAxisLabelClasses,
193
224
  chartAxisLineClasses: () => chartAxisLineClasses,
194
225
  chartAxisTickLineClasses: () => chartAxisTickLineClasses,
@@ -203,6 +234,7 @@ __export(index_exports, {
203
234
  chevronLeftSolidIcon20PathD: () => chevronLeftSolidIcon20PathD,
204
235
  chevronRightSolidIcon20PathD: () => chevronRightSolidIcon20PathD,
205
236
  clampPercentage: () => clampPercentage,
237
+ clampSlideIndex: () => clampSlideIndex,
206
238
  classNames: () => classNames,
207
239
  clearFieldErrors: () => clearFieldErrors,
208
240
  clockSolidIcon20PathD: () => clockSolidIcon20PathD,
@@ -218,6 +250,21 @@ __export(index_exports, {
218
250
  codeBlockPreClasses: () => codeBlockPreClasses,
219
251
  coerceClassValue: () => coerceClassValue,
220
252
  coerceStyleValue: () => coerceStyleValue,
253
+ collapseBaseClasses: () => collapseBaseClasses,
254
+ collapseBorderlessClasses: () => collapseBorderlessClasses,
255
+ collapseExtraClasses: () => collapseExtraClasses,
256
+ collapseGhostClasses: () => collapseGhostClasses,
257
+ collapseHeaderTextClasses: () => collapseHeaderTextClasses,
258
+ collapseIconBaseClasses: () => collapseIconBaseClasses,
259
+ collapseIconExpandedClasses: () => collapseIconExpandedClasses,
260
+ collapseIconPositionClasses: () => collapseIconPositionClasses,
261
+ collapsePanelBaseClasses: () => collapsePanelBaseClasses,
262
+ collapsePanelContentBaseClasses: () => collapsePanelContentBaseClasses,
263
+ collapsePanelContentWrapperClasses: () => collapsePanelContentWrapperClasses,
264
+ collapsePanelHeaderActiveClasses: () => collapsePanelHeaderActiveClasses,
265
+ collapsePanelHeaderBaseClasses: () => collapsePanelHeaderBaseClasses,
266
+ collapsePanelHeaderDisabledClasses: () => collapsePanelHeaderDisabledClasses,
267
+ collapseRightArrowIcon: () => collapseRightArrowIcon,
221
268
  computeFloatingPosition: () => computeFloatingPosition,
222
269
  containerBaseClasses: () => containerBaseClasses,
223
270
  containerCenteredClasses: () => containerCenteredClasses,
@@ -283,6 +330,7 @@ __export(index_exports, {
283
330
  filterData: () => filterData,
284
331
  filterOptions: () => filterOptions,
285
332
  filterTreeNodes: () => filterTreeNodes,
333
+ findActiveAnchor: () => findActiveAnchor,
286
334
  findNode: () => findNode,
287
335
  flattenTree: () => flattenTree,
288
336
  focusElement: () => focusElement,
@@ -310,6 +358,12 @@ __export(index_exports, {
310
358
  getAlertTypeClasses: () => getAlertTypeClasses,
311
359
  getAlignClasses: () => getAlignClasses,
312
360
  getAllKeys: () => getAllKeys,
361
+ getAnchorInkActiveClasses: () => getAnchorInkActiveClasses,
362
+ getAnchorInkContainerClasses: () => getAnchorInkContainerClasses,
363
+ getAnchorLinkClasses: () => getAnchorLinkClasses,
364
+ getAnchorLinkListClasses: () => getAnchorLinkListClasses,
365
+ getAnchorTargetElement: () => getAnchorTargetElement,
366
+ getAnchorWrapperClasses: () => getAnchorWrapperClasses,
313
367
  getArrowStyles: () => getArrowStyles,
314
368
  getAutoExpandKeys: () => getAutoExpandKeys,
315
369
  getBadgeVariantClasses: () => getBadgeVariantClasses,
@@ -320,6 +374,10 @@ __export(index_exports, {
320
374
  getButtonVariantClasses: () => getButtonVariantClasses,
321
375
  getCalendarDays: () => getCalendarDays,
322
376
  getCardClasses: () => getCardClasses,
377
+ getCarouselArrowClasses: () => getCarouselArrowClasses,
378
+ getCarouselContainerClasses: () => getCarouselContainerClasses,
379
+ getCarouselDotClasses: () => getCarouselDotClasses,
380
+ getCarouselDotsClasses: () => getCarouselDotsClasses,
323
381
  getChartAnimationStyle: () => getChartAnimationStyle,
324
382
  getChartAxisTicks: () => getChartAxisTicks,
325
383
  getChartElementOpacity: () => getChartElementOpacity,
@@ -333,7 +391,13 @@ __export(index_exports, {
333
391
  getCircleSize: () => getCircleSize,
334
392
  getColOrderStyleVars: () => getColOrderStyleVars,
335
393
  getColStyleVars: () => getColStyleVars,
394
+ getCollapseContainerClasses: () => getCollapseContainerClasses,
395
+ getCollapseIconClasses: () => getCollapseIconClasses,
396
+ getCollapsePanelClasses: () => getCollapsePanelClasses,
397
+ getCollapsePanelHeaderClasses: () => getCollapsePanelHeaderClasses,
336
398
  getContainerClasses: () => getContainerClasses,
399
+ getContainerHeight: () => getContainerHeight,
400
+ getContainerScrollTop: () => getContainerScrollTop,
337
401
  getCurrentTime: () => getCurrentTime,
338
402
  getDatePickerDayCellClasses: () => getDatePickerDayCellClasses,
339
403
  getDatePickerIconButtonClasses: () => getDatePickerIconButtonClasses,
@@ -364,6 +428,7 @@ __export(index_exports, {
364
428
  getDropdownMenuClasses: () => getDropdownMenuClasses,
365
429
  getDropdownMenuWrapperClasses: () => getDropdownMenuWrapperClasses,
366
430
  getDropdownTriggerClasses: () => getDropdownTriggerClasses,
431
+ getElementOffsetTop: () => getElementOffsetTop,
367
432
  getErrorFields: () => getErrorFields,
368
433
  getFieldError: () => getFieldError,
369
434
  getFileListItemClasses: () => getFileListItemClasses,
@@ -401,6 +466,7 @@ __export(index_exports, {
401
466
  getModalContentClasses: () => getModalContentClasses,
402
467
  getMonthNames: () => getMonthNames,
403
468
  getNextActiveKey: () => getNextActiveKey,
469
+ getNextSlideIndex: () => getNextSlideIndex,
404
470
  getNotificationIconPath: () => getNotificationIconPath,
405
471
  getNotificationTypeClasses: () => getNotificationTypeClasses,
406
472
  getNumberExtent: () => getNumberExtent,
@@ -441,6 +507,7 @@ __export(index_exports, {
441
507
  getPopoverContentTextClasses: () => getPopoverContentTextClasses,
442
508
  getPopoverTitleClasses: () => getPopoverTitleClasses,
443
509
  getPopoverTriggerClasses: () => getPopoverTriggerClasses,
510
+ getPrevSlideIndex: () => getPrevSlideIndex,
444
511
  getProgressTextColorClasses: () => getProgressTextColorClasses,
445
512
  getProgressVariantClasses: () => getProgressVariantClasses,
446
513
  getQuickJumperInputClasses: () => getQuickJumperInputClasses,
@@ -452,6 +519,8 @@ __export(index_exports, {
452
519
  getRadioLabelClasses: () => getRadioLabelClasses,
453
520
  getRadioVisualClasses: () => getRadioVisualClasses,
454
521
  getRowKey: () => getRowKey,
522
+ getScrollTop: () => getScrollTop,
523
+ getScrollTransform: () => getScrollTransform,
455
524
  getSecureRel: () => getSecureRel,
456
525
  getSelectOptionClasses: () => getSelectOptionClasses,
457
526
  getSelectSizeClasses: () => getSelectSizeClasses,
@@ -557,7 +626,10 @@ __export(index_exports, {
557
626
  isKeyActive: () => isKeyActive,
558
627
  isKeyOpen: () => isKeyOpen,
559
628
  isKeySelected: () => isKeySelected,
629
+ isNextDisabled: () => isNextDisabled,
560
630
  isOptionGroup: () => isOptionGroup,
631
+ isPanelActive: () => isPanelActive,
632
+ isPrevDisabled: () => isPrevDisabled,
561
633
  isSameDay: () => isSameDay,
562
634
  isSpaceKey: () => isSpaceKey,
563
635
  isTabKey: () => isTabKey,
@@ -644,6 +716,7 @@ __export(index_exports, {
644
716
  modalSizeClasses: () => modalSizeClasses,
645
717
  modalTitleClasses: () => modalTitleClasses,
646
718
  modalWrapperClasses: () => modalWrapperClasses,
719
+ normalizeActiveKeys: () => normalizeActiveKeys,
647
720
  normalizeChartPadding: () => normalizeChartPadding,
648
721
  normalizeDate: () => normalizeDate,
649
722
  normalizeSvgAttrs: () => normalizeSvgAttrs,
@@ -697,6 +770,8 @@ __export(index_exports, {
697
770
  replaceKeys: () => replaceKeys,
698
771
  resolveLocaleText: () => resolveLocaleText,
699
772
  restoreFocus: () => restoreFocus,
773
+ scrollToAnchor: () => scrollToAnchor,
774
+ scrollToTop: () => scrollToTop,
700
775
  selectBaseClasses: () => selectBaseClasses,
701
776
  selectDropdownBaseClasses: () => selectDropdownBaseClasses,
702
777
  selectEmptyStateClasses: () => selectEmptyStateClasses,
@@ -811,6 +886,7 @@ __export(index_exports, {
811
886
  to12HourFormat: () => to12HourFormat,
812
887
  to24HourFormat: () => to24HourFormat,
813
888
  toggleKey: () => toggleKey,
889
+ togglePanelKey: () => togglePanelKey,
814
890
  treeBaseClasses: () => treeBaseClasses,
815
891
  treeEmptyStateClasses: () => treeEmptyStateClasses,
816
892
  treeLineClasses: () => treeLineClasses,
@@ -1149,6 +1225,49 @@ function sliderGetKeyboardValue(key, currentValue, min, max, step = 1, largeStep
1149
1225
  }
1150
1226
  }
1151
1227
 
1228
+ // src/utils/back-top-utils.ts
1229
+ function getScrollTop(target) {
1230
+ if (target === window) {
1231
+ return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
1232
+ }
1233
+ return target.scrollTop;
1234
+ }
1235
+ function scrollToTop(target, duration, callback) {
1236
+ const startTime = performance.now();
1237
+ const startScrollTop = getScrollTop(target);
1238
+ if (startScrollTop === 0) {
1239
+ callback?.();
1240
+ return;
1241
+ }
1242
+ const easeInOutCubic = (t) => {
1243
+ return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
1244
+ };
1245
+ const animateScroll = (currentTime) => {
1246
+ const elapsed = currentTime - startTime;
1247
+ const progress = Math.min(elapsed / duration, 1);
1248
+ const easedProgress = easeInOutCubic(progress);
1249
+ const newScrollTop = startScrollTop * (1 - easedProgress);
1250
+ if (target === window) {
1251
+ window.scrollTo(0, newScrollTop);
1252
+ } else {
1253
+ ;
1254
+ target.scrollTop = newScrollTop;
1255
+ }
1256
+ if (progress < 1) {
1257
+ requestAnimationFrame(animateScroll);
1258
+ } else {
1259
+ callback?.();
1260
+ }
1261
+ };
1262
+ requestAnimationFrame(animateScroll);
1263
+ }
1264
+ var backTopBaseClasses = "z-50 flex h-10 w-10 cursor-pointer items-center justify-center rounded-full bg-[var(--tiger-primary,#2563eb)] text-white shadow-lg transition-all duration-300 hover:bg-[var(--tiger-primary-hover,#1d4ed8)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-offset-2";
1265
+ var backTopButtonClasses = `fixed bottom-8 right-8 ${backTopBaseClasses}`;
1266
+ var backTopContainerClasses = `sticky bottom-4 ml-auto mr-4 ${backTopBaseClasses}`;
1267
+ var backTopHiddenClasses = "opacity-0 pointer-events-none translate-y-4";
1268
+ var backTopVisibleClasses = "opacity-100 translate-y-0";
1269
+ var backTopIconPath = "M12 19V5M12 5l-7 7M12 5l7 7";
1270
+
1152
1271
  // src/utils/common-icons.ts
1153
1272
  var closeIconViewBox = "0 0 24 24";
1154
1273
  var closeIconPathD = "M6 18L18 6M6 6l12 12";
@@ -4098,6 +4217,95 @@ var progressTrackBgClasses = "bg-[color:var(--tiger-border,#e5e7eb)]";
4098
4217
  var progressCircleTextClasses = "absolute inset-0 flex items-center justify-center";
4099
4218
  var progressCircleTrackStrokeClasses = "text-[color:var(--tiger-border,#e5e7eb)]";
4100
4219
 
4220
+ // src/utils/collapse-utils.ts
4221
+ var collapseBaseClasses = "w-full bg-white border border-gray-200 rounded overflow-hidden";
4222
+ var collapseGhostClasses = "border-0 bg-transparent";
4223
+ var collapseBorderlessClasses = "border-0";
4224
+ var collapsePanelBaseClasses = "border-b border-gray-200 last:border-b-0";
4225
+ var collapsePanelHeaderBaseClasses = "flex items-center px-4 py-3 cursor-pointer transition-colors duration-200 hover:bg-gray-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))]";
4226
+ var collapsePanelHeaderActiveClasses = "bg-gray-50";
4227
+ var collapsePanelHeaderDisabledClasses = "cursor-not-allowed opacity-50 hover:bg-transparent";
4228
+ var collapsePanelContentWrapperClasses = "overflow-hidden transition-all duration-300 ease-in-out";
4229
+ var collapsePanelContentBaseClasses = "px-4 py-3 bg-white text-gray-700";
4230
+ var collapseIconBaseClasses = "transition-transform duration-300 ease-in-out text-gray-500";
4231
+ var collapseIconExpandedClasses = "rotate-90";
4232
+ var collapseIconPositionClasses = {
4233
+ start: "mr-2",
4234
+ end: "ml-auto"
4235
+ };
4236
+ var collapseHeaderTextClasses = "flex-1 font-medium text-gray-900";
4237
+ var collapseExtraClasses = "ml-auto";
4238
+ function getCollapseContainerClasses(bordered, ghost, className) {
4239
+ const classes = [collapseBaseClasses];
4240
+ if (ghost) {
4241
+ classes.push(collapseGhostClasses);
4242
+ } else if (!bordered) {
4243
+ classes.push(collapseBorderlessClasses);
4244
+ }
4245
+ if (className) {
4246
+ classes.push(className);
4247
+ }
4248
+ return classes.filter(Boolean).join(" ");
4249
+ }
4250
+ function getCollapsePanelClasses(ghost, className) {
4251
+ const classes = [];
4252
+ if (!ghost) {
4253
+ classes.push(collapsePanelBaseClasses);
4254
+ }
4255
+ if (className) {
4256
+ classes.push(className);
4257
+ }
4258
+ return classes.filter(Boolean).join(" ");
4259
+ }
4260
+ function getCollapsePanelHeaderClasses(active, disabled, className) {
4261
+ const classes = [collapsePanelHeaderBaseClasses];
4262
+ if (disabled) {
4263
+ classes.push(collapsePanelHeaderDisabledClasses);
4264
+ } else if (active) {
4265
+ classes.push(collapsePanelHeaderActiveClasses);
4266
+ }
4267
+ if (className) {
4268
+ classes.push(className);
4269
+ }
4270
+ return classes.filter(Boolean).join(" ");
4271
+ }
4272
+ function getCollapseIconClasses(expanded, position, className) {
4273
+ const classes = [collapseIconBaseClasses, collapseIconPositionClasses[position]];
4274
+ if (expanded) {
4275
+ classes.push(collapseIconExpandedClasses);
4276
+ }
4277
+ if (className) {
4278
+ classes.push(className);
4279
+ }
4280
+ return classes.filter(Boolean).join(" ");
4281
+ }
4282
+ function normalizeActiveKeys(activeKey) {
4283
+ if (activeKey === void 0) {
4284
+ return [];
4285
+ }
4286
+ return Array.isArray(activeKey) ? activeKey : [activeKey];
4287
+ }
4288
+ function isPanelActive(panelKey, activeKeys) {
4289
+ return activeKeys.includes(panelKey);
4290
+ }
4291
+ function togglePanelKey(panelKey, activeKeys, accordion) {
4292
+ const isActive = isPanelActive(panelKey, activeKeys);
4293
+ if (isActive) {
4294
+ return activeKeys.filter((key) => key !== panelKey);
4295
+ } else {
4296
+ if (accordion) {
4297
+ return [panelKey];
4298
+ } else {
4299
+ return [...activeKeys, panelKey];
4300
+ }
4301
+ }
4302
+ }
4303
+ var collapseRightArrowIcon = `
4304
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
4305
+ <path d="M6 12L10 8L6 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4306
+ </svg>
4307
+ `.trim();
4308
+
4101
4309
  // src/utils/menu-utils.ts
4102
4310
  var menuBaseClasses = "flex border bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text,#111827)] border-[var(--tiger-border,#e5e7eb)]";
4103
4311
  var menuModeClasses = {
@@ -5430,6 +5638,204 @@ var codeBlockPreClasses = "m-0 overflow-auto p-4 text-sm leading-relaxed font-mo
5430
5638
  var codeBlockCopyButtonBaseClasses = "absolute right-3 top-0 -translate-y-1/2 inline-flex items-center rounded-md border border-gray-200 bg-white/90 px-1.5 py-0.5 text-[10px] text-gray-600 shadow-sm transition-colors hover:bg-white hover:text-gray-900 dark:border-gray-700 dark:bg-gray-900/90 dark:text-gray-200 dark:hover:bg-gray-800";
5431
5639
  var codeBlockCopyButtonCopiedClasses = "border-[var(--tiger-primary,#2563eb)] text-[var(--tiger-primary,#2563eb)]";
5432
5640
 
5641
+ // src/utils/carousel-utils.ts
5642
+ var carouselBaseClasses = "relative overflow-hidden w-full";
5643
+ var carouselTrackScrollClasses = "flex transition-transform ease-in-out";
5644
+ var carouselTrackFadeClasses = "relative";
5645
+ var carouselSlideBaseClasses = "flex-shrink-0 w-full";
5646
+ var carouselSlideFadeClasses = "absolute inset-0 transition-opacity ease-in-out";
5647
+ var carouselDotsBaseClasses = "absolute flex gap-2 z-10";
5648
+ var carouselDotsPositionClasses = {
5649
+ top: "top-4 left-1/2 -translate-x-1/2 flex-row",
5650
+ bottom: "bottom-4 left-1/2 -translate-x-1/2 flex-row",
5651
+ left: "left-4 top-1/2 -translate-y-1/2 flex-col",
5652
+ right: "right-4 top-1/2 -translate-y-1/2 flex-col"
5653
+ };
5654
+ var carouselDotClasses = "w-3 h-3 rounded-full transition-all duration-200 cursor-pointer border-0 p-0 bg-white/50 hover:bg-white/75 focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-offset-2 focus-visible:ring-offset-gray-800";
5655
+ var carouselDotActiveClasses = "bg-white scale-110";
5656
+ var carouselArrowBaseClasses = "absolute top-1/2 -translate-y-1/2 z-10 flex items-center justify-center w-10 h-10 rounded-full bg-black/30 text-white cursor-pointer transition-all duration-200 hover:bg-black/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-white border-0";
5657
+ var carouselPrevArrowClasses = "left-4";
5658
+ var carouselNextArrowClasses = "right-4";
5659
+ var carouselArrowDisabledClasses = "opacity-50 cursor-not-allowed pointer-events-none";
5660
+ function getCarouselContainerClasses(className) {
5661
+ const classes = [carouselBaseClasses];
5662
+ if (className) {
5663
+ classes.push(className);
5664
+ }
5665
+ return classes.filter(Boolean).join(" ");
5666
+ }
5667
+ function getCarouselDotsClasses(position) {
5668
+ return `${carouselDotsBaseClasses} ${carouselDotsPositionClasses[position]}`;
5669
+ }
5670
+ function getCarouselDotClasses(isActive) {
5671
+ const classes = [carouselDotClasses];
5672
+ if (isActive) {
5673
+ classes.push(carouselDotActiveClasses);
5674
+ }
5675
+ return classes.filter(Boolean).join(" ");
5676
+ }
5677
+ function getCarouselArrowClasses(type, disabled) {
5678
+ const classes = [carouselArrowBaseClasses];
5679
+ classes.push(type === "prev" ? carouselPrevArrowClasses : carouselNextArrowClasses);
5680
+ if (disabled) {
5681
+ classes.push(carouselArrowDisabledClasses);
5682
+ }
5683
+ return classes.filter(Boolean).join(" ");
5684
+ }
5685
+ function getNextSlideIndex(currentIndex, totalSlides, infinite) {
5686
+ if (totalSlides <= 0) return 0;
5687
+ const nextIndex = currentIndex + 1;
5688
+ if (nextIndex >= totalSlides) {
5689
+ return infinite ? 0 : currentIndex;
5690
+ }
5691
+ return nextIndex;
5692
+ }
5693
+ function getPrevSlideIndex(currentIndex, totalSlides, infinite) {
5694
+ if (totalSlides <= 0) return 0;
5695
+ const prevIndex = currentIndex - 1;
5696
+ if (prevIndex < 0) {
5697
+ return infinite ? totalSlides - 1 : currentIndex;
5698
+ }
5699
+ return prevIndex;
5700
+ }
5701
+ function isNextDisabled(currentIndex, totalSlides, infinite) {
5702
+ if (infinite) return false;
5703
+ return currentIndex >= totalSlides - 1;
5704
+ }
5705
+ function isPrevDisabled(currentIndex, _totalSlides, infinite) {
5706
+ if (infinite) return false;
5707
+ return currentIndex <= 0;
5708
+ }
5709
+ function clampSlideIndex(index, totalSlides) {
5710
+ if (totalSlides <= 0) return 0;
5711
+ if (index < 0) return 0;
5712
+ if (index >= totalSlides) return totalSlides - 1;
5713
+ return index;
5714
+ }
5715
+ function getScrollTransform(currentIndex) {
5716
+ return `translateX(-${currentIndex * 100}%)`;
5717
+ }
5718
+ var carouselPrevArrowPath = "M15.75 19.5L8.25 12l7.5-7.5";
5719
+ var carouselNextArrowPath = "M8.25 4.5l7.5 7.5-7.5 7.5";
5720
+
5721
+ // src/utils/anchor-utils.ts
5722
+ var anchorBaseClasses = "relative";
5723
+ var anchorAffixClasses = "fixed";
5724
+ var anchorInkContainerVerticalClasses = "absolute left-0 top-0 bottom-0 w-0.5 bg-gray-200 rounded-full";
5725
+ var anchorInkContainerHorizontalClasses = "absolute left-0 right-0 bottom-0 h-0.5 bg-gray-200 rounded-full";
5726
+ var anchorInkActiveVerticalClasses = "absolute w-0.5 bg-[var(--tiger-primary,#2563eb)] rounded-full transition-[top,height] duration-200 ease-in-out";
5727
+ var anchorInkActiveHorizontalClasses = "absolute h-0.5 bg-[var(--tiger-primary,#2563eb)] rounded-full transition-[left,width] duration-200 ease-in-out";
5728
+ var anchorLinkListVerticalClasses = "pl-4 space-y-2";
5729
+ var anchorLinkListHorizontalClasses = "flex items-center space-x-4 pb-2";
5730
+ var anchorLinkBaseClasses = "block text-sm text-gray-600 hover:text-[var(--tiger-primary,#2563eb)] transition-colors duration-200 whitespace-nowrap";
5731
+ var anchorLinkActiveClasses = "text-[var(--tiger-primary,#2563eb)] font-medium";
5732
+ function getAnchorWrapperClasses(affix, className) {
5733
+ const classes = [anchorBaseClasses];
5734
+ if (affix) {
5735
+ classes.push(anchorAffixClasses);
5736
+ }
5737
+ if (className) {
5738
+ classes.push(className);
5739
+ }
5740
+ return classes.filter(Boolean).join(" ");
5741
+ }
5742
+ function getAnchorInkContainerClasses(direction) {
5743
+ return direction === "vertical" ? anchorInkContainerVerticalClasses : anchorInkContainerHorizontalClasses;
5744
+ }
5745
+ function getAnchorInkActiveClasses(direction) {
5746
+ return direction === "vertical" ? anchorInkActiveVerticalClasses : anchorInkActiveHorizontalClasses;
5747
+ }
5748
+ function getAnchorLinkListClasses(direction) {
5749
+ return direction === "vertical" ? anchorLinkListVerticalClasses : anchorLinkListHorizontalClasses;
5750
+ }
5751
+ function getAnchorLinkClasses(active, className) {
5752
+ const classes = [anchorLinkBaseClasses];
5753
+ if (active) {
5754
+ classes.push(anchorLinkActiveClasses);
5755
+ }
5756
+ if (className) {
5757
+ classes.push(className);
5758
+ }
5759
+ return classes.filter(Boolean).join(" ");
5760
+ }
5761
+ function getAnchorTargetElement(href) {
5762
+ if (!href || !href.startsWith("#")) {
5763
+ return null;
5764
+ }
5765
+ const id = href.slice(1);
5766
+ if (!id) {
5767
+ return null;
5768
+ }
5769
+ return document.getElementById(id);
5770
+ }
5771
+ function getContainerScrollTop(container) {
5772
+ if (container === window) {
5773
+ return window.scrollY || document.documentElement.scrollTop;
5774
+ }
5775
+ return container.scrollTop;
5776
+ }
5777
+ function getContainerHeight(container) {
5778
+ if (container === window) {
5779
+ return window.innerHeight;
5780
+ }
5781
+ return container.clientHeight;
5782
+ }
5783
+ function getElementOffsetTop(element, container) {
5784
+ if (container === window) {
5785
+ const rect = element.getBoundingClientRect();
5786
+ return rect.top + window.scrollY;
5787
+ }
5788
+ const containerEl = container;
5789
+ let offset2 = 0;
5790
+ let el = element;
5791
+ while (el && el !== containerEl) {
5792
+ offset2 += el.offsetTop;
5793
+ el = el.offsetParent;
5794
+ if (el === null || el === document.body) {
5795
+ const containerRect = containerEl.getBoundingClientRect();
5796
+ const elementRect = element.getBoundingClientRect();
5797
+ return elementRect.top - containerRect.top + containerEl.scrollTop;
5798
+ }
5799
+ }
5800
+ return offset2;
5801
+ }
5802
+ function scrollToAnchor(href, container, targetOffset = 0) {
5803
+ const element = getAnchorTargetElement(href);
5804
+ if (!element) {
5805
+ return;
5806
+ }
5807
+ const offsetTop = getElementOffsetTop(element, container) - targetOffset;
5808
+ if (container === window) {
5809
+ window.scrollTo({
5810
+ top: offsetTop,
5811
+ behavior: "smooth"
5812
+ });
5813
+ } else {
5814
+ ;
5815
+ container.scrollTo({
5816
+ top: offsetTop,
5817
+ behavior: "smooth"
5818
+ });
5819
+ }
5820
+ }
5821
+ function findActiveAnchor(links, container, bounds = 5, targetOffset = 0) {
5822
+ if (links.length === 0) {
5823
+ return "";
5824
+ }
5825
+ const scrollTop = getContainerScrollTop(container);
5826
+ for (let i = links.length - 1; i >= 0; i--) {
5827
+ const href = links[i];
5828
+ const element = getAnchorTargetElement(href);
5829
+ if (element) {
5830
+ const offsetTop = getElementOffsetTop(element, container) - targetOffset - bounds;
5831
+ if (scrollTop >= offsetTop) {
5832
+ return href;
5833
+ }
5834
+ }
5835
+ }
5836
+ return links[0] || "";
5837
+ }
5838
+
5433
5839
  // src/utils/chart-utils.ts
5434
5840
  var chartCanvasBaseClasses = "block";
5435
5841
  var chartAxisLineClasses = "stroke-[color:var(--tiger-border,#e5e7eb)]";
@@ -6573,6 +6979,16 @@ var version = "0.2.0";
6573
6979
  alertSuccessIconPath,
6574
6980
  alertTitleSizeClasses,
6575
6981
  alertWarningIconPath,
6982
+ anchorAffixClasses,
6983
+ anchorBaseClasses,
6984
+ anchorInkActiveHorizontalClasses,
6985
+ anchorInkActiveVerticalClasses,
6986
+ anchorInkContainerHorizontalClasses,
6987
+ anchorInkContainerVerticalClasses,
6988
+ anchorLinkActiveClasses,
6989
+ anchorLinkBaseClasses,
6990
+ anchorLinkListHorizontalClasses,
6991
+ anchorLinkListVerticalClasses,
6576
6992
  animationDelayClasses,
6577
6993
  animationDelayStyles,
6578
6994
  applyFloatingStyles,
@@ -6584,6 +7000,12 @@ var version = "0.2.0";
6584
7000
  avatarImageClasses,
6585
7001
  avatarShapeClasses,
6586
7002
  avatarSizeClasses,
7003
+ backTopBaseClasses,
7004
+ backTopButtonClasses,
7005
+ backTopContainerClasses,
7006
+ backTopHiddenClasses,
7007
+ backTopIconPath,
7008
+ backTopVisibleClasses,
6587
7009
  badgeBaseClasses,
6588
7010
  badgePositionClasses,
6589
7011
  badgeSizeClasses,
@@ -6614,6 +7036,21 @@ var version = "0.2.0";
6614
7036
  cardHoverClasses,
6615
7037
  cardSizeClasses,
6616
7038
  cardVariantClasses,
7039
+ carouselArrowBaseClasses,
7040
+ carouselArrowDisabledClasses,
7041
+ carouselBaseClasses,
7042
+ carouselDotActiveClasses,
7043
+ carouselDotClasses,
7044
+ carouselDotsBaseClasses,
7045
+ carouselDotsPositionClasses,
7046
+ carouselNextArrowClasses,
7047
+ carouselNextArrowPath,
7048
+ carouselPrevArrowClasses,
7049
+ carouselPrevArrowPath,
7050
+ carouselSlideBaseClasses,
7051
+ carouselSlideFadeClasses,
7052
+ carouselTrackFadeClasses,
7053
+ carouselTrackScrollClasses,
6617
7054
  chartAxisLabelClasses,
6618
7055
  chartAxisLineClasses,
6619
7056
  chartAxisTickLineClasses,
@@ -6628,6 +7065,7 @@ var version = "0.2.0";
6628
7065
  chevronLeftSolidIcon20PathD,
6629
7066
  chevronRightSolidIcon20PathD,
6630
7067
  clampPercentage,
7068
+ clampSlideIndex,
6631
7069
  classNames,
6632
7070
  clearFieldErrors,
6633
7071
  clockSolidIcon20PathD,
@@ -6643,6 +7081,21 @@ var version = "0.2.0";
6643
7081
  codeBlockPreClasses,
6644
7082
  coerceClassValue,
6645
7083
  coerceStyleValue,
7084
+ collapseBaseClasses,
7085
+ collapseBorderlessClasses,
7086
+ collapseExtraClasses,
7087
+ collapseGhostClasses,
7088
+ collapseHeaderTextClasses,
7089
+ collapseIconBaseClasses,
7090
+ collapseIconExpandedClasses,
7091
+ collapseIconPositionClasses,
7092
+ collapsePanelBaseClasses,
7093
+ collapsePanelContentBaseClasses,
7094
+ collapsePanelContentWrapperClasses,
7095
+ collapsePanelHeaderActiveClasses,
7096
+ collapsePanelHeaderBaseClasses,
7097
+ collapsePanelHeaderDisabledClasses,
7098
+ collapseRightArrowIcon,
6646
7099
  computeFloatingPosition,
6647
7100
  containerBaseClasses,
6648
7101
  containerCenteredClasses,
@@ -6708,6 +7161,7 @@ var version = "0.2.0";
6708
7161
  filterData,
6709
7162
  filterOptions,
6710
7163
  filterTreeNodes,
7164
+ findActiveAnchor,
6711
7165
  findNode,
6712
7166
  flattenTree,
6713
7167
  focusElement,
@@ -6735,6 +7189,12 @@ var version = "0.2.0";
6735
7189
  getAlertTypeClasses,
6736
7190
  getAlignClasses,
6737
7191
  getAllKeys,
7192
+ getAnchorInkActiveClasses,
7193
+ getAnchorInkContainerClasses,
7194
+ getAnchorLinkClasses,
7195
+ getAnchorLinkListClasses,
7196
+ getAnchorTargetElement,
7197
+ getAnchorWrapperClasses,
6738
7198
  getArrowStyles,
6739
7199
  getAutoExpandKeys,
6740
7200
  getBadgeVariantClasses,
@@ -6745,6 +7205,10 @@ var version = "0.2.0";
6745
7205
  getButtonVariantClasses,
6746
7206
  getCalendarDays,
6747
7207
  getCardClasses,
7208
+ getCarouselArrowClasses,
7209
+ getCarouselContainerClasses,
7210
+ getCarouselDotClasses,
7211
+ getCarouselDotsClasses,
6748
7212
  getChartAnimationStyle,
6749
7213
  getChartAxisTicks,
6750
7214
  getChartElementOpacity,
@@ -6758,7 +7222,13 @@ var version = "0.2.0";
6758
7222
  getCircleSize,
6759
7223
  getColOrderStyleVars,
6760
7224
  getColStyleVars,
7225
+ getCollapseContainerClasses,
7226
+ getCollapseIconClasses,
7227
+ getCollapsePanelClasses,
7228
+ getCollapsePanelHeaderClasses,
6761
7229
  getContainerClasses,
7230
+ getContainerHeight,
7231
+ getContainerScrollTop,
6762
7232
  getCurrentTime,
6763
7233
  getDatePickerDayCellClasses,
6764
7234
  getDatePickerIconButtonClasses,
@@ -6789,6 +7259,7 @@ var version = "0.2.0";
6789
7259
  getDropdownMenuClasses,
6790
7260
  getDropdownMenuWrapperClasses,
6791
7261
  getDropdownTriggerClasses,
7262
+ getElementOffsetTop,
6792
7263
  getErrorFields,
6793
7264
  getFieldError,
6794
7265
  getFileListItemClasses,
@@ -6826,6 +7297,7 @@ var version = "0.2.0";
6826
7297
  getModalContentClasses,
6827
7298
  getMonthNames,
6828
7299
  getNextActiveKey,
7300
+ getNextSlideIndex,
6829
7301
  getNotificationIconPath,
6830
7302
  getNotificationTypeClasses,
6831
7303
  getNumberExtent,
@@ -6866,6 +7338,7 @@ var version = "0.2.0";
6866
7338
  getPopoverContentTextClasses,
6867
7339
  getPopoverTitleClasses,
6868
7340
  getPopoverTriggerClasses,
7341
+ getPrevSlideIndex,
6869
7342
  getProgressTextColorClasses,
6870
7343
  getProgressVariantClasses,
6871
7344
  getQuickJumperInputClasses,
@@ -6877,6 +7350,8 @@ var version = "0.2.0";
6877
7350
  getRadioLabelClasses,
6878
7351
  getRadioVisualClasses,
6879
7352
  getRowKey,
7353
+ getScrollTop,
7354
+ getScrollTransform,
6880
7355
  getSecureRel,
6881
7356
  getSelectOptionClasses,
6882
7357
  getSelectSizeClasses,
@@ -6982,7 +7457,10 @@ var version = "0.2.0";
6982
7457
  isKeyActive,
6983
7458
  isKeyOpen,
6984
7459
  isKeySelected,
7460
+ isNextDisabled,
6985
7461
  isOptionGroup,
7462
+ isPanelActive,
7463
+ isPrevDisabled,
6986
7464
  isSameDay,
6987
7465
  isSpaceKey,
6988
7466
  isTabKey,
@@ -7069,6 +7547,7 @@ var version = "0.2.0";
7069
7547
  modalSizeClasses,
7070
7548
  modalTitleClasses,
7071
7549
  modalWrapperClasses,
7550
+ normalizeActiveKeys,
7072
7551
  normalizeChartPadding,
7073
7552
  normalizeDate,
7074
7553
  normalizeSvgAttrs,
@@ -7122,6 +7601,8 @@ var version = "0.2.0";
7122
7601
  replaceKeys,
7123
7602
  resolveLocaleText,
7124
7603
  restoreFocus,
7604
+ scrollToAnchor,
7605
+ scrollToTop,
7125
7606
  selectBaseClasses,
7126
7607
  selectDropdownBaseClasses,
7127
7608
  selectEmptyStateClasses,
@@ -7236,6 +7717,7 @@ var version = "0.2.0";
7236
7717
  to12HourFormat,
7237
7718
  to24HourFormat,
7238
7719
  toggleKey,
7720
+ togglePanelKey,
7239
7721
  treeBaseClasses,
7240
7722
  treeEmptyStateClasses,
7241
7723
  treeLineClasses,