@asdp/ferryui 0.1.22-dev.9182 → 0.1.22-dev.9197

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.mjs CHANGED
@@ -153,6 +153,7 @@ var ModalIllustration = ({
153
153
  type: "button",
154
154
  appearance: primaryButton.appearance || "primary",
155
155
  onClick: primaryButton.onClick,
156
+ shape: "circular",
156
157
  children: primaryButton.text
157
158
  }
158
159
  ),
@@ -163,6 +164,7 @@ var ModalIllustration = ({
163
164
  type: "button",
164
165
  appearance: secondaryButton.appearance || "outline",
165
166
  onClick: secondaryButton.onClick,
167
+ shape: "circular",
166
168
  children: secondaryButton.text
167
169
  }
168
170
  )
@@ -1877,7 +1879,8 @@ var DEFAULT_LABELS6 = {
1877
1879
  hotelLabel: "Hotel",
1878
1880
  hotelDescription: "Layanan pemesanan hotel",
1879
1881
  otherLabel: "Lainnya",
1880
- otherDescription: "Layanan lainnya",
1882
+ otherDescription: "Akses fitur tambahan dan pengaturan.",
1883
+ modalTitle: "Daftar Menu",
1881
1884
  serviceAriaLabel: "Layanan"
1882
1885
  },
1883
1886
  en: {
@@ -1889,8 +1892,9 @@ var DEFAULT_LABELS6 = {
1889
1892
  skptDescription: "Integrated Passenger Ticketing System",
1890
1893
  hotelLabel: "Hotel",
1891
1894
  hotelDescription: "Hotel Booking Service",
1892
- otherLabel: "Other",
1893
- otherDescription: "Other Services",
1895
+ otherLabel: "More",
1896
+ otherDescription: "Access additional features and settings.",
1897
+ modalTitle: "Service List",
1894
1898
  serviceAriaLabel: "Service"
1895
1899
  }
1896
1900
  };
