@expcat/tigercat-core 1.5.0 → 2.0.0-preview.1

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 (123) hide show
  1. package/dist/{datepicker-gSOJN_pQ.d.cts → datepicker-ZdzYUqm5.d.ts} +77 -11
  2. package/dist/datepicker-locales/ar-SA.d.ts +1 -1
  3. package/dist/datepicker-locales/de-DE.d.ts +1 -1
  4. package/dist/datepicker-locales/en-US.d.ts +1 -1
  5. package/dist/datepicker-locales/es-ES.d.ts +1 -1
  6. package/dist/datepicker-locales/fr-FR.d.ts +1 -1
  7. package/dist/datepicker-locales/id-ID.d.ts +1 -1
  8. package/dist/datepicker-locales/ja-JP.d.ts +1 -1
  9. package/dist/datepicker-locales/ko-KR.d.ts +1 -1
  10. package/dist/datepicker-locales/pt-BR.d.ts +1 -1
  11. package/dist/datepicker-locales/registry.d.ts +7 -0
  12. package/dist/datepicker-locales/registry.js +224 -0
  13. package/dist/datepicker-locales/th-TH.d.ts +1 -1
  14. package/dist/datepicker-locales/vi-VN.d.ts +1 -1
  15. package/dist/datepicker-locales/zh-CN.d.ts +1 -1
  16. package/dist/datepicker-locales/zh-TW.d.ts +1 -1
  17. package/dist/icons/picker.d.ts +1 -13
  18. package/dist/icons/picker.js +0 -12
  19. package/dist/index.d.ts +11356 -11653
  20. package/dist/index.js +206 -375
  21. package/dist/{locale-hhhI2kH6.d.ts → locale-44p_QYnH.d.ts} +4 -7
  22. package/dist/locales/ar-SA.d.ts +2 -2
  23. package/dist/locales/ar-SA.js +16 -189
  24. package/dist/locales/de-DE.d.ts +2 -2
  25. package/dist/locales/de-DE.js +16 -189
  26. package/dist/locales/en-US.d.ts +2 -2
  27. package/dist/locales/es-ES.d.ts +2 -2
  28. package/dist/locales/es-ES.js +16 -189
  29. package/dist/locales/fr-FR.d.ts +2 -2
  30. package/dist/locales/fr-FR.js +16 -189
  31. package/dist/locales/id-ID.d.ts +2 -2
  32. package/dist/locales/id-ID.js +16 -189
  33. package/dist/locales/ja-JP.d.ts +2 -2
  34. package/dist/locales/ja-JP.js +16 -189
  35. package/dist/locales/ko-KR.d.ts +2 -2
  36. package/dist/locales/ko-KR.js +16 -189
  37. package/dist/locales/pt-BR.d.ts +2 -2
  38. package/dist/locales/pt-BR.js +16 -189
  39. package/dist/locales/th-TH.d.ts +2 -2
  40. package/dist/locales/th-TH.js +16 -189
  41. package/dist/locales/vi-VN.d.ts +2 -2
  42. package/dist/locales/vi-VN.js +16 -189
  43. package/dist/locales/zh-CN.d.ts +2 -2
  44. package/dist/locales/zh-TW.d.ts +2 -2
  45. package/dist/locales/zh-TW.js +16 -189
  46. package/dist/{table-export-CfdzU6Y5.d.ts → table-export-CzPmX1b6.d.ts} +3 -9
  47. package/dist/utils/table-export.d.ts +3 -3
  48. package/package.json +40 -71
  49. package/tokens/tokens.css +0 -329
  50. package/dist/datepicker-gSOJN_pQ.d.ts +0 -130
  51. package/dist/datepicker-locales/ar-SA.cjs +0 -46
  52. package/dist/datepicker-locales/ar-SA.d.cts +0 -6
  53. package/dist/datepicker-locales/de-DE.cjs +0 -46
  54. package/dist/datepicker-locales/de-DE.d.cts +0 -6
  55. package/dist/datepicker-locales/en-US.cjs +0 -46
  56. package/dist/datepicker-locales/en-US.d.cts +0 -6
  57. package/dist/datepicker-locales/es-ES.cjs +0 -46
  58. package/dist/datepicker-locales/es-ES.d.cts +0 -6
  59. package/dist/datepicker-locales/fr-FR.cjs +0 -46
  60. package/dist/datepicker-locales/fr-FR.d.cts +0 -6
  61. package/dist/datepicker-locales/id-ID.cjs +0 -46
  62. package/dist/datepicker-locales/id-ID.d.cts +0 -6
  63. package/dist/datepicker-locales/ja-JP.cjs +0 -46
  64. package/dist/datepicker-locales/ja-JP.d.cts +0 -6
  65. package/dist/datepicker-locales/ko-KR.cjs +0 -46
  66. package/dist/datepicker-locales/ko-KR.d.cts +0 -6
  67. package/dist/datepicker-locales/pt-BR.cjs +0 -46
  68. package/dist/datepicker-locales/pt-BR.d.cts +0 -6
  69. package/dist/datepicker-locales/th-TH.cjs +0 -46
  70. package/dist/datepicker-locales/th-TH.d.cts +0 -6
  71. package/dist/datepicker-locales/vi-VN.cjs +0 -46
  72. package/dist/datepicker-locales/vi-VN.d.cts +0 -6
  73. package/dist/datepicker-locales/zh-CN.cjs +0 -46
  74. package/dist/datepicker-locales/zh-CN.d.cts +0 -6
  75. package/dist/datepicker-locales/zh-TW.cjs +0 -46
  76. package/dist/datepicker-locales/zh-TW.d.cts +0 -6
  77. package/dist/icons/common.cjs +0 -54
  78. package/dist/icons/common.d.cts +0 -20
  79. package/dist/icons/picker.cjs +0 -75
  80. package/dist/icons/picker.d.cts +0 -53
  81. package/dist/icons/registry.cjs +0 -172
  82. package/dist/icons/registry.d.cts +0 -102
  83. package/dist/icons/status.cjs +0 -47
  84. package/dist/icons/status.d.cts +0 -13
  85. package/dist/icons/table.cjs +0 -48
  86. package/dist/icons/table.d.cts +0 -25
  87. package/dist/index.cjs +0 -22311
  88. package/dist/index.d.cts +0 -20523
  89. package/dist/locale-BTAo7XO1.d.cts +0 -392
  90. package/dist/locales/ar-SA.cjs +0 -548
  91. package/dist/locales/ar-SA.d.cts +0 -10
  92. package/dist/locales/de-DE.cjs +0 -548
  93. package/dist/locales/de-DE.d.cts +0 -10
  94. package/dist/locales/en-US.cjs +0 -246
  95. package/dist/locales/en-US.d.cts +0 -10
  96. package/dist/locales/es-ES.cjs +0 -548
  97. package/dist/locales/es-ES.d.cts +0 -10
  98. package/dist/locales/fr-FR.cjs +0 -548
  99. package/dist/locales/fr-FR.d.cts +0 -10
  100. package/dist/locales/id-ID.cjs +0 -531
  101. package/dist/locales/id-ID.d.cts +0 -10
  102. package/dist/locales/ja-JP.cjs +0 -531
  103. package/dist/locales/ja-JP.d.cts +0 -10
  104. package/dist/locales/ko-KR.cjs +0 -531
  105. package/dist/locales/ko-KR.d.cts +0 -10
  106. package/dist/locales/pt-BR.cjs +0 -548
  107. package/dist/locales/pt-BR.d.cts +0 -10
  108. package/dist/locales/th-TH.cjs +0 -531
  109. package/dist/locales/th-TH.d.cts +0 -10
  110. package/dist/locales/vi-VN.cjs +0 -531
  111. package/dist/locales/vi-VN.d.cts +0 -10
  112. package/dist/locales/zh-CN.cjs +0 -246
  113. package/dist/locales/zh-CN.d.cts +0 -10
  114. package/dist/locales/zh-TW.cjs +0 -531
  115. package/dist/locales/zh-TW.d.cts +0 -10
  116. package/dist/table-export-vfyBzKui.d.cts +0 -882
  117. package/dist/tailwind/modern.cjs +0 -363
  118. package/dist/tailwind/modern.d.cts +0 -5
  119. package/dist/tailwind-entry-CNBAH7iv.d.cts +0 -184
  120. package/dist/tailwind.cjs +0 -274
  121. package/dist/tailwind.d.cts +0 -2
  122. package/dist/utils/table-export.cjs +0 -119
  123. package/dist/utils/table-export.d.cts +0 -3
package/dist/index.js CHANGED
@@ -599,9 +599,9 @@ function createBackTopVisibilityController(options) {
599
599
  cancel
600
600
  };
601
601
  }
602
- var baseClasses = "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";
603
- var backTopButtonClasses = `fixed bottom-8 right-8 ${baseClasses}`;
604
- var backTopContainerClasses = `sticky bottom-4 ml-auto mr-4 ${baseClasses}`;
602
+ 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";
603
+ var backTopButtonClasses = `fixed bottom-8 right-8 ${backTopBaseClasses}`;
604
+ var backTopContainerClasses = `sticky bottom-4 ml-auto mr-4 ${backTopBaseClasses}`;
605
605
  var backTopHiddenClasses = "opacity-0 pointer-events-none translate-y-4";
606
606
  var backTopVisibleClasses = "opacity-100 translate-y-0";
607
607
  var backTopIconPath = "M12 19V5M12 5l-7 7M12 5l7 7";
@@ -640,12 +640,6 @@ var chevronDownSolidIcon20PathD = "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-
640
640
  var checkSolidIcon20PathD = "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z";
641
641
  var successCircleSolidIcon20PathD = "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z";
642
642
  var errorCircleSolidIcon20PathD = "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z";
643
- var CalendarIconPath = calendarSolidIcon20PathD;
644
- var CloseIconPath = closeSolidIcon20PathD;
645
- var ChevronLeftIconPath = chevronLeftSolidIcon20PathD;
646
- var ChevronRightIconPath = chevronRightSolidIcon20PathD;
647
- var ClockIconPath = clockSolidIcon20PathD;
648
- var TimePickerCloseIconPath = closeSolidIcon20PathD;
649
643
 
650
644
  // src/utils/icons/status.ts
651
645
  var statusSuccessIconPath = "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z";
@@ -1775,34 +1769,6 @@ var ZH_CN_UPLOAD_LABELS = {
1775
1769
  previewFileAriaLabel: "\u9884\u89C8 {fileName}"
1776
1770
  };
1777
1771
 
1778
- // src/utils/i18n/datepicker-locales/ar-SA.ts
1779
- var AR_SA_DATEPICKER_LOCALE = {
1780
- locale: "ar-SA",
1781
- labels: {
1782
- today: "\u0627\u0644\u064A\u0648\u0645",
1783
- ok: "\u0645\u0648\u0627\u0641\u0642",
1784
- calendar: "\u0627\u0644\u062A\u0642\u0648\u064A\u0645",
1785
- toggleCalendar: "\u0641\u062A\u062D \u0627\u0644\u062A\u0642\u0648\u064A\u0645",
1786
- clearDate: "\u0645\u0633\u062D \u0627\u0644\u062A\u0627\u0631\u064A\u062E",
1787
- previousMonth: "\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0633\u0627\u0628\u0642",
1788
- nextMonth: "\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u062A\u0627\u0644\u064A"
1789
- }
1790
- };
1791
-
1792
- // src/utils/i18n/datepicker-locales/de-DE.ts
1793
- var DE_DE_DATEPICKER_LOCALE = {
1794
- locale: "de-DE",
1795
- labels: {
1796
- today: "Heute",
1797
- ok: "OK",
1798
- calendar: "Kalender",
1799
- toggleCalendar: "Kalender \xF6ffnen",
1800
- clearDate: "Datum l\xF6schen",
1801
- previousMonth: "Vorheriger Monat",
1802
- nextMonth: "N\xE4chster Monat"
1803
- }
1804
- };
1805
-
1806
1772
  // src/utils/i18n/datepicker-locales/en-US.ts
1807
1773
  var EN_US_DATEPICKER_LOCALE = {
1808
1774
  locale: "en-US",
@@ -1817,174 +1783,8 @@ var EN_US_DATEPICKER_LOCALE = {
1817
1783
  }
1818
1784
  };
1819
1785
 
1820
- // src/utils/i18n/datepicker-locales/es-ES.ts
1821
- var ES_ES_DATEPICKER_LOCALE = {
1822
- locale: "es-ES",
1823
- labels: {
1824
- today: "Hoy",
1825
- ok: "Aceptar",
1826
- calendar: "Calendario",
1827
- toggleCalendar: "Abrir calendario",
1828
- clearDate: "Borrar fecha",
1829
- previousMonth: "Mes anterior",
1830
- nextMonth: "Mes siguiente"
1831
- }
1832
- };
1833
-
1834
- // src/utils/i18n/datepicker-locales/fr-FR.ts
1835
- var FR_FR_DATEPICKER_LOCALE = {
1836
- locale: "fr-FR",
1837
- labels: {
1838
- today: "Aujourd'hui",
1839
- ok: "OK",
1840
- calendar: "Calendrier",
1841
- toggleCalendar: "Ouvrir le calendrier",
1842
- clearDate: "Effacer la date",
1843
- previousMonth: "Mois pr\xE9c\xE9dent",
1844
- nextMonth: "Mois suivant"
1845
- }
1846
- };
1847
-
1848
- // src/utils/i18n/datepicker-locales/id-ID.ts
1849
- var ID_ID_DATEPICKER_LOCALE = {
1850
- locale: "id-ID",
1851
- labels: {
1852
- today: "Hari ini",
1853
- ok: "OK",
1854
- calendar: "Kalender",
1855
- toggleCalendar: "Buka kalender",
1856
- clearDate: "Hapus tanggal",
1857
- previousMonth: "Bulan sebelumnya",
1858
- nextMonth: "Bulan berikutnya"
1859
- }
1860
- };
1861
-
1862
- // src/utils/i18n/datepicker-locales/ja-JP.ts
1863
- var JA_JP_DATEPICKER_LOCALE = {
1864
- locale: "ja-JP",
1865
- labels: {
1866
- today: "\u4ECA\u65E5",
1867
- ok: "OK",
1868
- calendar: "\u30AB\u30EC\u30F3\u30C0\u30FC",
1869
- toggleCalendar: "\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u958B\u304F",
1870
- clearDate: "\u65E5\u4ED8\u3092\u30AF\u30EA\u30A2",
1871
- previousMonth: "\u524D\u306E\u6708",
1872
- nextMonth: "\u6B21\u306E\u6708"
1873
- }
1874
- };
1875
-
1876
- // src/utils/i18n/datepicker-locales/ko-KR.ts
1877
- var KO_KR_DATEPICKER_LOCALE = {
1878
- locale: "ko-KR",
1879
- labels: {
1880
- today: "\uC624\uB298",
1881
- ok: "\uD655\uC778",
1882
- calendar: "\uB2EC\uB825",
1883
- toggleCalendar: "\uB2EC\uB825 \uC5F4\uAE30",
1884
- clearDate: "\uB0A0\uC9DC \uC9C0\uC6B0\uAE30",
1885
- previousMonth: "\uC774\uC804 \uB2EC",
1886
- nextMonth: "\uB2E4\uC74C \uB2EC"
1887
- }
1888
- };
1889
-
1890
- // src/utils/i18n/datepicker-locales/pt-BR.ts
1891
- var PT_BR_DATEPICKER_LOCALE = {
1892
- locale: "pt-BR",
1893
- labels: {
1894
- today: "Hoje",
1895
- ok: "OK",
1896
- calendar: "Calend\xE1rio",
1897
- toggleCalendar: "Abrir calend\xE1rio",
1898
- clearDate: "Limpar data",
1899
- previousMonth: "M\xEAs anterior",
1900
- nextMonth: "Pr\xF3ximo m\xEAs"
1901
- }
1902
- };
1903
-
1904
- // src/utils/i18n/datepicker-locales/th-TH.ts
1905
- var TH_TH_DATEPICKER_LOCALE = {
1906
- locale: "th-TH",
1907
- labels: {
1908
- today: "\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49",
1909
- ok: "\u0E15\u0E01\u0E25\u0E07",
1910
- calendar: "\u0E1B\u0E0F\u0E34\u0E17\u0E34\u0E19",
1911
- toggleCalendar: "\u0E40\u0E1B\u0E34\u0E14\u0E1B\u0E0F\u0E34\u0E17\u0E34\u0E19",
1912
- clearDate: "\u0E25\u0E49\u0E32\u0E07\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48",
1913
- previousMonth: "\u0E40\u0E14\u0E37\u0E2D\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
1914
- nextMonth: "\u0E40\u0E14\u0E37\u0E2D\u0E19\u0E16\u0E31\u0E14\u0E44\u0E1B"
1915
- }
1916
- };
1917
-
1918
- // src/utils/i18n/datepicker-locales/vi-VN.ts
1919
- var VI_VN_DATEPICKER_LOCALE = {
1920
- locale: "vi-VN",
1921
- labels: {
1922
- today: "H\xF4m nay",
1923
- ok: "OK",
1924
- calendar: "L\u1ECBch",
1925
- toggleCalendar: "M\u1EDF l\u1ECBch",
1926
- clearDate: "X\xF3a ng\xE0y",
1927
- previousMonth: "Th\xE1ng tr\u01B0\u1EDBc",
1928
- nextMonth: "Th\xE1ng sau"
1929
- }
1930
- };
1931
-
1932
- // src/utils/i18n/datepicker-locales/zh-CN.ts
1933
- var ZH_CN_DATEPICKER_LOCALE = {
1934
- locale: "zh-CN",
1935
- labels: {
1936
- today: "\u4ECA\u5929",
1937
- ok: "\u786E\u5B9A",
1938
- calendar: "\u65E5\u5386",
1939
- toggleCalendar: "\u6253\u5F00\u65E5\u5386",
1940
- clearDate: "\u6E05\u9664\u65E5\u671F",
1941
- previousMonth: "\u4E0A\u4E2A\u6708",
1942
- nextMonth: "\u4E0B\u4E2A\u6708"
1943
- }
1944
- };
1945
-
1946
- // src/utils/i18n/datepicker-locales/zh-TW.ts
1947
- var ZH_TW_DATEPICKER_LOCALE = {
1948
- locale: "zh-TW",
1949
- labels: {
1950
- today: "\u4ECA\u5929",
1951
- ok: "\u78BA\u5B9A",
1952
- calendar: "\u65E5\u66C6",
1953
- toggleCalendar: "\u958B\u555F\u65E5\u66C6",
1954
- clearDate: "\u6E05\u9664\u65E5\u671F",
1955
- previousMonth: "\u4E0A\u500B\u6708",
1956
- nextMonth: "\u4E0B\u500B\u6708"
1957
- }
1958
- };
1959
-
1960
1786
  // src/utils/datepicker-i18n.ts