@@ -1931,12 +1935,191 @@ var ALIAS_MENU_ITEMS = [
1931
1935
  var BP_TABLET = `max-width: ${extendedTokens.breakpointXl}`;
1932
1936
  var BP_MOBILE = `max-width: ${extendedTokens.breakpointMd}`;
1933
1937
  var useStyles6 = makeStyles({
1938
+ dialogSurface: {
1939
+ maxWidth: "900px",
1940
+ width: "100%"
1941
+ },
1942
+ closeButton: {
1943
+ minWidth: "32px",
1944
+ minHeight: "32px"
1945
+ },
1946
+ content: {
1947
+ paddingTop: "8px",
1948
+ paddingBottom: "16px"
1949
+ },
1950
+ // Horizontal row layout: icon left, text right — same as CardServiceMenu desktop
1951
+ menuItem: {
1952
+ display: "flex",
1953
+ flexDirection: "row",
1954
+ alignItems: "center",
1955
+ justifyContent: "flex-start",
1956
+ padding: "12px 16px",
1957
+ borderRadius: tokens.borderRadiusMedium,
1958
+ cursor: "pointer",
1959
+ textAlign: "left",
1960
+ transition: "background-color 0.2s ease",
1961
+ color: tokens.colorNeutralForeground1,
1962
+ backgroundColor: tokens.colorNeutralBackground1,
1963
+ border: "none",
1964
+ gap: "12px",
1965
+ width: "100%",
1966
+ "&:hover": {
1967
+ backgroundColor: tokens.colorNeutralBackground1Hover
1968
+ },
1969
+ [`@media (${BP_TABLET})`]: {
1970
+ padding: "10px 10px",
1971
+ gap: "8px"
1972
+ },
1973
+ [`@media (${BP_MOBILE})`]: {
1974
+ flexDirection: "column",
1975
+ alignItems: "center",
1976
+ textAlign: "center",
1977
+ padding: "8px 6px",
1978
+ gap: "4px"
1979
+ }
1980
+ },
1981
+ logoWrapper: {
1982
+ display: "flex",
1983
+ alignItems: "center",
1984
+ justifyContent: "center",
1985
+ flexShrink: 0
1986
+ },
1987
+ logo: {
1988
+ height: "32px",
1989
+ width: "32px",
1990
+ flexShrink: 0,
1991
+ objectFit: "contain",
1992
+ [`@media (${BP_TABLET})`]: {
1993
+ height: "28px",
1994
+ width: "28px"
1995
+ },
1996
+ [`@media (${BP_MOBILE})`]: {
1997
+ height: "24px",
1998
+ width: "24px"
1999
+ }
2000
+ },
2001
+ textContent: {
2002
+ display: "flex",
2003
+ flexDirection: "column",
2004
+ gap: "2px",
2005
+ minWidth: 0,
2006
+ width: "100%",
2007
+ [`@media (${BP_MOBILE})`]: {
2008
+ alignItems: "center"
2009
+ }
2010
+ },
2011
+ label: {
2012
+ fontSize: tokens.fontSizeBase300,
2013
+ fontWeight: tokens.fontWeightSemibold,
2014
+ lineHeight: "1.2",
2015
+ whiteSpace: "nowrap",
2016
+ overflow: "hidden",
2017
+ textOverflow: "ellipsis",
2018
+ width: "100%",
2019
+ [`@media (${BP_TABLET})`]: {
2020
+ fontSize: tokens.fontSizeBase200
2021
+ },
2022
+ [`@media (${BP_MOBILE})`]: {
2023
+ fontSize: tokens.fontSizeBase100,
2024
+ textAlign: "center"
2025
+ }
2026
+ },
2027
+ description: {
2028
+ fontSize: tokens.fontSizeBase200,
2029
+ fontWeight: tokens.fontWeightRegular,
2030
+ color: tokens.colorNeutralForeground2,
2031
+ display: "-webkit-box",
2032
+ WebkitLineClamp: 2,
2033
+ WebkitBoxOrient: "vertical",
2034
+ overflow: "hidden",
2035
+ textOverflow: "ellipsis",
2036
+ lineHeight: "1.4",
2037
+ [`@media (${BP_TABLET})`]: {
2038
+ fontSize: tokens.fontSizeBase100,
2039
+ WebkitLineClamp: 1
2040
+ },
2041
+ [`@media (${BP_MOBILE})`]: {
2042
+ display: "none"
2043
+ }
2044
+ }
2045
+ });
2046
+ var ModalListMenuService = ({
2047
+ open = false,
2048
+ onClose = () => {
2049
+ },
2050
+ title = "",
2051
+ menuItems = ALIAS_MENU_ITEMS,
2052
+ onItemClick,
2053
+ showDescriptions = true
2054
+ }) => {
2055
+ const styles = useStyles6();
2056
+ return /* @__PURE__ */ jsx(
2057
+ Dialog,
2058
+ {
2059
+ open,
2060
+ onOpenChange: (_, data) => {
2061
+ if (!data.open) {
2062
+ onClose();
2063
+ }
2064
+ },
2065
+ children: /* @__PURE__ */ jsx(DialogSurface, { className: styles.dialogSurface, children: /* @__PURE__ */ jsxs(DialogBody, { children: [
2066
+ /* @__PURE__ */ jsx(
2067
+ DialogTitle,
2068
+ {
2069
+ action: /* @__PURE__ */ jsx(
2070
+ Button,
2071
+ {
2072
+ appearance: "subtle",
2073
+ "aria-label": "close",
2074
+ icon: /* @__PURE__ */ jsx(Icon, { icon: "fluent:dismiss-24-regular" }),
2075
+ onClick: onClose,
2076
+ className: styles.closeButton
2077
+ }
2078
+ ),
2079
+ children: title
2080
+ }
2081
+ ),
2082
+ /* @__PURE__ */ jsx(DialogContent, { className: styles.content, children: /* @__PURE__ */ jsx(Row, { gutterWidth: 0, children: menuItems.map((item) => /* @__PURE__ */ jsx(Col, { xs: 6, sm: 6, md: 3, lg: 3, children: /* @__PURE__ */ jsxs(
2083
+ Button,
2084
+ {
2085
+ className: styles.menuItem,
2086
+ onClick: () => onItemClick?.(item),
2087
+ "aria-label": item.name,
2088
+ children: [
2089
+ /* @__PURE__ */ jsx("div", { className: styles.logoWrapper, children: /* @__PURE__ */ jsx(
2090
+ "img",
2091
+ {
2092
+ src: item.imageUrl,
2093
+ alt: item.name,
2094
+ className: styles.logo
2095
+ }
2096
+ ) }),
2097
+ /* @__PURE__ */ jsxs("div", { className: styles.textContent, children: [
2098
+ /* @__PURE__ */ jsx("span", { className: styles.label, children: item.name }),
2099
+ showDescriptions && /* @__PURE__ */ jsx(
2100
+ MenuItemDescription,
2101
+ {
2102
+ description: item.description,
2103
+ className: styles.description
2104
+ }
2105
+ )
2106
+ ] })
2107
+ ]
2108
+ }
2109
+ ) }, item.id)) }) })
2110
+ ] }) })
2111
+ }
2112
+ );
2113
+ };
2114
+ var BP_TABLET2 = `max-width: ${extendedTokens.breakpointXl}`;
2115
+ var BP_MOBILE2 = `max-width: ${extendedTokens.breakpointMd}`;
2116
+ var useStyles7 = makeStyles({
1934
2117
  card: {
1935
2118
  width: "100%",
1936
2119
  boxSizing: "border-box",
1937
2120
  padding: "0px",
1938
2121
  borderRadius: tokens.borderRadiusXLarge,
1939
- [`@media (${BP_MOBILE})`]: {
2122
+ [`@media (${BP_MOBILE2})`]: {
1940
2123
  borderRadius: tokens.borderRadiusLarge
1941
2124
  }
1942
2125
  },
@@ -1946,7 +2129,7 @@ var useStyles6 = makeStyles({
1946
2129
  flexDirection: "column",
1947
2130
  justifyContent: "space-around",
1948
2131
  // Tablet + Mobile: horizontal scroll row
1949
- [`@media (${BP_TABLET})`]: {
2132
+ [`@media (${BP_TABLET2})`]: {
1950
2133
  flexDirection: "row",
1951
2134
  overflowX: "auto",
1952
2135
  overflowY: "visible",
@@ -1956,7 +2139,7 @@ var useStyles6 = makeStyles({
1956
2139
  // Thin scrollbar on tablet, hidden on mobile
1957
2140
  scrollbarWidth: "thin"
1958
2141
  },
1959
- [`@media (${BP_MOBILE})`]: {
2142
+ [`@media (${BP_MOBILE2})`]: {
1960
2143
  scrollbarWidth: "none"
1961
2144
  }
1962
2145
  },
@@ -1980,7 +2163,7 @@ var useStyles6 = makeStyles({
1980
2163
  backgroundColor: tokens.colorNeutralBackground1Hover
1981
2164
  },
1982
2165
  // Tablet: compact column, fixed width, description visible (1 line)
1983
- [`@media (${BP_TABLET})`]: {
2166
+ [`@media (${BP_TABLET2})`]: {
1984
2167
  flexDirection: "column",
1985
2168
  alignItems: "center",
1986
2169
  textAlign: "center",
@@ -1992,7 +2175,7 @@ var useStyles6 = makeStyles({
1992
2175
  scrollSnapAlign: "start"
1993
2176
  },
1994
2177
  // Mobile: even tighter, no description
1995
- [`@media (${BP_MOBILE})`]: {
2178
+ [`@media (${BP_MOBILE2})`]: {
1996
2179
  padding: "8px 6px",
1997
2180
  width: "72px",
1998
2181
  gap: "4px"
@@ -2012,16 +2195,32 @@ var useStyles6 = makeStyles({
2012
2195
  justifyContent: "center",
2013
2196
  flexShrink: 0
2014
2197
  },
2198
+ moreIconOuter: {
2199
+ display: "flex",
2200
+ alignItems: "center",
2201
+ justifyContent: "center",
2202
+ borderRadius: "50%",
2203
+ width: "32px",
2204
+ height: "32px",
2205
+ [`@media (${BP_TABLET2})`]: {
2206
+ width: "28px",
2207
+ height: "28px"
2208
+ },
2209
+ [`@media (${BP_MOBILE2})`]: {
2210
+ width: "24px",
2211
+ height: "24px"
2212
+ }
2213
+ },
2015
2214
  logo: {
2016
2215
  height: "32px",
2017
2216
  width: "32px",
2018
2217
  flexShrink: 0,
2019
2218
  objectFit: "contain",
2020
- [`@media (${BP_TABLET})`]: {
2219
+ [`@media (${BP_TABLET2})`]: {
2021
2220
  height: "28px",
2022
2221
  width: "28px"
2023
2222
  },
2024
- [`@media (${BP_MOBILE})`]: {
2223
+ [`@media (${BP_MOBILE2})`]: {
2025
2224
  height: "24px",
2026
2225
  width: "24px"
2027
2226
  }
@@ -2033,7 +2232,7 @@ var useStyles6 = makeStyles({
2033
2232
  minWidth: 0,
2034
2233
  width: "100%",
2035
2234
  // allow ellipsis to work
2036
- [`@media (${BP_TABLET})`]: {
2235
+ [`@media (${BP_TABLET2})`]: {
2037
2236
  alignItems: "center",
2038
2237
  gap: "2px"
2039
2238
  }
@@ -2042,7 +2241,7 @@ var useStyles6 = makeStyles({
2042
2241
  fontSize: tokens.fontSizeBase300,
2043
2242
  fontWeight: tokens.fontWeightSemibold,
2044
2243
  lineHeight: "1.2",
2045
- [`@media (${BP_TABLET})`]: {
2244
+ [`@media (${BP_TABLET2})`]: {
2046
2245
  fontSize: tokens.fontSizeBase200,
2047
2246
  whiteSpace: "nowrap",
2048
2247
  overflow: "hidden",
@@ -2050,7 +2249,7 @@ var useStyles6 = makeStyles({
2050
2249
  width: "100%",
2051
2250
  textAlign: "center"
2052
2251
  },
2053
- [`@media (${BP_MOBILE})`]: {
2252
+ [`@media (${BP_MOBILE2})`]: {
2054
2253
  fontSize: tokens.fontSizeBase100
2055
2254
  }
2056
2255
  },
@@ -2066,7 +2265,7 @@ var useStyles6 = makeStyles({
2066
2265
  textOverflow: "ellipsis",
2067
2266
  lineHeight: "1.4",
2068
2267
  // Tablet: 1-line clamp, compact
2069
- [`@media (${BP_TABLET})`]: {
2268
+ [`@media (${BP_TABLET2})`]: {
2070
2269
  fontSize: tokens.fontSizeBase100,
2071
2270
  WebkitLineClamp: 1,
2072
2271
  whiteSpace: "nowrap",
@@ -2074,7 +2273,7 @@ var useStyles6 = makeStyles({
2074
2273
  textAlign: "center"
2075
2274
  },
2076
2275
  // Mobile: hide description entirely
2077
- [`@media (${BP_MOBILE})`]: {
2276
+ [`@media (${BP_MOBILE2})`]: {
2078
2277
  display: "none"
2079
2278
  }
2080
2279
  },
@@ -2091,13 +2290,13 @@ var useStyles6 = makeStyles({
2091
2290
  [`@media (min-width: ${extendedTokens.breakpointXl})`]: {
2092
2291
  display: "none"
2093
2292
  },
2094
- [`@media (${BP_MOBILE})`]: {
2293
+ [`@media (${BP_MOBILE2})`]: {
2095
2294
  display: "none"
2096
2295
  }
2097
2296
  },
2098
2297
  dividerHorizontal: {
2099
2298
  // Only visible on desktop (vertical layout)
2100
- [`@media (${BP_TABLET})`]: {
2299
+ [`@media (${BP_TABLET2})`]: {
2101
2300
  display: "none"
2102
2301
  }
2103
2302
  }
@@ -2113,60 +2312,110 @@ var CardServiceMenu = ({
2113
2312
  isLoading = false,
2114
2313
  skeletonCount = 4
2115
2314
  }) => {
2116
- const styles = useStyles6();
2117
- ({ ...DEFAULT_LABELS6[language], ...labels });
2315
+ const styles = useStyles7();
2316
+ const mergedLabels = { ...DEFAULT_LABELS6[language], ...labels };
2317
+ const [isModalOpen, setIsModalOpen] = useState(false);
2118
2318
  const getMenuItemClass = (serviceId) => {
2119
- const isActive = activeServiceId === serviceId;
2319
+ const isActive = serviceId !== void 0 && activeServiceId === serviceId;
2120
2320
  return mergeClasses(styles.menuItem, isActive && styles.menuItemActive);
2121
2321
  };
2122
- return /* @__PURE__ */ jsx(Card, { className: mergeClasses(styles.card, className), children: /* @__PURE__ */ jsx("div", { className: styles.menuList, children: isLoading ? Array.from({ length: skeletonCount }).map((_, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
2123
- /* @__PURE__ */ jsxs("div", { className: mergeClasses(styles.menuItem, styles.skeletonOverride), children: [
2124
- /* @__PURE__ */ jsx("div", { className: styles.logoWrapper, children: /* @__PURE__ */ jsx(Skeleton, { children: /* @__PURE__ */ jsx(SkeletonItem, { className: styles.logo, style: { borderRadius: "50%" } }) }) }),
2125
- /* @__PURE__ */ jsxs("div", { className: styles.textContent, children: [
2126
- /* @__PURE__ */ jsx(Skeleton, { children: /* @__PURE__ */ jsx(SkeletonItem, { style: { width: "60%", height: "16px" } }) }),
2127
- showDescriptions && /* @__PURE__ */ jsx(Skeleton, { className: styles.description, children: /* @__PURE__ */ jsx(SkeletonItem, { style: { width: "90%", height: "12px", marginTop: "4px" } }) })
2128
- ] })
2129
- ] }),
2130
- index < skeletonCount - 1 && /* @__PURE__ */ jsxs(Fragment, { children: [
2131
- /* @__PURE__ */ jsx(Divider, { className: styles.dividerHorizontal }),
2132
- /* @__PURE__ */ jsx(Divider, { vertical: true, className: styles.dividerVertical })
2133
- ] })
2134
- ] }, `skeleton-${index}`)) : menuItems.map((item, index) => {
2135
- return /* @__PURE__ */ jsxs(React.Fragment, { children: [
2136
- /* @__PURE__ */ jsxs(
2322
+ const MAX_ITEMS = 5;
2323
+ const isOverflow = menuItems.length > MAX_ITEMS;
2324
+ const displayItems = isOverflow ? menuItems.slice(0, MAX_ITEMS - 1) : menuItems;
2325
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
2326
+ /* @__PURE__ */ jsx(Card, { className: mergeClasses(styles.card, className), children: /* @__PURE__ */ jsxs("div", { className: styles.menuList, children: [
2327
+ isLoading ? Array.from({ length: skeletonCount }).map((_, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
2328
+ /* @__PURE__ */ jsxs("div", { className: mergeClasses(styles.menuItem, styles.skeletonOverride), children: [
2329
+ /* @__PURE__ */ jsx("div", { className: styles.logoWrapper, children: /* @__PURE__ */ jsx(Skeleton, { children: /* @__PURE__ */ jsx(SkeletonItem, { className: styles.logo, style: { borderRadius: "50%" } }) }) }),
2330
+ /* @__PURE__ */ jsxs("div", { className: styles.textContent, children: [
2331
+ /* @__PURE__ */ jsx(Skeleton, { children: /* @__PURE__ */ jsx(SkeletonItem, { style: { width: "60%", height: "16px" } }) }),
2332
+ showDescriptions && /* @__PURE__ */ jsx(Skeleton, { className: styles.description, children: /* @__PURE__ */ jsx(SkeletonItem, { style: { width: "90%", height: "12px", marginTop: "4px" } }) })
2333
+ ] })
2334
+ ] }),
2335
+ index < skeletonCount - 1 && /* @__PURE__ */ jsxs(Fragment, { children: [
2336
+ /* @__PURE__ */ jsx(Divider, { className: styles.dividerHorizontal }),
2337
+ /* @__PURE__ */ jsx(Divider, { vertical: true, className: styles.dividerVertical })
2338
+ ] })
2339
+ ] }, `skeleton-${index}`)) : displayItems.map((item, index) => {
2340
+ return /* @__PURE__ */ jsxs(React.Fragment, { children: [
2341
+ /* @__PURE__ */ jsxs(
2342
+ Button,
2343
+ {
2344
+ className: getMenuItemClass(item.id),
2345
+ onClick: () => onServiceClick?.(item.id),
2346
+ "aria-label": item.name,
2347
+ children: [
2348
+ /* @__PURE__ */ jsx("div", { className: styles.logoWrapper, children: /* @__PURE__ */ jsx(
2349
+ "img",
2350
+ {
2351
+ src: item.imageUrl,
2352
+ alt: item.name,
2353
+ className: styles.logo
2354
+ }
2355
+ ) }),
2356
+ /* @__PURE__ */ jsxs("div", { className: styles.textContent, children: [
2357
+ /* @__PURE__ */ jsx("span", { className: styles.label, children: item.name }),
2358
+ showDescriptions && /* @__PURE__ */ jsx(
2359
+ MenuItemDescription,
2360
+ {
2361
+ description: item.description,
2362
+ className: styles.description
2363
+ }
2364
+ )
2365
+ ] })
2366
+ ]
2367
+ }
2368
+ ),
2369
+ (index < displayItems.length - 1 || isOverflow) && /* @__PURE__ */ jsxs(Fragment, { children: [
2370
+ /* @__PURE__ */ jsx(Divider, { className: styles.dividerHorizontal }),
2371
+ /* @__PURE__ */ jsx(Divider, { vertical: true, className: styles.dividerVertical })
2372
+ ] })
2373
+ ] }, item.id);
2374
+ }),
2375
+ !isLoading && isOverflow && /* @__PURE__ */ jsxs(
2137
2376
  Button,
2138
2377
  {
2139
- className: getMenuItemClass(item.id),
2140
- onClick: () => onServiceClick?.(item.id),
2141
- "aria-label": item.name,
2378
+ className: getMenuItemClass(),
2379
+ onClick: () => setIsModalOpen(true),
2380
+ "aria-label": mergedLabels.otherLabel,
2142
2381
  children: [
2143
- /* @__PURE__ */ jsx("div", { className: styles.logoWrapper, children: /* @__PURE__ */ jsx(
2144
- "img",
2382
+ /* @__PURE__ */ jsx("div", { className: styles.logoWrapper, children: /* @__PURE__ */ jsx("div", { className: styles.moreIconOuter, children: /* @__PURE__ */ jsx(
2383
+ Icon,
2145
2384
  {
2146
- src: item.imageUrl,
2147
- alt: item.name,
2148
- className: styles.logo
2385
+ icon: "fluent:apps-24-regular",
2386
+ fontSize: "32px",
2387
+ color: tokens.colorNeutralForeground1
2149
2388
  }
2150
- ) }),
2389
+ ) }) }),
2151
2390
  /* @__PURE__ */ jsxs("div", { className: styles.textContent, children: [
2152
- /* @__PURE__ */ jsx("span", { className: styles.label, children: item.name }),
2391
+ /* @__PURE__ */ jsx("span", { className: styles.label, children: mergedLabels.otherLabel }),
2153
2392
  showDescriptions && /* @__PURE__ */ jsx(
2154
2393
  MenuItemDescription,
2155
2394
  {
2156
- description: item.description,
2395
+ description: mergedLabels.otherDescription,
2157
2396
  className: styles.description
2158
2397
  }
2159
2398
  )
2160
2399
  ] })
2161
2400
  ]
2162
2401
  }
2163
- ),
2164
- index < menuItems.length - 1 && /* @__PURE__ */ jsxs(Fragment, { children: [
2165
- /* @__PURE__ */ jsx(Divider, { className: styles.dividerHorizontal }),
2166
- /* @__PURE__ */ jsx(Divider, { vertical: true, className: styles.dividerVertical })
2167
- ] })
2168
- ] }, item.id);
2169
- }) }) });
2402
+ )
2403
+ ] }) }),
2404
+ !isLoading && isOverflow && /* @__PURE__ */ jsx(
2405
+ ModalListMenuService,
2406
+ {
2407
+ open: isModalOpen,
2408
+ onClose: () => setIsModalOpen(false),
2409
+ title: mergedLabels.modalTitle,
2410
+ menuItems,
2411
+ onItemClick: (item) => {
2412
+ setIsModalOpen(false);
2413
+ onServiceClick?.(item.id);
2414
+ },
2415
+ showDescriptions
2416
+ }
2417
+ )
2418
+ ] });
2170
2419
  };
2171
2420
  var MenuItemDescription = ({ description, className }) => {
2172
2421
  const ref = useRef(null);
@@ -2420,7 +2669,7 @@ var COUNTRIES = [
2420
2669
  { value: "PG", label: "Papua New Guinea", flag: "twemoji:flag-papua-new-guinea" }
2421
2670
  ];
2422
2671
  var PhoneInput = PhoneInputComponent.default || PhoneInputComponent;
2423
- var useStyles7 = makeStyles({
2672
+ var useStyles8 = makeStyles({
2424
2673
  field: {
2425
2674
  display: "flex",
2426
2675
  flexDirection: "column",
@@ -2758,7 +3007,7 @@ var InputDynamic = ({
2758
3007
  labels,
2759
3008
  menuPlacement
2760
3009
  }) => {
2761
- const styles = useStyles7();
3010
+ const styles = useStyles8();
2762
3011
  const mergedLabels = { ...DEFAULT_LABELS7[language], ...labels };
2763
3012
  const [showPassword, setShowPassword] = useState(false);
2764
3013
  const [isPhoneMode, setIsPhoneMode] = useState(false);
@@ -3832,7 +4081,7 @@ var DEFAULT_LABELS8 = {
3832
4081
  otherDescription: "Other Services"
3833
4082
  }
3834
4083
  };
3835
- var useStyles8 = makeStyles({
4084
+ var useStyles9 = makeStyles({
3836
4085
  card: {
3837
4086
  position: "relative",
3838
4087
  width: "100%",
@@ -3970,7 +4219,7 @@ var CardTicketSearch = ({
3970
4219
  menuItems,
3971
4220
  isLoadingServiceMenu
3972
4221
  }) => {
3973
- const styles = useStyles8();
4222
+ const styles = useStyles9();
3974
4223
  const labels = React.useMemo(
3975
4224
  () => ({ ...DEFAULT_LABELS8[language], ...customLabels }),
3976
4225
  [language, customLabels]
@@ -4482,7 +4731,7 @@ var DEFAULT_LABELS9 = {
4482
4731
  swapAriaLabel: "Swap origin and destination"
4483
4732
  }
4484
4733
  };
4485
- var useStyles9 = makeStyles({
4734
+ var useStyles10 = makeStyles({
4486
4735
  cardSearchTicket: {
4487
4736
  borderRadius: "32px",
4488
4737
  // borderBottomLeftRadius: '0',
@@ -4564,7 +4813,7 @@ var CardTicketSearchSummary = ({
4564
4813
  showSwapButton = false,
4565
4814
  children
4566
4815
  }) => {
4567
- const styles = useStyles9();
4816
+ const styles = useStyles10();
4568
4817
  const mergedLabels = { ...DEFAULT_LABELS9[language], ...labels };
4569
4818
  const { width } = useWindowSize();
4570
4819
  const getCircularConfig = () => {
@@ -4893,7 +5142,7 @@ var DEFAULT_LABELS10 = {
4893
5142
  popularHarborHeader: "Popular Harbor"
4894
5143
  }
4895
5144
  };
4896
- var useStyles10 = makeStyles({
5145
+ var useStyles11 = makeStyles({
4897
5146
  dialogTitle: {
4898
5147
  display: "flex",
4899
5148
  justifyContent: "space-between",
@@ -5026,7 +5275,7 @@ var ModalSearchHarbor = ({
5026
5275
  popularHarbors,
5027
5276
  showButtonFavorite = true
5028
5277
  }) => {
5029
- const styles = useStyles10();
5278
+ const styles = useStyles11();
5030
5279
  const mergedLabels = { ...DEFAULT_LABELS10[language], ...labels };
5031
5280
  const handleSelect = (harbor) => {
5032
5281
  onAddLastSearched(harbor);
@@ -5216,7 +5465,7 @@ var DEFAULT_LABELS11 = {
5216
5465
  closeAriaLabel: "Close"
5217
5466
  }
5218
5467
  };
5219
- var useStyles11 = makeStyles({
5468
+ var useStyles12 = makeStyles({
5220
5469
  dialogSurface: {
5221
5470
  maxWidth: "600px",
5222
5471
  width: "100%"
@@ -5336,7 +5585,7 @@ var ModalSelectDate = ({
5336
5585
  dateFormat = "DD MMMM YYYY",
5337
5586
  showRoundtrip = true
5338
5587
  }) => {
5339
- const styles = useStyles11();
5588
+ const styles = useStyles12();
5340
5589
  const mergedLabels = { ...DEFAULT_LABELS11[language], ...labels };
5341
5590
  useEffect(() => {
5342
5591
  moment.locale(language === "id" ? "id" : "en");
@@ -5578,7 +5827,7 @@ var DEFAULT_LABELS12 = {
5578
5827
  closeAriaLabel: "Close"
5579
5828
  }
5580
5829
  };
5581
- var useStyles12 = makeStyles({
5830
+ var useStyles13 = makeStyles({
5582
5831
  dialogSurface: {
5583
5832
  maxWidth: "600px",
5584
5833
  width: "100%"
@@ -5663,7 +5912,7 @@ var ModalService = ({
5663
5912
  isLoading = false,
5664
5913
  isError = false
5665
5914
  }) => {
5666
- const styles = useStyles12();
5915
+ const styles = useStyles13();
5667
5916
  const mergedLabels = { ...DEFAULT_LABELS12[language], ...labels };
5668
5917
  const displayTitle = title || mergedLabels.title;
5669
5918
  const [selectedServices, setSelectedServices] = useState(selectedServiceIds);
@@ -5785,7 +6034,7 @@ var DEFAULT_LABELS13 = {
5785
6034
  closeAriaLabel: "Close"
5786
6035
  }
5787
6036
  };
5788
- var useStyles13 = makeStyles({
6037
+ var useStyles14 = makeStyles({
5789
6038
  dialogSurface: {
5790
6039
  maxWidth: "600px",
5791
6040
  width: "100%"
@@ -5865,7 +6114,7 @@ var ModalTotalPassengers = ({
5865
6114
  maxPassengers = 10,
5866
6115
  infoMessage
5867
6116
  }) => {
5868
- const styles = useStyles13();
6117
+ const styles = useStyles14();
5869
6118
  const mergedLabels = { ...DEFAULT_LABELS13[language], ...labels };
5870
6119
  const [passengers, setPassengers] = useState([]);
5871
6120
  const [openItems, setOpenItems] = useState([]);
@@ -6162,7 +6411,7 @@ var DEFAULT_VEHICLE_ICONS = {
6162
6411
  bigTruck: "/assets/images/icons/big-truck.webp",
6163
6412
  looseLoad: "/assets/images/icons/loose-load.webp"
6164
6413
  };
6165
- var useStyles14 = makeStyles({
6414
+ var useStyles15 = makeStyles({
6166
6415
  dialogSurface: {
6167
6416
  maxWidth: "600px",
6168
6417
  width: "100%"
@@ -6216,7 +6465,7 @@ var ModalTypeOfService = ({
6216
6465
  onSave,
6217
6466
  renderImage
6218
6467
  }) => {
6219
- const styles = useStyles14();
6468
+ const styles = useStyles15();
6220
6469
  const mergedLabels = { ...DEFAULT_LABELS14[language], ...labels };
6221
6470
  const [selectedServiceId, setSelectedServiceId] = useState(
6222
6471
  selectedService?.id || 0
@@ -6497,7 +6746,7 @@ var getSortLabel = (value) => {
6497
6746
  const option = DEFAULT_SORT_OPTIONS.find((opt) => opt.value === value);
6498
6747
  return option?.label || "Rekomendasi";
6499
6748
  };
6500
- var useStyles15 = makeStyles({
6749
+ var useStyles16 = makeStyles({
6501
6750
  container: {
6502
6751
  display: "flex",
6503
6752
  width: "100%",
@@ -6533,7 +6782,7 @@ var SortMenu = ({
6533
6782
  sortButtonText: deprecatedSortButtonText,
6534
6783
  clearFiltersText: deprecatedClearFiltersText
6535
6784
  }) => {
6536
- const styles = useStyles15();
6785
+ const styles = useStyles16();
6537
6786
  const labels = React.useMemo(
6538
6787
  () => ({
6539
6788
  ...DEFAULT_LABELS15[language],
@@ -6709,7 +6958,7 @@ var DEFAULT_DURATION_RANGE = {
6709
6958
  min: 0,
6710
6959
  max: 8
6711
6960
  };
6712
- var useStyles16 = makeStyles({
6961
+ var useStyles17 = makeStyles({
6713
6962
  dialogSurface: {
6714
6963
  maxWidth: "600px",
6715
6964
  width: "100%"
@@ -6819,7 +7068,7 @@ var ModalFilterTicket = ({
6819
7068
  minDuration = DEFAULT_DURATION_RANGE.min,
6820
7069
  maxDuration = DEFAULT_DURATION_RANGE.max
6821
7070
  }) => {
6822
- const styles = useStyles16();
7071
+ const styles = useStyles17();
6823
7072
  const mergedLabels = { ...DEFAULT_LABELS16[language], ...labels };
6824
7073
  const [rangeReady, setRangeReady] = useState(false);
6825
7074
  useEffect(() => {
@@ -7143,7 +7392,7 @@ var DEFAULT_LABELS17 = {
7143
7392
  }
7144
7393
  };
7145
7394
  var DEFAULT_SCROLL_AMOUNT = 150;
7146
- var useStyles17 = makeStyles({
7395
+ var useStyles18 = makeStyles({
7147
7396
  container: {
7148
7397
  display: "flex",
7149
7398
  alignItems: "stretch",
@@ -7226,7 +7475,7 @@ var DateFilter = ({
7226
7475
  labels,
7227
7476
  isLoading = false
7228
7477
  }) => {
7229
- const styles = useStyles17();
7478
+ const styles = useStyles18();
7230
7479
  const scrollRef = useRef(null);
7231
7480
  const mergedLabels = {
7232
7481
  ...DEFAULT_LABELS17[language],
@@ -7352,7 +7601,7 @@ var DEFAULT_FORM_VALUES = {
7352
7601
  typeOfService: "",
7353
7602
  passenger: ""
7354
7603
  };
7355
- var useStyles18 = makeStyles({
7604
+ var useStyles19 = makeStyles({
7356
7605
  dialogSurface: {
7357
7606
  maxWidth: "900px",
7358
7607
  width: "100%"
@@ -7454,7 +7703,7 @@ var ModalSearchTicket = ({
7454
7703
  showRoundTrip = true,
7455
7704
  ...props
7456
7705
  }) => {
7457
- const styles = useStyles18();
7706
+ const styles = useStyles19();
7458
7707
  const mergedLabels = { ...DEFAULT_LABELS18[language], ...labels };
7459
7708
  const { control, setValue, handleSubmit, watch } = useForm({
7460
7709
  defaultValues: {
@@ -7902,7 +8151,7 @@ var DEFAULT_LABELS19 = {
7902
8151
  ferryIconAlt: "Ferry Icon"
7903
8152
  }
7904
8153
  };
7905
- var useStyles19 = makeStyles({
8154
+ var useStyles20 = makeStyles({
7906
8155
  stepperWrapper: {
7907
8156
  position: "relative",
7908
8157
  width: "100%",
@@ -8027,7 +8276,7 @@ var Stepper = ({
8027
8276
  language = "id",
8028
8277
  labels
8029
8278
  }) => {
8030
- const styles = useStyles19();
8279
+ const styles = useStyles20();
8031
8280
  const mergedLabels = { ...DEFAULT_LABELS19[language], ...labels };
8032
8281
  const currentStepIndex = useMemo(() => {
8033
8282
  if (typeof currentStep === "number") {
@@ -8098,7 +8347,7 @@ var DEFAULT_LABELS20 = {
8098
8347
  email: "Email"
8099
8348
  }
8100
8349
  };
8101
- var useStyles20 = makeStyles({
8350
+ var useStyles21 = makeStyles({
8102
8351
  card: {
8103
8352
  padding: "1.5rem",
8104
8353
  borderRadius: tokens.borderRadiusXLarge,
@@ -8128,7 +8377,7 @@ var CardOrdererInfo = ({
8128
8377
  labels,
8129
8378
  className
8130
8379
  }) => {
8131
- const styles = useStyles20();
8380
+ const styles = useStyles21();
8132
8381
  const mergedLabels = { ...DEFAULT_LABELS20[language], ...labels };
8133
8382
  return /* @__PURE__ */ jsxs(Card, { className: className || styles.card, children: [
8134
8383
  /* @__PURE__ */ jsx(Title3, { children: mergedLabels.title }),
@@ -8180,7 +8429,7 @@ var DEFAULT_LABELS21 = {
8180
8429
  }
8181
8430
  }
8182
8431
  };
8183
- var useStyles21 = makeStyles({
8432
+ var useStyles22 = makeStyles({
8184
8433
  dialogSurface: {
8185
8434
  maxWidth: "600px",
8186
8435
  width: "100%",
@@ -8235,7 +8484,7 @@ var ModalListPassenger = ({
8235
8484
  // sameAsOrderer,
8236
8485
  // onSameAsOrdererChange,
8237
8486
  }) => {
8238
- const styles = useStyles21();
8487
+ const styles = useStyles22();
8239
8488
  const mergedLabels = { ...DEFAULT_LABELS21[language], ...labels };
8240
8489
  const displayTitle = title || mergedLabels.title;
8241
8490
  const handleClose = () => {
@@ -8491,7 +8740,7 @@ var TYPE_OPTIONS = [
8491
8740
  value: "lainnya"
8492
8741
  }
8493
8742
  ];
8494
- var useStyles22 = makeStyles({
8743
+ var useStyles23 = makeStyles({
8495
8744
  dialogSurface: {
8496
8745
  maxWidth: "600px",
8497
8746
  width: "100%",
@@ -8669,7 +8918,7 @@ var ModalPassengerForm = ({
8669
8918
  ticketClassOptions,
8670
8919
  onScanComplete
8671
8920
  }) => {
8672
- const styles = useStyles22();
8921
+ const styles = useStyles23();
8673
8922
  const mergedLabels = { ...DEFAULT_LABELS22[language], ...labels };
8674
8923
  const mergedErrors = {
8675
8924
  ...DEFAULT_LABELS22[language].errors,
@@ -9424,7 +9673,7 @@ var getBadgeConfig = (ticketClass) => {
9424
9673
  };
9425
9674
  }
9426
9675
  };
9427
- var useStyles23 = makeStyles({
9676
+ var useStyles24 = makeStyles({
9428
9677
  card: {
9429
9678
  padding: "1.5rem",
9430
9679
  borderRadius: tokens.borderRadiusXLarge,
@@ -9507,7 +9756,7 @@ var CardPassengerList = ({
9507
9756
  labels,
9508
9757
  className
9509
9758
  }) => {
9510
- const styles = useStyles23();
9759
+ const styles = useStyles24();
9511
9760
  const mergedLabels = { ...DEFAULT_LABELS23[language], ...labels };
9512
9761
  const displayTitle = title || mergedLabels.defaultTitle;
9513
9762
  return /* @__PURE__ */ jsxs(Card, { className: className || styles.card, children: [
@@ -9599,7 +9848,7 @@ var DEFAULT_LABELS24 = {
9599
9848
  noLabel: "No"
9600
9849
  }
9601
9850
  };
9602
- var useStyles24 = makeStyles({
9851
+ var useStyles25 = makeStyles({
9603
9852
  card: {
9604
9853
  padding: "1.5rem",
9605
9854
  borderRadius: tokens.borderRadiusXLarge,
@@ -9639,7 +9888,7 @@ var CardVehicleDetail = ({
9639
9888
  language = "id",
9640
9889
  labels
9641
9890
  }) => {
9642
- const styles = useStyles24();
9891
+ const styles = useStyles25();
9643
9892
  const mergedLabels = { ...DEFAULT_LABELS24[language], ...labels };
9644
9893
  return /* @__PURE__ */ jsxs(Card, { className: styles.card, children: [
9645
9894
  /* @__PURE__ */ jsxs(
@@ -9810,7 +10059,7 @@ var DEFAULT_LABELS25 = {
9810
10059
  incrementQuantityAriaLabel: "Increase quantity"
9811
10060
  }
9812
10061
  };
9813
- var useStyles25 = makeStyles({
10062
+ var useStyles26 = makeStyles({
9814
10063
  card: {
9815
10064
  padding: "1.5rem",
9816
10065
  borderRadius: tokens.borderRadiusXLarge,
@@ -9878,7 +10127,7 @@ var CardVehicleOwnerForm = ({
9878
10127
  language = "id",
9879
10128
  labels
9880
10129
  }) => {
9881
- const styles = useStyles25();
10130
+ const styles = useStyles26();
9882
10131
  const mergedLabels = { ...DEFAULT_LABELS25[language], ...labels };
9883
10132
  return /* @__PURE__ */ jsxs(Card, { className: styles.card, children: [
9884
10133
  /* @__PURE__ */ jsxs("div", { className: styles.header, children: [
@@ -10693,7 +10942,7 @@ var DEFAULT_LABELS26 = {
10693
10942
  currencySymbol: "IDR"
10694
10943
  }
10695
10944
  };
10696
- var useStyles26 = makeStyles({
10945
+ var useStyles27 = makeStyles({
10697
10946
  container: {
10698
10947
  display: "flex",
10699
10948
  flexDirection: "column",
@@ -10826,7 +11075,7 @@ var CardBookingTicket = ({
10826
11075
  onPrevious,
10827
11076
  className
10828
11077
  }) => {
10829
- const styles = useStyles26();
11078
+ const styles = useStyles27();
10830
11079
  const mergedLabels = { ...DEFAULT_LABELS26[language], ...labels };
10831
11080
  return /* @__PURE__ */ jsx("div", { className: `${styles.container} ${className || ""}`, children: /* @__PURE__ */ jsxs("div", { className: styles.bookingDetail, children: [
10832
11081
  /* @__PURE__ */ jsxs(Card, { className: styles.bookingDetailTop, children: [
@@ -11019,7 +11268,7 @@ var DEFAULT_FAQ_ITEMS = {
11019
11268
  }
11020
11269
  ]
11021
11270
  };
11022
- var useStyles27 = makeStyles({
11271
+ var useStyles28 = makeStyles({
11023
11272
  faqSection: {
11024
11273
  // marginTop: '2rem', // Let parent control spacing if needed, or keep consistent
11025
11274
  },
@@ -11043,7 +11292,7 @@ var CardFAQ = ({
11043
11292
  items,
11044
11293
  className
11045
11294
  }) => {
11046
- const styles = useStyles27();
11295
+ const styles = useStyles28();
11047
11296
  const mergedLabels = { ...DEFAULT_LABELS27[language], ...labels };
11048
11297
  const faqItems = items || DEFAULT_FAQ_ITEMS[language];
11049
11298
  return /* @__PURE__ */ jsxs(Card, { className: styles.faqCard, children: [
@@ -11097,7 +11346,7 @@ var DEFAULT_LABELS28 = {
11097
11346
  currencySymbol: "Rp"
11098
11347
  }
11099
11348
  };
11100
- var useStyles28 = makeStyles({
11349
+ var useStyles29 = makeStyles({
11101
11350
  card: {
11102
11351
  backgroundColor: tokens.colorNeutralBackground1,
11103
11352
  boxShadow: tokens.shadow4,
@@ -11270,7 +11519,7 @@ var CardAddon = ({
11270
11519
  children,
11271
11520
  className
11272
11521
  }) => {
11273
- const styles = useStyles28();
11522
+ const styles = useStyles29();
11274
11523
  const mergedLabels = { ...DEFAULT_LABELS28[language], ...labels };
11275
11524
  return /* @__PURE__ */ jsx(Card, { className: `${styles.card} ${className || ""}`, children: /* @__PURE__ */ jsxs("div", { className: styles.gapRow, children: [
11276
11525
  /* @__PURE__ */ jsxs("div", { className: styles.titleDivider, children: [
@@ -11498,7 +11747,7 @@ var DEFAULT_LABELS29 = {
11498
11747
  searchPlaceholder: "Search for food or drinks you want"
11499
11748
  }
11500
11749
  };
11501
- var useStyles29 = makeStyles({
11750
+ var useStyles30 = makeStyles({
11502
11751
  container: {
11503
11752
  display: "flex",
11504
11753
  flexDirection: "column",
@@ -11642,7 +11891,7 @@ var CardMealCatalog = ({
11642
11891
  searchValue,
11643
11892
  onSearchChange
11644
11893
  }) => {
11645
- const styles = useStyles29();
11894
+ const styles = useStyles30();
11646
11895
  const mergedLabels = { ...DEFAULT_LABELS29[language], ...labels };
11647
11896
  return /* @__PURE__ */ jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
11648
11897
  /* @__PURE__ */ jsxs("div", { className: styles.banner, children: [
@@ -11756,7 +12005,7 @@ var DEFAULT_LABELS30 = {
11756
12005
  defaultTitle: "Review"
11757
12006
  }
11758
12007
  };
11759
- var useStyles30 = makeStyles({
12008
+ var useStyles31 = makeStyles({
11760
12009
  card: {
11761
12010
  padding: "1.5rem",
11762
12011
  borderRadius: tokens.borderRadiusXLarge,
@@ -11807,7 +12056,7 @@ var CardReview = ({
11807
12056
  className,
11808
12057
  headerAction
11809
12058
  }) => {
11810
- const styles = useStyles30();
12059
+ const styles = useStyles31();
11811
12060
  const mergedLabels = { ...DEFAULT_LABELS30[language], ...labels };
11812
12061
  return /* @__PURE__ */ jsxs(Card, { className: `${styles.card} ${className || ""}`, children: [
11813
12062
  /* @__PURE__ */ jsxs("div", { className: styles.headerContainer, children: [
@@ -11865,7 +12114,7 @@ var DEFAULT_LABELS31 = {
11865
12114
  idNumber: "ID Number"
11866
12115
  }
11867
12116
  };
11868
- var useStyles31 = makeStyles({
12117
+ var useStyles32 = makeStyles({
11869
12118
  card: {
11870
12119
  padding: "1.5rem",
11871
12120
  borderRadius: tokens.borderRadiusXLarge,
@@ -11963,7 +12212,7 @@ var CardReviewPassenger = ({
11963
12212
  passengers,
11964
12213
  className
11965
12214
  }) => {
11966
- const styles = useStyles31();
12215
+ const styles = useStyles32();
11967
12216
  const mergedLabels = { ...DEFAULT_LABELS31[language], ...labels };
11968
12217
  const displayTitle = title || mergedLabels.title;
11969
12218
  return /* @__PURE__ */ jsxs(Card, { className: `${styles.card} ${className || ""}`, children: [
@@ -12043,7 +12292,7 @@ var DEFAULT_LABELS32 = {
12043
12292
  currencyPrefix: "Rp. "
12044
12293
  }
12045
12294
  };
12046
- var useStyles32 = makeStyles({
12295
+ var useStyles33 = makeStyles({
12047
12296
  list: {
12048
12297
  margin: 0,
12049
12298
  padding: 0,
@@ -12065,7 +12314,7 @@ var PriceDetailsTerms = ({
12065
12314
  language = "id",
12066
12315
  labels
12067
12316
  }) => {
12068
- const styles = useStyles32();
12317
+ const styles = useStyles33();
12069
12318
  const linkColor = tokens.colorBrandBackground;
12070
12319
  const bookingTerms = labels.bookingTerms;
12071
12320
  const agreementTerms = [
@@ -12085,7 +12334,7 @@ var PriceDetailsTerms = ({
12085
12334
  ] })
12086
12335
  ] });
12087
12336
  };
12088
- var useStyles33 = makeStyles({
12337
+ var useStyles34 = makeStyles({
12089
12338
  card: {
12090
12339
  padding: "1.5rem",
12091
12340
  borderRadius: tokens.borderRadiusXLarge,
@@ -12162,7 +12411,7 @@ var CardPriceDetails = ({
12162
12411
  total,
12163
12412
  labels
12164
12413
  }) => {
12165
- const styles = useStyles33();
12414
+ const styles = useStyles34();
12166
12415
  const mergedLabels = { ...DEFAULT_LABELS32[language], ...labels };
12167
12416
  const displayTitle = title || mergedLabels.defaultTitle;
12168
12417
  const getVariantClass = (variant) => {
@@ -12230,7 +12479,7 @@ var DEFAULT_LABELS33 = {
12230
12479
  selectAriaLabel: "Select payment method"
12231
12480
  }
12232
12481
  };
12233
- var useStyles34 = makeStyles({
12482
+ var useStyles35 = makeStyles({
12234
12483
  container: {
12235
12484
  display: "flex",
12236
12485
  flexDirection: "column",
@@ -12290,7 +12539,7 @@ var CardPaymentMethodList = ({
12290
12539
  selectedValue,
12291
12540
  onSelect
12292
12541
  }) => {
12293
- const styles = useStyles34();
12542
+ const styles = useStyles35();
12294
12543
  const mergedLabels = { ...DEFAULT_LABELS33[language], ...labels };
12295
12544
  return /* @__PURE__ */ jsx("div", { className: styles.card, children: /* @__PURE__ */ jsx("div", { className: `${styles.container}`, children: methods.map((category, index) => /* @__PURE__ */ jsxs("div", { children: [
12296
12545
  index > 0 && /* @__PURE__ */ jsx("div", { className: styles.dividerContainer, children: /* @__PURE__ */ jsx(Divider, {}) }),
@@ -12348,7 +12597,7 @@ var DEFAULT_LABELS34 = {
12348
12597
  title: "Payment Method"
12349
12598
  }
12350
12599
  };
12351
- var useStyles35 = makeStyles({
12600
+ var useStyles36 = makeStyles({
12352
12601
  container: {
12353
12602
  display: "flex",
12354
12603
  flexDirection: "column",
@@ -12385,7 +12634,7 @@ var CardPaymentGuide = ({
12385
12634
  guides,
12386
12635
  className
12387
12636
  }) => {
12388
- const styles = useStyles35();
12637
+ const styles = useStyles36();
12389
12638
  const mergedLabels = { ...DEFAULT_LABELS34[language], ...labels };
12390
12639
  const displayTitle = title || mergedLabels.title;
12391
12640
  return /* @__PURE__ */ jsxs("div", { className: `${styles.container} ${className || ""}`, children: [
@@ -12423,7 +12672,7 @@ var DEFAULT_LABELS35 = {
12423
12672
  currencySymbol: "Rp."
12424
12673
  }
12425
12674
  };
12426
- var useStyles36 = makeStyles({
12675
+ var useStyles37 = makeStyles({
12427
12676
  container: {
12428
12677
  display: "flex",
12429
12678
  flexDirection: "column",
@@ -12505,7 +12754,7 @@ var CardPaymentInfo = ({
12505
12754
  onCopyVA,
12506
12755
  onCheckStatus
12507
12756
  }) => {
12508
- const styles = useStyles36();
12757
+ const styles = useStyles37();
12509
12758
  const mergedLabels = { ...DEFAULT_LABELS35[language], ...labels };
12510
12759
  return /* @__PURE__ */ jsx("div", { className: styles.card, children: /* @__PURE__ */ jsxs("div", { className: styles.container, children: [
12511
12760
  /* @__PURE__ */ jsxs("div", { className: styles.headerRow, children: [
@@ -12594,7 +12843,7 @@ var DEFAULT_LABELS36 = {
12594
12843
  illustrationAlt: "E-Ticket Illustration"
12595
12844
  }
12596
12845
  };
12597
- var useStyles37 = makeStyles({
12846
+ var useStyles38 = makeStyles({
12598
12847
  activeCard: {
12599
12848
  width: "100%",
12600
12849
  // padding: tokens.spacingHorizontalNone, // default
@@ -12664,7 +12913,7 @@ var CardStatusOrder = ({
12664
12913
  onClickViewTicket,
12665
12914
  className
12666
12915
  }) => {
12667
- const styles = useStyles37();
12916
+ const styles = useStyles38();
12668
12917
  const mergedLabels = { ...DEFAULT_LABELS36[language], ...labels };
12669
12918
  const displayStatus = statusLabel || mergedLabels.defaultStatus;
12670
12919
  const displayTitle = title || mergedLabels.defaultTitle;
@@ -12788,7 +13037,7 @@ var DEFAULT_LABELS37 = {
12788
13037
  closeAriaLabel: "Close"
12789
13038
  }
12790
13039
  };
12791
- var useStyles38 = makeStyles({
13040
+ var useStyles39 = makeStyles({
12792
13041
  surface: {
12793
13042
  width: "680px",
12794
13043
  maxWidth: "90vw",
@@ -12915,7 +13164,7 @@ var ModalPriceDetail = ({
12915
13164
  grandTotal,
12916
13165
  ...props
12917
13166
  }) => {
12918
- const styles = useStyles38();
13167
+ const styles = useStyles39();
12919
13168
  const mergedLabels = { ...DEFAULT_LABELS37[language], ...labels };
12920
13169
  return /* @__PURE__ */ jsx(
12921
13170
  Dialog,
@@ -13074,7 +13323,7 @@ var DEFAULT_LABELS38 = {
13074
13323
  requiredError: "is required"
13075
13324
  }
13076
13325
  };
13077
- var useStyles39 = makeStyles({
13326
+ var useStyles40 = makeStyles({
13078
13327
  surface: {
13079
13328
  maxWidth: "90vw",
13080
13329
  maxHeight: "90vh",
@@ -13101,7 +13350,7 @@ var ModalPreviewImage = ({
13101
13350
  imageUrl,
13102
13351
  alt = "Preview"
13103
13352
  }) => {
13104
- const styles = useStyles39();
13353
+ const styles = useStyles40();
13105
13354
  return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: (_, data) => onOpenChange(data.open), children: /* @__PURE__ */ jsx(DialogSurface, { className: styles.surface, children: /* @__PURE__ */ jsxs(DialogBody, { children: [
13106
13355
  /* @__PURE__ */ jsx(
13107
13356
  DialogTitle,
@@ -13614,7 +13863,7 @@ var DEFAULT_LABELS39 = {
13614
13863
  id: {},
13615
13864
  en: {}
13616
13865
  };
13617
- var useStyles40 = makeStyles({
13866
+ var useStyles41 = makeStyles({
13618
13867
  container: {
13619
13868
  display: "flex",
13620
13869
  flexDirection: "column",
@@ -13674,7 +13923,7 @@ var CardProfileMenu = ({
13674
13923
  selectedValue,
13675
13924
  onTabSelect
13676
13925
  }) => {
13677
- const styles = useStyles40();
13926
+ const styles = useStyles41();
13678
13927
  ({ ...DEFAULT_LABELS39[language], ...labels });
13679
13928
  const handleTabSelect = (_, data) => {
13680
13929
  onTabSelect(data.value);
@@ -13703,185 +13952,6 @@ var CardProfileMenu = ({
13703
13952
  }
13704
13953
  ) });
13705
13954
  };
13706
- var BP_TABLET2 = `max-width: ${extendedTokens.breakpointXl}`;
13707
- var BP_MOBILE2 = `max-width: ${extendedTokens.breakpointMd}`;
13708
- var useStyles41 = makeStyles({
13709
- dialogSurface: {
13710
- maxWidth: "900px",
13711
- width: "100%"
13712
- },
13713
- closeButton: {
13714
- minWidth: "32px",
13715
- minHeight: "32px"
13716
- },
13717
- content: {
13718
- paddingTop: "8px",
13719
- paddingBottom: "16px"
13720
- },
13721
- // Horizontal row layout: icon left, text right — same as CardServiceMenu desktop
13722
- menuItem: {
13723
- display: "flex",
13724
- flexDirection: "row",
13725
- alignItems: "center",
13726
- justifyContent: "flex-start",
13727
- padding: "12px 16px",
13728
- borderRadius: tokens.borderRadiusMedium,
13729
- cursor: "pointer",
13730
- textAlign: "left",
13731
- transition: "background-color 0.2s ease",
13732
- color: tokens.colorNeutralForeground1,
13733
- backgroundColor: tokens.colorNeutralBackground1,
13734
- border: "none",
13735
- gap: "12px",
13736
- width: "100%",
13737
- "&:hover": {
13738
- backgroundColor: tokens.colorNeutralBackground1Hover
13739
- },
13740
- [`@media (${BP_TABLET2})`]: {
13741
- padding: "10px 10px",
13742
- gap: "8px"
13743
- },
13744
- [`@media (${BP_MOBILE2})`]: {
13745
- flexDirection: "column",
13746
- alignItems: "center",
13747
- textAlign: "center",
13748
- padding: "8px 6px",
13749
- gap: "4px"
13750
- }
13751
- },
13752
- logoWrapper: {
13753
- display: "flex",
13754
- alignItems: "center",
13755
- justifyContent: "center",
13756
- flexShrink: 0
13757
- },
13758
- logo: {
13759
- height: "32px",
13760
- width: "32px",
13761
- flexShrink: 0,
13762
- objectFit: "contain",
13763
- [`@media (${BP_TABLET2})`]: {
13764
- height: "28px",
13765
- width: "28px"
13766
- },
13767
- [`@media (${BP_MOBILE2})`]: {
13768
- height: "24px",
13769
- width: "24px"
13770
- }
13771
- },
13772
- textContent: {
13773
- display: "flex",
13774
- flexDirection: "column",
13775
- gap: "2px",
13776
- minWidth: 0,
13777
- width: "100%",
13778
- [`@media (${BP_MOBILE2})`]: {
13779
- alignItems: "center"
13780
- }
13781
- },
13782
- label: {
13783
- fontSize: tokens.fontSizeBase300,
13784
- fontWeight: tokens.fontWeightSemibold,
13785
- lineHeight: "1.2",
13786
- whiteSpace: "nowrap",
13787
- overflow: "hidden",
13788
- textOverflow: "ellipsis",
13789
- width: "100%",
13790
- [`@media (${BP_TABLET2})`]: {
13791
- fontSize: tokens.fontSizeBase200
13792
- },
13793
- [`@media (${BP_MOBILE2})`]: {
13794
- fontSize: tokens.fontSizeBase100,
13795
- textAlign: "center"
13796
- }
13797
- },
13798
- description: {
13799
- fontSize: tokens.fontSizeBase200,
13800
- fontWeight: tokens.fontWeightRegular,
13801
- color: tokens.colorNeutralForeground2,
13802
- display: "-webkit-box",
13803
- WebkitLineClamp: 2,
13804
- WebkitBoxOrient: "vertical",
13805
- overflow: "hidden",
13806
- textOverflow: "ellipsis",
13807
- lineHeight: "1.4",
13808
- [`@media (${BP_TABLET2})`]: {
13809
- fontSize: tokens.fontSizeBase100,
13810
- WebkitLineClamp: 1
13811
- },
13812
- [`@media (${BP_MOBILE2})`]: {
13813
- display: "none"
13814
- }
13815
- }
13816
- });
13817
- var ModalListMenuService = ({
13818
- open = false,
13819
- onClose = () => {
13820
- },
13821
- title = "",
13822
- menuItems = ALIAS_MENU_ITEMS,
13823
- onItemClick,
13824
- showDescriptions = true
13825
- }) => {
13826
- const styles = useStyles41();
13827
- return /* @__PURE__ */ jsx(
13828
- Dialog,
13829
- {
13830
- open,
13831
- onOpenChange: (_, data) => {
13832
- if (!data.open) {
13833
- onClose();
13834
- }
13835
- },
13836
- children: /* @__PURE__ */ jsx(DialogSurface, { className: styles.dialogSurface, children: /* @__PURE__ */ jsxs(DialogBody, { children: [
13837
- /* @__PURE__ */ jsx(
13838
- DialogTitle,
13839
- {
13840
- action: /* @__PURE__ */ jsx(
13841
- Button,
13842
- {
13843
- appearance: "subtle",
13844
- "aria-label": "close",
13845
- icon: /* @__PURE__ */ jsx(Icon, { icon: "fluent:dismiss-24-regular" }),
13846
- onClick: onClose,
13847
- className: styles.closeButton
13848
- }
13849
- ),
13850
- children: title
13851
- }
13852
- ),
13853
- /* @__PURE__ */ jsx(DialogContent, { className: styles.content, children: /* @__PURE__ */ jsx(Row, { gutterWidth: 0, children: menuItems.map((item) => /* @__PURE__ */ jsx(Col, { xs: 6, sm: 6, md: 3, lg: 3, children: /* @__PURE__ */ jsxs(
13854
- Button,
13855
- {
13856
- className: styles.menuItem,
13857
- onClick: () => onItemClick?.(item),
13858
- "aria-label": item.name,
13859
- children: [
13860
- /* @__PURE__ */ jsx("div", { className: styles.logoWrapper, children: /* @__PURE__ */ jsx(
13861
- "img",
13862
- {
13863
- src: item.imageUrl,
13864
- alt: item.name,
13865
- className: styles.logo
13866
- }
13867
- ) }),
13868
- /* @__PURE__ */ jsxs("div", { className: styles.textContent, children: [
13869
- /* @__PURE__ */ jsx("span", { className: styles.label, children: item.name }),
13870
- showDescriptions && /* @__PURE__ */ jsx(
13871
- MenuItemDescription,
13872
- {
13873
- description: item.description,
13874
- className: styles.description
13875
- }
13876
- )
13877
- ] })
13878
- ]
13879
- }
13880
- ) }, item.id)) }) })
13881
- ] }) })
13882
- }
13883
- );
13884
- };
13885
13955
 
13886
13956
  export { API_CONFIG, API_ENDPOINTS, API_ERROR_MESSAGES, BackgroundTicketCard_default as BackgroundTicketCard, BackgroundTicketCardVertical_default as BackgroundTicketCardVertical, COUNTRIES, CardAddon, CardBanner, CardBookingTicket, CardFAQ, CardMealCatalog, CardOrdererInfo, CardPassengerList, CardPaymentGuide, CardPaymentInfo, CardPaymentMethodList, CardPriceDetails, CardProfileMenu, CardPromo, CardReview, CardReviewPassenger, CardServiceMenu, CardStatusOrder, CardTicket, CardTicketSearch, DEFAULT_LABELS8 as CardTicketSearchDefaultLabels, CardTicketSearchSummary, DEFAULT_LABELS9 as CardTicketSearchSummaryDefaultLabels, CardVehicleDetail, CardVehicleOwnerForm, CarouselWithCustomNav, DEFAULT_DURATION_RANGE, DEFAULT_PRICE_RANGE, DEFAULT_SCROLL_AMOUNT, DEFAULT_SERVICE_TYPES, DEFAULT_SORT_OPTIONS, DEFAULT_TIME_SLOTS, DEFAULT_VEHICLE_ICONS, DateFilter, DEFAULT_LABELS17 as DateFilterDefaultLabels, FileUpload_default as FileUpload, GENDER, HTTP_STATUS, IDENTITY_TYPE, InputDynamic_default as InputDynamic, LOAD_TYPE, MODAL_PRESETS, MY_TICKET_STATUS, MY_TICKET_TAB, ModalFilterTicket, DEFAULT_LABELS16 as ModalFilterTicketDefaultLabels, ModalIllustration, ModalListMenuService, ModalListPassenger, ModalPassengerForm, ModalPreviewImage, ModalPriceDetail, ModalSearchHarbor, ModalSearchTicket, ModalSelectDate, ModalService, ModalTotalPassengers, ModalTypeOfService, PASSENGER_TYPE, SortMenu, Stepper, getBadgeConfig, getModalPreset, getSortLabel };
13887
13957
  //# sourceMappingURL=index.mjs.map