1961
1787
  var EN_US_DATEPICKER_LOCALE2 = EN_US_DATEPICKER_LOCALE;
1962
- var ZH_CN_DATEPICKER_LOCALE2 = ZH_CN_DATEPICKER_LOCALE;
1963
- var DATEPICKER_LOCALES = [
1964
- EN_US_DATEPICKER_LOCALE,
1965
- ZH_CN_DATEPICKER_LOCALE,
1966
- ZH_TW_DATEPICKER_LOCALE,
1967
- JA_JP_DATEPICKER_LOCALE,
1968
- KO_KR_DATEPICKER_LOCALE,
1969
- TH_TH_DATEPICKER_LOCALE,
1970
- VI_VN_DATEPICKER_LOCALE,
1971
- ID_ID_DATEPICKER_LOCALE,
1972
- ES_ES_DATEPICKER_LOCALE,
1973
- FR_FR_DATEPICKER_LOCALE,
1974
- DE_DE_DATEPICKER_LOCALE,
1975
- PT_BR_DATEPICKER_LOCALE,
1976
- AR_SA_DATEPICKER_LOCALE
1977
- ];
1978
- var DATEPICKER_LOCALE_BY_ID = new Map(
1979
- DATEPICKER_LOCALES.map((preset) => [preset.locale.toLowerCase(), preset])
1980
- );
1981
- var DATEPICKER_LOCALE_BY_LANGUAGE = /* @__PURE__ */ new Map();
1982
- for (const preset of DATEPICKER_LOCALES) {
1983
- const language = preset.locale.split("-")[0]?.toLowerCase();
1984
- if (language && !DATEPICKER_LOCALE_BY_LANGUAGE.has(language)) {
1985
- DATEPICKER_LOCALE_BY_LANGUAGE.set(language, preset);
1986
- }
1987
- }
1988
1788
  function isDatePickerLocaleConfig(value) {
1989
1789
  return Boolean(value && typeof value === "object" && "datePicker" in value);
1990
1790
  }
@@ -1998,9 +1798,7 @@ function getDatePickerLocaleCode(locale) {
1998
1798
  return getLocalePreset(locale)?.locale;
1999
1799
  }
2000
1800
  function getDefaultDatePickerLabels(locale) {
2001
- const lc = (getDatePickerLocaleCode(locale) ?? "").toLowerCase();
2002
- const language = lc.split("-")[0];
2003
- return DATEPICKER_LOCALE_BY_ID.get(lc)?.labels ?? DATEPICKER_LOCALE_BY_LANGUAGE.get(language)?.labels ?? EN_US_DATEPICKER_LOCALE2.labels;
1801
+ return getLocalePreset(locale)?.labels ?? EN_US_DATEPICKER_LOCALE2.labels;
2004
1802
  }
2005
1803
  function getDatePickerLabels(locale, overrides) {
2006
1804
  return {
@@ -2239,7 +2037,7 @@ function focusTimePickerOption(panel, unit, action) {
2239
2037
  var timePickerBaseClasses = "relative inline-block w-full max-w-xs";
2240
2038
  var timePickerInputWrapperClasses = "relative flex items-center";
2241
2039
  function getTimePickerInputClasses(size, disabled) {
2242
- const baseClasses2 = [
2040
+ const baseClasses = [
2243
2041
  "w-full rounded-[var(--tiger-radius-md,0.5rem)] border border-gray-300",
2244
2042
  "focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:border-transparent",
2245
2043
  "transition-colors duration-200",
@@ -2252,10 +2050,10 @@ function getTimePickerInputClasses(size, disabled) {
2252
2050
  lg: "px-4 py-3 text-lg"
2253
2051
  };
2254
2052
  const stateClasses = disabled ? "bg-gray-100 text-gray-400 cursor-not-allowed" : "bg-white text-gray-900 cursor-pointer hover:border-gray-400";
2255
- return [...baseClasses2, sizeClasses3[size], stateClasses].join(" ");
2053
+ return [...baseClasses, sizeClasses3[size], stateClasses].join(" ");
2256
2054
  }
2257
2055
  function getTimePickerIconButtonClasses(size) {
2258
- const baseClasses2 = [
2056
+ const baseClasses = [
2259
2057
  "absolute right-1 flex items-center justify-center",
2260
2058
  "text-gray-400 hover:text-gray-600",
2261
2059
  "focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-1",
@@ -2267,7 +2065,7 @@ function getTimePickerIconButtonClasses(size) {
2267
2065
  md: "w-8 h-8",
2268
2066
  lg: "w-10 h-10"
2269
2067
  };
2270
- return [...baseClasses2, sizeClasses3[size]].join(" ");
2068
+ return [...baseClasses, sizeClasses3[size]].join(" ");
2271
2069
  }
2272
2070
  var timePickerClearButtonClasses = [
2273
2071
  "absolute right-10 flex items-center justify-center",
@@ -2291,18 +2089,18 @@ var timePickerRangeHeaderClasses = [
2291
2089
  "flex items-center gap-2"
2292
2090
  ].join(" ");
2293
2091
  function getTimePickerRangeTabButtonClasses(isActive) {
2294
- const baseClasses2 = [
2092
+ const baseClasses = [
2295
2093
  "px-3 py-1 text-xs font-medium rounded",
2296
2094
  "border border-gray-300",
2297
2095
  "focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-1",
2298
2096
  "transition-colors duration-150"
2299
2097
  ];
2300
2098
  if (isActive) {
2301
- return [...baseClasses2, "bg-[var(--tiger-primary,#2563eb)] text-white border-transparent"].join(
2099
+ return [...baseClasses, "bg-[var(--tiger-primary,#2563eb)] text-white border-transparent"].join(
2302
2100
  " "
2303
2101
  );
2304
2102
  }
2305
- return [...baseClasses2, "bg-white hover:bg-gray-50 text-gray-700"].join(" ");
2103
+ return [...baseClasses, "bg-white hover:bg-gray-50 text-gray-700"].join(" ");
2306
2104
  }
2307
2105
  var timePickerColumnClasses = "flex flex-col overflow-hidden shrink-0 w-16";
2308
2106
  var timePickerColumnHeaderClasses = [
@@ -2313,27 +2111,27 @@ var timePickerColumnListClasses = [
2313
2111
  "overflow-y-auto max-h-48 scrollbar-thin scrollbar-thumb-gray-300 scrollbar-track-gray-100"
2314
2112
  ].join(" ");
2315
2113
  function getTimePickerItemClasses(isSelected, isDisabled) {
2316
- const baseClasses2 = [
2114
+ const baseClasses = [
2317
2115
  "w-full px-3 py-1.5 text-sm text-center",
2318
2116
  "hover:bg-gray-100 focus:outline-none focus:bg-gray-100",
2319
2117
  "transition-colors duration-150",
2320
2118
  "cursor-pointer"
2321
2119
  ];
2322
2120
  if (isDisabled) {
2323
- return [...baseClasses2, "text-gray-300 cursor-not-allowed hover:bg-transparent"].join(" ");
2121
+ return [...baseClasses, "text-gray-300 cursor-not-allowed hover:bg-transparent"].join(" ");
2324
2122
  }
2325
2123
  if (isSelected) {
2326
2124
  return [
2327
- ...baseClasses2,
2125
+ ...baseClasses,
2328
2126
  "bg-[var(--tiger-primary,#2563eb)] text-white",
2329
2127
  "hover:bg-[var(--tiger-primary-hover,#1d4ed8)]",
2330
2128
  "font-medium"
2331
2129
  ].join(" ");
2332
2130
  }
2333
- return [...baseClasses2, "text-gray-700"].join(" ");
2131
+ return [...baseClasses, "text-gray-700"].join(" ");
2334
2132
  }
2335
2133
  function getTimePickerPeriodButtonClasses(isSelected) {
2336
- const baseClasses2 = [
2134
+ const baseClasses = [
2337
2135
  "w-full px-3 py-2 text-sm font-medium text-center",
2338
2136
  "hover:bg-gray-100 focus:outline-none focus:bg-gray-100",
2339
2137
  "transition-colors duration-150",
@@ -2341,12 +2139,12 @@ function getTimePickerPeriodButtonClasses(isSelected) {
2341
2139
  ];
2342
2140
  if (isSelected) {
2343
2141
  return [
2344
- ...baseClasses2,
2142
+ ...baseClasses,
2345
2143
  "bg-[var(--tiger-primary,#2563eb)] text-white",
2346
2144
  "hover:bg-[var(--tiger-primary-hover,#1d4ed8)]"
2347
2145
  ].join(" ");
2348
2146
  }
2349
- return [...baseClasses2, "text-gray-700"].join(" ");
2147
+ return [...baseClasses, "text-gray-700"].join(" ");
2350
2148
  }
2351
2149
  var timePickerFooterClasses = [
2352
2150
  "px-3 py-2 border-t border-gray-200",
@@ -2611,24 +2409,6 @@ var enUS = {
2611
2409
  };
2612
2410
 
2613
2411
  // src/utils/i18n/define-locale.ts
2614
- var DATEPICKER_LOCALES2 = [
2615
- EN_US_DATEPICKER_LOCALE,
2616
- ZH_CN_DATEPICKER_LOCALE,
2617
- ZH_TW_DATEPICKER_LOCALE,
2618
- JA_JP_DATEPICKER_LOCALE,
2619
- KO_KR_DATEPICKER_LOCALE,
2620
- TH_TH_DATEPICKER_LOCALE,
2621
- VI_VN_DATEPICKER_LOCALE,
2622
- ID_ID_DATEPICKER_LOCALE,
2623
- ES_ES_DATEPICKER_LOCALE,
2624
- FR_FR_DATEPICKER_LOCALE,
2625
- DE_DE_DATEPICKER_LOCALE,
2626
- PT_BR_DATEPICKER_LOCALE,
2627
- AR_SA_DATEPICKER_LOCALE
2628
- ];
2629
- var DATEPICKER_LOCALE_BY_ID2 = new Map(
2630
- DATEPICKER_LOCALES2.map((locale) => [locale.locale, locale])
2631
- );
2632
2412
  function isPlainObject(value) {
2633
2413
  if (value === null || typeof value !== "object") return false;
2634
2414
  const proto = Object.getPrototypeOf(value);
@@ -2650,12 +2430,25 @@ function deepMerge(base, override) {
2650
2430
  return out;
2651
2431
  }
2652
2432
  function defineLocale(overrides = {}) {
2653
- const locale = overrides.locale ? DATEPICKER_LOCALE_BY_ID2.get(overrides.locale) : void 0;
2654
- const normalizedOverrides = locale && !overrides.datePicker ? { ...overrides, datePicker: locale } : overrides;
2655
- return deepMerge(enUS, normalizedOverrides);
2433
+ return deepMerge(enUS, overrides);
2434
+ }
2435
+
2436
+ // src/utils/i18n/define-text.ts
2437
+ function isPlainObject2(value) {
2438
+ if (value === null || typeof value !== "object") return false;
2439
+ const proto = Object.getPrototypeOf(value);
2440
+ return proto === Object.prototype || proto === null;
2441
+ }
2442
+ function clonePlainObject(value) {
2443
+ const out = {};
2444
+ for (const key of Object.keys(value)) {
2445
+ const next = value[key];
2446
+ out[key] = isPlainObject2(next) ? clonePlainObject(next) : next;
2447
+ }
2448
+ return out;
2656
2449
  }
2657
2450
  function defineText(text = {}) {
2658
- return defineLocale(text);
2451
+ return clonePlainObject(text);
2659
2452
  }
2660
2453
 
2661
2454
  // src/utils/interaction-styles.ts
@@ -3019,6 +2812,8 @@ var selectOptionDisabledClasses = "opacity-50 cursor-not-allowed hover:bg-[var(-
3019
2812
  var selectGroupLabelClasses = "px-3 py-2 text-xs font-semibold text-[var(--tiger-select-group-label-text,var(--tiger-text-muted,#6b7280))] uppercase bg-[var(--tiger-select-group-label-bg,var(--tiger-surface-muted,#f9fafb))]";
3020
2813
  var selectSearchInputClasses = "w-full px-3 py-2 bg-[var(--tiger-select-dropdown-bg,var(--tiger-surface,#ffffff))] text-[var(--tiger-select-search-text,var(--tiger-text,#111827))] placeholder:text-[var(--tiger-select-search-placeholder,var(--tiger-text-muted,#9ca3af))] border-b border-[var(--tiger-select-dropdown-border,var(--tiger-border,#e5e7eb))] focus:outline-none focus:ring-0";
3021
2814
  var selectEmptyStateClasses = "px-3 py-8 text-center text-[var(--tiger-select-empty-text,var(--tiger-text-muted,#6b7280))] text-sm";
2815
+ var selectDoneActionClasses = "sticky bottom-0 z-10 md:hidden border-t border-[var(--tiger-select-dropdown-border,var(--tiger-border,#e5e7eb))] bg-[var(--tiger-select-dropdown-bg,var(--tiger-surface,#ffffff))] p-2";
2816
+ var selectDoneButtonClasses = "w-full rounded-[var(--tiger-radius-md,0.5rem)] bg-[var(--tiger-primary,#2563eb)] px-3 py-2 text-sm font-medium text-white transition-colors hover:bg-[var(--tiger-primary-hover,#1d4ed8)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-select-ring,var(--tiger-primary,#2563eb))]/40";
3022
2817
  var SELECT_SIZE_CLASSES = {
3023
2818
  sm: "text-sm py-1.5",
3024
2819
  md: "text-base py-2",
@@ -3136,20 +2931,20 @@ function createSelectSearchDebouncer(options) {
3136
2931
  const flush = () => {
3137
2932
  if (timerHandle !== void 0) {
3138
2933
  cancel();
3139
- options.onSearch(pendingQuery);
2934
+ options.onSearchChange(pendingQuery);
3140
2935
  }
3141
2936
  };
3142
2937
  const schedule = (query) => {
3143
2938
  pendingQuery = query;
3144
2939
  if (delay <= 0) {
3145
2940
  cancel();
3146
- options.onSearch(query);
2941
+ options.onSearchChange(query);
3147
2942
  return;
3148
2943
  }
3149
2944
  cancel();
3150
2945
  timerHandle = setTimer(() => {
3151
2946
  timerHandle = void 0;
3152
- options.onSearch(pendingQuery);
2947
+ options.onSearchChange(pendingQuery);
3153
2948
  }, delay);
3154
2949
  };
3155
2950
  return {
@@ -3852,7 +3647,7 @@ function getDatePickerCalendarCellState(input) {
3852
3647
  var datePickerBaseClasses = "relative inline-block w-full";
3853
3648
  var datePickerInputWrapperClasses = "relative w-full";
3854
3649
  function getDatePickerInputClasses(size = "md", disabled = false) {
3855
- const baseClasses2 = [
3650
+ const baseClasses = [
3856
3651
  "w-full",
3857
3652
  "rounded-[var(--tiger-radius-md,0.5rem)]",
3858
3653
  "border",
@@ -3874,10 +3669,10 @@ function getDatePickerInputClasses(size = "md", disabled = false) {
3874
3669
  lg: "px-4 py-3 text-lg"
3875
3670
  };
3876
3671
  const disabledClasses = disabled ? ["bg-gray-100", "cursor-not-allowed", "text-gray-500"] : ["cursor-pointer"];
3877
- return classNames(...baseClasses2, sizeClasses3[size], ...disabledClasses);
3672
+ return classNames(...baseClasses, sizeClasses3[size], ...disabledClasses);
3878
3673
  }
3879
3674
  function getDatePickerIconButtonClasses(size = "md") {
3880
- const baseClasses2 = [
3675
+ const baseClasses = [
3881
3676
  "absolute",
3882
3677
  "right-0",
3883
3678
  "top-0",
@@ -3894,7 +3689,7 @@ function getDatePickerIconButtonClasses(size = "md") {
3894
3689
  md: "px-3",
3895
3690
  lg: "px-4"
3896
3691
  };
3897
- return classNames(...baseClasses2, sizeClasses3[size]);
3692
+ return classNames(...baseClasses, sizeClasses3[size]);
3898
3693
  }
3899
3694
  var datePickerCalendarClasses = classNames(
3900
3695
  "absolute",
@@ -4171,7 +3966,6 @@ function getFileExtensionName(name, options) {
4171
3966
  }
4172
3967
 
4173
3968
  // src/utils/upload-utils.ts
4174
- var DEFAULT_UPLOAD_CHUNK_SIZE = 1024 * 1024;
4175
3969
  var uploadStatusIconSizeClasses = {
4176
3970
  sm: "w-5 h-5",
4177
3971
  lg: "w-8 h-8"
@@ -4303,57 +4097,6 @@ function fileToUploadFile(file) {
4303
4097
  file
4304
4098
  };
4305
4099
  }
4306
- function createUploadChunks(file, chunkSize = DEFAULT_UPLOAD_CHUNK_SIZE) {
4307
- const safeChunkSize = Math.max(1, Math.floor(chunkSize));
4308
- const total = Math.max(1, Math.ceil(file.size / safeChunkSize));
4309
- return Array.from({ length: total }, (_, index) => {
4310
- const start = index * safeChunkSize;
4311
- const end = Math.min(file.size, start + safeChunkSize);
4312
- return {
4313
- index,
4314
- start,
4315
- end,
4316
- size: end - start,
4317
- blob: file.slice(start, end)
4318
- };
4319
- });
4320
- }
4321
- function getUploadResumeKey(file) {
4322
- return `${file.name}:${file.size}:${file.lastModified}`;
4323
- }
4324
- function createUploadQueueItem(file, id = generateFileId(), chunkSize) {
4325
- return {
4326
- id,
4327
- file,
4328
- status: "queued",
4329
- progress: 0,
4330
- chunks: chunkSize ? createUploadChunks(file, chunkSize) : []
4331
- };
4332
- }
4333
- async function runUploadQueue(items, upload, options = {}) {
4334
- const concurrency = Math.max(1, Math.floor(options.concurrency ?? 2));
4335
- let cursor = 0;
4336
- const notify = () => options.onChange?.([...items]);
4337
- async function worker() {
4338
- while (cursor < items.length) {
4339
- const item = items[cursor];
4340
- cursor += 1;
4341
- item.status = "uploading";
4342
- notify();
4343
- try {
4344
- await upload(item);
4345
- item.status = "success";
4346
- item.progress = 100;
4347
- } catch (error) {
4348
- item.status = "error";
4349
- item.error = error instanceof Error ? error.message : String(error);
4350
- }
4351
- notify();
4352
- }
4353
- }
4354
- await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, () => worker()));
4355
- return items;
4356
- }
4357
4100
  function validateFileType(file, accept) {
4358
4101
  if (!accept) return true;
4359
4102
  const acceptList = accept.split(",").map((item) => item.trim());
@@ -4379,7 +4122,7 @@ function formatFileSize(bytes) {
4379
4122
  return formatBytes(bytes, { precision: 2 });
4380
4123
  }
4381
4124
  function getUploadButtonClasses(disabled) {
4382
- const baseClasses2 = [
4125
+ const baseClasses = [
4383
4126
  "inline-flex",
4384
4127
  "items-center",
4385
4128
  "justify-center",
@@ -4403,10 +4146,10 @@ function getUploadButtonClasses(disabled) {
4403
4146
  "focus:ring-[var(--tiger-primary,#2563eb)]",
4404
4147
  "cursor-pointer"
4405
4148
  ];
4406
- return classNames(...baseClasses2, ...stateClasses);
4149
+ return classNames(...baseClasses, ...stateClasses);
4407
4150
  }
4408
4151
  function getDragAreaClasses(isDragging, disabled) {
4409
- const baseClasses2 = [
4152
+ const baseClasses = [
4410
4153
  "flex",
4411
4154
  "flex-col",
4412
4155
  "items-center",
@@ -4445,7 +4188,7 @@ function getDragAreaClasses(isDragging, disabled) {
4445
4188
  ...focusClasses
4446
4189
  ];
4447
4190
  }
4448
- return classNames(...baseClasses2, ...stateClasses);
4191
+ return classNames(...baseClasses, ...stateClasses);
4449
4192
  }
4450
4193
  var FILE_LIST_STATUS_CLASSES = {
4451
4194
  ready: ["bg-gray-50", "hover:bg-gray-100"],
@@ -4460,7 +4203,7 @@ var PICTURE_CARD_STATUS_CLASSES = {
4460
4203
  error: ["border-red-400", "bg-red-50"]
4461
4204
  };
4462
4205
  function getFileListItemClasses(status) {
4463
- const baseClasses2 = [
4206
+ const baseClasses = [
4464
4207
  "flex",
4465
4208
  "items-center",
4466
4209
  "justify-between",
@@ -4471,10 +4214,10 @@ function getFileListItemClasses(status) {
4471
4214
  "duration-200"
4472
4215
  ];
4473
4216
  const stateClasses = status ? FILE_LIST_STATUS_CLASSES[status] : FILE_LIST_STATUS_CLASSES.ready;
4474
- return classNames(...baseClasses2, ...stateClasses);
4217
+ return classNames(...baseClasses, ...stateClasses);
4475
4218
  }
4476
4219
  function getPictureCardClasses(status) {
4477
- const baseClasses2 = [
4220
+ const baseClasses = [
4478
4221
  "relative",
4479
4222
  "inline-flex",
4480
4223
  "items-center",
@@ -4488,7 +4231,7 @@ function getPictureCardClasses(status) {
4488
4231
  "duration-200"
4489
4232
  ];
4490
4233
  const stateClasses = status ? PICTURE_CARD_STATUS_CLASSES[status] : PICTURE_CARD_STATUS_CLASSES.ready;
4491
- return classNames(...baseClasses2, ...stateClasses);
4234
+ return classNames(...baseClasses, ...stateClasses);
4492
4235
  }
4493
4236
 
4494
4237
  // src/utils/grid.ts
@@ -5062,18 +4805,15 @@ function getTableFixedHeaderCellClasses(options) {
5062
4805
  );
5063
4806
  }
5064
4807
  var TABLE_VIRTUAL_RECOMMENDATION_THRESHOLD = 1e3;
5065
- var TABLE_AUTO_VIRTUAL_THRESHOLD = 1e4;
5066
4808
  function getTableVirtualRecommendation(options) {
5067
4809
  const threshold = options.threshold ?? TABLE_VIRTUAL_RECOMMENDATION_THRESHOLD;
5068
- const autoThreshold = options.autoThreshold ?? TABLE_AUTO_VIRTUAL_THRESHOLD;
5069
- const autoEnabled = options.virtual !== true && options.autoVirtual !== false && options.dataLength >= autoThreshold;
4810
+ const autoEnabled = options.virtual !== true && options.autoVirtual !== false && options.dataLength >= threshold;
5070
4811
  const enabled = options.virtual === true || autoEnabled;
5071
4812
  return {
5072
4813
  enabled,
5073
4814
  autoEnabled,
5074
4815
  recommended: !enabled && options.dataLength >= threshold,
5075
4816
  threshold,
5076
- autoThreshold,
5077
4817
  dataLength: options.dataLength
5078
4818
  };
5079
4819
  }
@@ -6924,21 +6664,21 @@ var stepFinishIconViewBox = "0 0 24 24";
6924
6664
  var stepFinishIconStrokeWidth = "3";
6925
6665
  var stepFinishIconPathD = "M4.5 12.75l6 6 9-13.5";
6926
6666
  function getStepsContainerClasses(direction) {
6927
- const baseClasses2 = "tiger-steps w-full list-none m-0 p-0";
6667
+ const baseClasses = "tiger-steps w-full list-none m-0 p-0";
6928
6668
  if (direction === "vertical") {
6929
- return `${baseClasses2} flex flex-col`;
6669
+ return `${baseClasses} flex flex-col`;
6930
6670
  }
6931
- return `${baseClasses2} flex flex-row items-start`;
6671
+ return `${baseClasses} flex flex-row items-start`;
6932
6672
  }
6933
6673
  function getStepItemClasses(direction, isLast) {
6934
- const baseClasses2 = "tiger-step-item relative group";
6674
+ const baseClasses = "tiger-step-item relative group";
6935
6675
  if (direction === "vertical") {
6936
- return `${baseClasses2} flex flex-row ${!isLast ? "pb-6" : ""}`;
6676
+ return `${baseClasses} flex flex-row ${!isLast ? "pb-6" : ""}`;
6937
6677
  }
6938
- return `${baseClasses2} flex flex-col flex-1 items-center`;
6678
+ return `${baseClasses} flex flex-col flex-1 items-center`;
6939
6679
  }
6940
6680
  function getStepIconClasses(status, size, simple, isCustomIcon) {
6941
- const baseClasses2 = "tiger-step-icon relative z-10 flex items-center justify-center rounded-full border-2";
6681
+ const baseClasses = "tiger-step-icon relative z-10 flex items-center justify-center rounded-full border-2";
6942
6682
  const sizeClasses3 = simple ? "w-6 h-6 text-xs" : size === "small" ? "w-8 h-8 text-sm" : "w-10 h-10 text-base";
6943
6683
  const iconClasses = isCustomIcon ? "" : "font-medium";
6944
6684
  const activeClasses = "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white ring-4 ring-[var(--tiger-primary,#2563eb)]/15 scale-105 shadow-sm transition-all duration-300";
@@ -6948,7 +6688,7 @@ function getStepIconClasses(status, size, simple, isCustomIcon) {
6948
6688
  finish: "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white shadow-sm transition-all duration-300 group-hover:scale-105 group-hover:bg-[var(--tiger-primary-hover,#0369a1)]",
6949
6689
  error: "bg-[var(--tiger-error-bg,#fef2f2)] border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)] transition-all duration-300"
6950
6690
  };
6951
- return `${baseClasses2} ${sizeClasses3} ${iconClasses} ${statusClasses[status]}`;
6691
+ return `${baseClasses} ${sizeClasses3} ${iconClasses} ${statusClasses[status]}`;
6952
6692
  }
6953
6693
  function getStepTailClasses(direction, status, isLast, size, simple) {
6954
6694
  if (isLast) return "hidden";
@@ -6961,14 +6701,14 @@ function getStepTailClasses(direction, status, isLast, size, simple) {
6961
6701
  return `tiger-step-tail ${horizontalClasses} ${colorClasses}`;
6962
6702
  }
6963
6703
  function getStepContentClasses(direction) {
6964
- const baseClasses2 = "tiger-step-content";
6704
+ const baseClasses = "tiger-step-content";
6965
6705
  if (direction === "vertical") {
6966
- return `${baseClasses2} ml-4 flex-1`;
6706
+ return `${baseClasses} ml-4 flex-1`;
6967
6707
  }
6968
- return `${baseClasses2} mt-2 text-center`;
6708
+ return `${baseClasses} mt-2 text-center`;
6969
6709
  }
6970
6710
  function getStepTitleClasses(status, size, clickable) {
6971
- const baseClasses2 = "tiger-step-title font-medium";
6711
+ const baseClasses = "tiger-step-title font-medium";
6972
6712
  const sizeClasses3 = size === "small" ? "text-sm" : "text-base";
6973
6713
  const statusClasses = {
6974
6714
  wait: "text-[var(--tiger-text-muted,#6b7280)] transition-colors duration-300 group-hover:text-[var(--tiger-text,#111827)]",
@@ -6977,13 +6717,13 @@ function getStepTitleClasses(status, size, clickable) {
6977
6717
  error: "text-[var(--tiger-error,#ef4444)]"
6978
6718
  };
6979
6719
  const cursorClasses = clickable ? "bg-transparent border-0 p-0 cursor-pointer hover:text-[var(--tiger-primary,#2563eb)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--tiger-surface,#ffffff)]" : "";
6980
- return `${baseClasses2} ${sizeClasses3} ${statusClasses[status]} ${cursorClasses}`;
6720
+ return `${baseClasses} ${sizeClasses3} ${statusClasses[status]} ${cursorClasses}`;
6981
6721
  }
6982
6722
  function getStepDescriptionClasses(status, size) {
6983
- const baseClasses2 = "tiger-step-description mt-1";
6723
+ const baseClasses = "tiger-step-description mt-1";
6984
6724
  const sizeClasses3 = size === "small" ? "text-xs" : "text-sm";
6985
6725
  const statusClass = status === "error" ? "text-[var(--tiger-error,#ef4444)]" : "text-[var(--tiger-text-muted,#6b7280)]";
6986
- return `${baseClasses2} ${sizeClasses3} ${statusClass}`;
6726
+ return `${baseClasses} ${sizeClasses3} ${statusClass}`;
6987
6727
  }
6988
6728
  function calculateStepStatus(index, currentIndex, currentStatus, customStatus) {
6989
6729
  if (customStatus) {
@@ -7337,7 +7077,7 @@ function getDrawerContainerClasses() {
7337
7077
  return "fixed inset-0 overflow-hidden";
7338
7078
  }
7339
7079
  function getDrawerPanelClasses(placement, visible, size, fullscreenOnMobile = true) {
7340
- const baseClasses2 = "absolute bg-[var(--tiger-surface,#ffffff)] shadow-xl transition-transform duration-300 ease-in-out pointer-events-auto";
7080
+ const baseClasses = "absolute bg-[var(--tiger-surface,#ffffff)] shadow-xl transition-transform duration-300 ease-in-out pointer-events-auto";
7341
7081
  const mobileFullscreenClasses = "max-md:inset-0 max-md:!w-screen max-md:!h-[100dvh]";
7342
7082
  const sizeMap2 = {
7343
7083
  sm: { width: "w-64", height: "h-48" },
@@ -7369,7 +7109,7 @@ function getDrawerPanelClasses(placement, visible, size, fullscreenOnMobile = tr
7369
7109
  )
7370
7110
  };
7371
7111
  return classNames(
7372
- baseClasses2,
7112
+ baseClasses,
7373
7113
  placementClasses[placement],
7374
7114
  fullscreenOnMobile && mobileFullscreenClasses
7375
7115
  );
@@ -7609,6 +7349,12 @@ var notificationIconClasses = "w-6 h-6 flex-shrink-0 mt-0.5";
7609
7349
  var notificationTitleClasses = "text-sm font-semibold";
7610
7350
  var notificationDescriptionClasses = "text-sm mt-1";
7611
7351
  var notificationContentClasses = "flex-1 min-w-0";
7352
+ var notificationActionsClasses = "mt-3 flex flex-wrap items-center gap-2";
7353
+ var notificationActionButtonClasses = "rounded-[var(--tiger-radius-md,0.5rem)] px-2.5 py-1 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[var(--tiger-primary,#2563eb)]/40 disabled:cursor-not-allowed disabled:opacity-50";
7354
+ var notificationActionButtonTypeClasses = {
7355
+ primary: "bg-[var(--tiger-primary,#2563eb)] text-white hover:bg-[var(--tiger-primary-hover,#1d4ed8)] disabled:hover:bg-[var(--tiger-primary,#2563eb)]",
7356
+ default: "border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text,#111827)] hover:bg-[var(--tiger-surface-muted,#f3f4f6)]"
7357
+ };
7612
7358
  function requestDefaultNotificationFrame(callback) {
7613
7359
  if (globalThis.requestAnimationFrame) {
7614
7360
  return globalThis.requestAnimationFrame(callback);
@@ -7695,17 +7441,17 @@ function getLoadingOverlaySpinnerClasses(customClassName) {
7695
7441
  function getLoadingClasses(variant, size, color, customColor) {
7696
7442
  const sizeClass = loadingSizeClasses[size];
7697
7443
  const colorClass = customColor ? "" : loadingColorClasses[color];
7698
- const baseClasses2 = classNames(sizeClass, colorClass);
7444
+ const baseClasses = classNames(sizeClass, colorClass);
7699
7445
  switch (variant) {
7700
7446
  case "dots":
7701
7447
  case "bars":
7702
- return baseClasses2;
7448
+ return baseClasses;
7703
7449
  case "pulse":
7704
- return classNames(baseClasses2, "animate-pulse");
7450
+ return classNames(baseClasses, "animate-pulse");
7705
7451
  case "spinner":
7706
7452
  case "ring":
7707
7453
  default:
7708
- return classNames(baseClasses2, loadingSpinnerBaseClasses);
7454
+ return classNames(baseClasses, loadingSpinnerBaseClasses);
7709
7455
  }
7710
7456
  }
7711
7457
  function getSpinnerSVG(variant) {
@@ -10636,9 +10382,6 @@ var HTTP_RESULT_STATUSES = /* @__PURE__ */ new Set(["404", "403", "500"]);
10636
10382
  function isHttpResultStatus(status) {
10637
10383
  return HTTP_RESULT_STATUSES.has(status);
10638
10384
  }
10639
- function getResultHttpLabel(status) {
10640
- return isHttpResultStatus(status) ? status : void 0;
10641
- }
10642
10385
 
10643
10386
  // src/utils/empty-utils.ts
10644
10387
  var emptyBaseClasses = "flex flex-col items-center justify-center py-10 px-4 text-center";
@@ -12200,10 +11943,10 @@ function defaultCascaderFilter(inputValue, path) {
12200
11943
  const searchLower = inputValue.toLowerCase();
12201
11944
  return path.some((option) => option.label.toLowerCase().includes(searchLower));
12202
11945
  }
12203
- function filterCascaderOptions(flattenedOptions, inputValue, showSearch) {
11946
+ function filterCascaderOptions(flattenedOptions, inputValue, searchable) {
12204
11947
  if (!inputValue) return flattenedOptions;
12205
- const filterFn = typeof showSearch === "object" && showSearch.filter ? showSearch.filter : defaultCascaderFilter;
12206
- const limit = typeof showSearch === "object" && showSearch.limit ? showSearch.limit : 50;
11948
+ const filterFn = typeof searchable === "object" && searchable.filter ? searchable.filter : defaultCascaderFilter;
11949
+ const limit = typeof searchable === "object" && searchable.limit ? searchable.limit : 50;
12207
11950
  const filtered = flattenedOptions.filter((item) => filterFn(inputValue, item.path));
12208
11951
  return filtered.slice(0, limit);
12209
11952
  }
@@ -14149,6 +13892,60 @@ function canRedo(history) {
14149
13892
  return history.future.length > 0;
14150
13893
  }
14151
13894
 
13895
+ // src/utils/upload-queue-utils.ts
13896
+ var DEFAULT_UPLOAD_CHUNK_SIZE = 1024 * 1024;
13897
+ function createUploadChunks(file, chunkSize = DEFAULT_UPLOAD_CHUNK_SIZE) {
13898
+ const safeChunkSize = Math.max(1, Math.floor(chunkSize));
13899
+ const total = Math.max(1, Math.ceil(file.size / safeChunkSize));
13900
+ return Array.from({ length: total }, (_, index) => {
13901
+ const start = index * safeChunkSize;
13902
+ const end = Math.min(file.size, start + safeChunkSize);
13903
+ return {
13904
+ index,
13905
+ start,
13906
+ end,
13907
+ size: end - start,
13908
+ blob: file.slice(start, end)
13909
+ };
13910
+ });
13911
+ }
13912
+ function getUploadResumeKey(file) {
13913
+ return `${file.name}:${file.size}:${file.lastModified}`;
13914
+ }
13915
+ function createUploadQueueItem(file, id = generateFileId(), chunkSize) {
13916
+ return {
13917
+ id,
13918
+ file,
13919
+ status: "queued",
13920
+ progress: 0,
13921
+ chunks: chunkSize ? createUploadChunks(file, chunkSize) : []
13922
+ };
13923
+ }
13924
+ async function runUploadQueue(items, upload, options = {}) {
13925
+ const concurrency = Math.max(1, Math.floor(options.concurrency ?? 2));
13926
+ let cursor = 0;
13927
+ const notify = () => options.onChange?.([...items]);
13928
+ async function worker() {
13929
+ while (cursor < items.length) {
13930
+ const item = items[cursor];
13931
+ cursor += 1;
13932
+ item.status = "uploading";
13933
+ notify();
13934
+ try {
13935
+ await upload(item);
13936
+ item.status = "success";
13937
+ item.progress = 100;
13938
+ } catch (error) {
13939
+ item.status = "error";
13940
+ item.error = error instanceof Error ? error.message : String(error);
13941
+ }
13942
+ notify();
13943
+ }
13944
+ }
13945
+ await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, () => worker()));
13946
+ return items;
13947
+ }
13948
+
14152
13949
  // src/utils/responsive.ts
14153
13950
  var BREAKPOINT_MIN_WIDTHS = [
14154
13951
  ["xxxl", 1920],
@@ -14198,6 +13995,45 @@ function isTablet(options = {}) {
14198
13995
  return width !== void 0 && width >= TIGER_VIEWPORT_BREAKPOINTS.md && width < TIGER_VIEWPORT_BREAKPOINTS.lg;
14199
13996
  }
14200
13997
 
13998
+ // src/utils/viewport-floating-utils.ts
13999
+ var viewportFloatingBaseClasses = "fixed z-50";
14000
+ var viewportPlacementClasses = {
14001
+ "top-left": "top-0 left-0",
14002
+ "top-right": "top-0 right-0",
14003
+ "bottom-left": "bottom-0 left-0",
14004
+ "bottom-right": "bottom-0 right-0"
14005
+ };
14006
+ function toCssLength(value) {
14007
+ return typeof value === "number" ? `${value}px` : value;
14008
+ }
14009
+ function resolveAxisOffset(offset2) {
14010
+ if (offset2 === void 0) {
14011
+ return { x: 24, y: 24 };
14012
+ }
14013
+ if (typeof offset2 === "number" || typeof offset2 === "string") {
14014
+ return { x: offset2, y: offset2 };
14015
+ }
14016
+ return {
14017
+ x: offset2.x ?? 24,
14018
+ y: offset2.y ?? 24
14019
+ };
14020
+ }
14021
+ function getViewportOffsetStyle(placement, offset2) {
14022
+ const { x, y } = resolveAxisOffset(offset2);
14023
+ const style = {};
14024
+ if (placement.startsWith("top")) {
14025
+ style.top = toCssLength(y);
14026
+ } else {
14027
+ style.bottom = toCssLength(y);
14028
+ }
14029
+ if (placement.endsWith("left")) {
14030
+ style.left = toCssLength(x);
14031
+ } else {
14032
+ style.right = toCssLength(x);
14033
+ }
14034
+ return style;
14035
+ }
14036
+
14201
14037
  // src/utils/drag.ts
14202
14038
  function createDragState() {
14203
14039
  return {
@@ -15349,6 +15185,13 @@ function findMarkdownHotkeyMatch(toolbar, event) {
15349
15185
  }
15350
15186
 
15351
15187
  // src/utils/rich-text-engine.ts
15188
+ function canUseExecCommand() {
15189
+ return isBrowser() && typeof document.execCommand === "function";
15190
+ }
15191
+ function promptForRichTextUrl(message) {
15192
+ if (!isBrowser() || typeof window.prompt !== "function") return null;
15193
+ return window.prompt(message);
15194
+ }
15352
15195
  function createBuiltinRichTextEngine() {
15353
15196
  return {
15354
15197
  name: "builtin",
@@ -15387,7 +15230,7 @@ function createBuiltinRichTextEngine() {
15387
15230
  }
15388
15231
  const exec = (actionName) => {
15389
15232
  if (readOnly || disabled) return;
15390
- element.focus();
15233
+ if (typeof element.focus === "function") element.focus();
15391
15234
  const buttons = getToolbarButtons(ctx.toolbar);
15392
15235
  const btn = buttons.find((b) => b.name === actionName);
15393
15236
  if (btn?.action) {
@@ -15398,18 +15241,21 @@ function createBuiltinRichTextEngine() {
15398
15241
  }
15399
15242
  const mapping = mapToolbarAction(actionName);
15400
15243
  if (mapping) {
15244
+ if (!canUseExecCommand()) return;
15401
15245
  document.execCommand(mapping.command, false, mapping.argument);
15402
15246
  handleInput();
15403
15247
  refreshActiveFormats();
15404
15248
  return;
15405
15249
  }
15406
15250
  if (actionName === "codeBlock") {
15251
+ if (!canUseExecCommand()) return;
15407
15252
  document.execCommand("formatBlock", false, "PRE");
15408
15253
  handleInput();
15409
15254
  return;
15410
15255
  }
15411
15256
  if (actionName === "link") {
15412
- const url = isBrowser() ? window.prompt("Enter URL:") : null;
15257
+ if (!canUseExecCommand()) return;
15258
+ const url = promptForRichTextUrl("Enter URL:");
15413
15259
  if (url && isValidUrl(url)) {
15414
15260
  document.execCommand("createLink", false, url);
15415
15261
  handleInput();
@@ -15417,7 +15263,8 @@ function createBuiltinRichTextEngine() {
15417
15263
  return;
15418
15264
  }
15419
15265
  if (actionName === "image") {
15420
- const url = isBrowser() ? window.prompt("Enter image URL:") : null;
15266
+ if (!canUseExecCommand()) return;
15267
+ const url = promptForRichTextUrl("Enter image URL:");
15421
15268
  if (url && isValidUrl(url)) {
15422
15269
  document.execCommand("insertImage", false, url);
15423
15270
  handleInput();
@@ -16757,17 +16604,17 @@ var checkboxLabelSizeClasses = {
16757
16604
  lg: "text-lg"
16758
16605
  };
16759
16606
  function getCheckboxClasses(size = "md", disabled = false) {
16760
- const baseClasses2 = "rounded border-2 transition-all duration-150 cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))] active:scale-95";
16607
+ const baseClasses = "rounded border-2 transition-all duration-150 cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))] active:scale-95";
16761
16608
  const sizeClass = checkboxSizeClasses2[size];
16762
16609
  const colorClasses = "border-[var(--tiger-primary,#2563eb)] accent-[var(--tiger-primary,#2563eb)] text-white checked:bg-[var(--tiger-primary,#2563eb)] checked:border-[var(--tiger-primary,#2563eb)] indeterminate:bg-[var(--tiger-primary,#2563eb)] indeterminate:border-[var(--tiger-primary,#2563eb)]";
16763
16610
  const disabledClasses = disabled ? "cursor-not-allowed opacity-50 disabled:bg-[var(--tiger-surface-muted,#f3f4f6)] disabled:border-[var(--tiger-border,#e5e7eb)]" : "";
16764
- return [baseClasses2, sizeClass, colorClasses, disabledClasses].filter(Boolean).join(" ");
16611
+ return [baseClasses, sizeClass, colorClasses, disabledClasses].filter(Boolean).join(" ");
16765
16612
  }
16766
16613
  function getCheckboxLabelClasses(size = "md", disabled = false) {
16767
- const baseClasses2 = "inline-flex items-center cursor-pointer select-none";
16614
+ const baseClasses = "inline-flex items-center cursor-pointer select-none";
16768
16615
  const sizeClass = checkboxLabelSizeClasses[size];
16769
16616
  const disabledClasses = disabled ? "cursor-not-allowed" : "";
16770
- return [baseClasses2, sizeClass, disabledClasses].filter(Boolean).join(" ");
16617
+ return [baseClasses, sizeClass, disabledClasses].filter(Boolean).join(" ");
16771
16618
  }
16772
16619
 
16773
16620
  // src/theme-runtime/switch.ts
@@ -16799,10 +16646,10 @@ function getSwitchClasses(size = "md", checked = false, disabled = false, ...cla
16799
16646
  );
16800
16647
  }
16801
16648
  function getSwitchThumbClasses(size = "md", checked = false) {
16802
- const baseClasses2 = "inline-block rounded-full bg-[var(--tiger-surface,#ffffff)] shadow-lg transition-transform";
16649
+ const baseClasses = "inline-block rounded-full bg-[var(--tiger-surface,#ffffff)] shadow-lg transition-transform";
16803
16650
  const sizeClass = switchThumbSizeClasses[size];
16804
16651
  const translateClass = checked ? switchThumbTranslateClasses[size] : "translate-x-0.5";
16805
- return classNames(baseClasses2, sizeClass, translateClass);
16652
+ return classNames(baseClasses, sizeClass, translateClass);
16806
16653
  }
16807
16654
 
16808
16655
  // src/theme-runtime/slider.ts
@@ -18068,7 +17915,6 @@ var primitiveColors = {
18068
17915
  "950": "#0a0a0a"
18069
17916
  }
18070
17917
  };
18071
- var globalColors = primitiveColors;
18072
17918
  var primitiveSpace = {
18073
17919
  xs: "2px",
18074
17920
  sm: "4px",
@@ -18079,7 +17925,6 @@ var primitiveSpace = {
18079
17925
  "3xl": "48px",
18080
17926
  "4xl": "64px"
18081
17927
  };
18082
- var globalSpace = primitiveSpace;
18083
17928
  var primitiveRadius = {
18084
17929
  none: "0",
18085
17930
  sm: "2px",
@@ -18088,7 +17933,6 @@ var primitiveRadius = {
18088
17933
  xl: "12px",
18089
17934
  full: "9999px"
18090
17935
  };
18091
- var globalRadius = primitiveRadius;
18092
17936
  var primitiveShadow = {
18093
17937
  xs: "0 1px 2px 0 rgba(0,0,0,0.05)",
18094
17938
  sm: "0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1)",
@@ -18096,7 +17940,6 @@ var primitiveShadow = {
18096
17940
  lg: "0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",
18097
17941
  xl: "0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)"
18098
17942
  };
18099
- var globalShadow = primitiveShadow;
18100
17943
  var primitiveFont = {
18101
17944
  family: {
18102
17945
  base: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
@@ -18125,14 +17968,12 @@ var primitiveFont = {
18125
17968
  loose: "2"
18126
17969
  }
18127
17970
  };
18128
- var globalFont = primitiveFont;
18129
17971
  var primitiveDuration = {
18130
17972
  fast: "100ms",
18131
17973
  base: "200ms",
18132
17974
  slow: "300ms",
18133
17975
  slower: "500ms"
18134
17976
  };
18135
- var globalDuration = primitiveDuration;
18136
17977
  var primitiveEasing = {
18137
17978
  in: "cubic-bezier(0.4, 0, 1, 1)",
18138
17979
  out: "cubic-bezier(0, 0, 0.2, 1)",
@@ -18140,7 +17981,6 @@ var primitiveEasing = {
18140
17981
  spring: "cubic-bezier(0.34, 1.56, 0.64, 1)",
18141
17982
  smooth: "cubic-bezier(0.25, 0.1, 0.25, 1)"
18142
17983
  };
18143
- var globalEasing = primitiveEasing;
18144
17984
  var semanticTokens = {
18145
17985
  color: {
18146
17986
  "bg-primary": "#f0f9ff",
@@ -18190,7 +18030,6 @@ var semanticTokens = {
18190
18030
  pill: "9999px"
18191
18031
  }
18192
18032
  };
18193
- var aliasTokens = semanticTokens;
18194
18033
  var componentTokens = {
18195
18034
  button: {
18196
18035
  "height-sm": "32px",
@@ -18397,7 +18236,7 @@ var designTokens = {
18397
18236
  };
18398
18237
 
18399
18238
  // src/index.ts
18400
- var version = "1.5.0";
18239
+ var version = "2.0.0-preview.1";
18401
18240
  export {
18402
18241
  ANIMATION_DURATION_FAST_MS,
18403
18242
  ANIMATION_DURATION_MS,
@@ -18406,11 +18245,6 @@ export {
18406
18245
  COUNTDOWN_DEFAULT_FORMAT,
18407
18246
  COUNTDOWN_DEFAULT_INTERVAL_MS,
18408
18247
  CROP_HANDLES,
18409
- CalendarIconPath,
18410
- ChevronLeftIconPath,
18411
- ChevronRightIconPath,
18412
- ClockIconPath,
18413
- CloseIconPath,
18414
18248
  DEFAULT_CALENDAR_LABELS,
18415
18249
  DEFAULT_CHART_COLORS,
18416
18250
  DEFAULT_FILE_MANAGER_LABELS,
@@ -18473,7 +18307,6 @@ export {
18473
18307
  SVG_DEFAULT_VIEWBOX_24,
18474
18308
  SVG_DEFAULT_XMLNS,
18475
18309
  SVG_PATH_ANIMATION_CSS,
18476
- TABLE_AUTO_VIRTUAL_THRESHOLD,
18477
18310
  TABLE_VIRTUAL_RECOMMENDATION_THRESHOLD,
18478
18311
  THEME_CONFIG_CSS_VARS,
18479
18312
  THEME_CSS_VARS,
@@ -18484,11 +18317,9 @@ export {
18484
18317
  TRANSITION_OPACITY,
18485
18318
  TRANSITION_TRANSFORM,
18486
18319
  ThemeManager,
18487
- TimePickerCloseIconPath,
18488
18320
  VIEW_TRANSITION_CSS,
18489
18321
  WEEKDAYS,
18490
18322
  ZH_CN_CALENDAR_LABELS,
18491
- ZH_CN_DATEPICKER_LOCALE2 as ZH_CN_DATEPICKER_LOCALE,
18492
18323
  ZH_CN_FILE_MANAGER_LABELS,
18493
18324
  ZH_CN_FORM_VALIDATION_LABELS,
18494
18325
  ZH_CN_FORM_WIZARD_LABELS,
@@ -18527,7 +18358,6 @@ export {
18527
18358
  alertIconSizeClasses,
18528
18359
  alertSizeClasses,
18529
18360
  alertTitleSizeClasses,
18530
- aliasTokens,
18531
18361
  anchorAffixClasses,
18532
18362
  anchorBaseClasses,
18533
18363
  anchorInkActiveHorizontalClasses,
@@ -18563,6 +18393,7 @@ export {
18563
18393
  avatarImageClasses,
18564
18394
  avatarShapeClasses,
18565
18395
  avatarSizeClasses,
18396
+ backTopBaseClasses,
18566
18397
  backTopButtonClasses,
18567
18398
  backTopContainerClasses,
18568
18399
  backTopHiddenClasses,
@@ -19387,7 +19218,6 @@ export {
19387
19218
  getResizeHandleOrientation,
19388
19219
  getResizeKeyboardDelta,
19389
19220
  getResultColorScheme,
19390
- getResultHttpLabel,
19391
19221
  getResultIconPath,
19392
19222
  getRichTextContainerClasses,
19393
19223
  getRowGutterClasses,
@@ -19547,6 +19377,7 @@ export {
19547
19377
  getValidationOrder,
19548
19378
  getValueByPath,
19549
19379
  getViewTransitionNameStyle,
19380
+ getViewportOffsetStyle,
19550
19381
  getViewportWidth,
19551
19382
  getVirtualRowKey,
19552
19383
  getVirtualTableContainerClasses,
@@ -19559,13 +19390,6 @@ export {
19559
19390
  getVisibleGroupItems,
19560
19391
  getVisibleTreeItems,
19561
19392
  getWatermarkOverlayStyle,
19562
- globalColors,
19563
- globalDuration,
19564
- globalEasing,
19565
- globalFont,
19566
- globalRadius,
19567
- globalShadow,
19568
- globalSpace,
19569
19393
  groupBySwimlane,
19570
19394
  groupDataByColumn,
19571
19395
  groupItemsIntoRows,
@@ -19849,6 +19673,9 @@ export {
19849
19673
  normalizeSpotlightText,
19850
19674
  normalizeStringOption,
19851
19675
  normalizeSvgAttrs,
19676
+ notificationActionButtonClasses,
19677
+ notificationActionButtonTypeClasses,
19678
+ notificationActionsClasses,
19852
19679
  notificationBaseClasses,
19853
19680
  notificationCloseButtonClasses,
19854
19681
  notificationCloseIconClasses,
@@ -20044,6 +19871,8 @@ export {
20044
19871
  scrollToScrollSpyItem,
20045
19872
  scrollToTop,
20046
19873
  selectBaseClasses,
19874
+ selectDoneActionClasses,
19875
+ selectDoneButtonClasses,
20047
19876
  selectDropdownBaseClasses,
20048
19877
  selectEmptyStateClasses,
20049
19878
  selectGroupLabelClasses,
@@ -20319,6 +20148,8 @@ export {
20319
20148
  variableSizeStrategy,
20320
20149
  version,
20321
20150
  vibrantTheme,
20151
+ viewportFloatingBaseClasses,
20152
+ viewportPlacementClasses,
20322
20153
  virtualListContainerClasses,
20323
20154
  virtualListInnerClasses,
20324
20155
  virtualTableBorderedClasses,