@asdp/ferryui 0.1.22-dev.8766 → 0.1.22-dev.8782

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.d.mts CHANGED
@@ -238,6 +238,20 @@ interface CarouselWithCustomNavProps {
238
238
  * @default false
239
239
  */
240
240
  cardFocus?: boolean;
241
+ /**
242
+ * Whether to show navigation arrows (prev/next buttons)
243
+ * @default false
244
+ */
245
+ showNavButtons?: boolean;
246
+ /**
247
+ * Whether to show the close/dismiss button
248
+ * @default false
249
+ */
250
+ showCloseButton?: boolean;
251
+ /**
252
+ * Callback when close button is clicked
253
+ */
254
+ onCloseClick?: () => void;
241
255
  }
242
256
 
243
257
  declare const CarouselWithCustomNav: React$1.FC<CarouselWithCustomNavProps>;
package/dist/index.d.ts CHANGED
@@ -238,6 +238,20 @@ interface CarouselWithCustomNavProps {
238
238
  * @default false
239
239
  */
240
240
  cardFocus?: boolean;
241
+ /**
242
+ * Whether to show navigation arrows (prev/next buttons)
243
+ * @default false
244
+ */
245
+ showNavButtons?: boolean;
246
+ /**
247
+ * Whether to show the close/dismiss button
248
+ * @default false
249
+ */
250
+ showCloseButton?: boolean;
251
+ /**
252
+ * Callback when close button is clicked
253
+ */
254
+ onCloseClick?: () => void;
241
255
  }
242
256
 
243
257
  declare const CarouselWithCustomNav: React$1.FC<CarouselWithCustomNavProps>;
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var reactComponents = require('@fluentui/react-components');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React5 = require('react');
6
+ var reactIcons = require('@fluentui/react-icons');
6
7
  var reactGridSystem = require('react-grid-system');
7
8
  var react = require('@iconify/react');
8
9
  var reactHookForm = require('react-hook-form');
@@ -11,7 +12,6 @@ var Select = require('react-select');
11
12
  var reactCalendarCompat = require('@fluentui/react-calendar-compat');
12
13
  var moment = require('moment');
13
14
  var reactRange = require('react-range');
14
- var reactIcons = require('@fluentui/react-icons');
15
15
 
16
16
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
17
 
@@ -212,8 +212,148 @@ var DEFAULT_LABELS2 = {
212
212
  announcementTemplate: "Carousel slide {index} of {total}"
213
213
  }
214
214
  };
215
+
216
+ // src/constants/generated/tokens.ts
217
+ var brandColors = {
218
+ "10": "#000000",
219
+ "20": "#03060e",
220
+ "30": "#060b1c",
221
+ "40": "#09112a",
222
+ "50": "#0c1738",
223
+ "60": "#122255",
224
+ "70": "#182e71",
225
+ "80": "#1e398d",
226
+ "90": "#4b60a4",
227
+ "100": "#7787bb",
228
+ "110": "#a4afd1",
229
+ "120": "#bac2dd",
230
+ "130": "#d0d6e8",
231
+ "140": "#e7e9f4",
232
+ "150": "#fdfdff",
233
+ "160": "#ffffff"
234
+ };
235
+
236
+ // src/constants/generated/tokensV2.ts
237
+ var brandColors2 = {
238
+ "10": "#001a1bff",
239
+ "20": "#02383bff",
240
+ "30": "#002426",
241
+ "40": "#004044",
242
+ "50": "#005D62",
243
+ "60": "#007A81",
244
+ "70": "#00969F",
245
+ "80": "#00B3BD",
246
+ "90": "#29BFC8",
247
+ "100": "#52CBD2",
248
+ "110": "#7AD7DD",
249
+ "120": "#A3E4E7",
250
+ "130": "#CCF0F2",
251
+ "140": "#E1F7F8",
252
+ "150": "#fdfdff",
253
+ "160": "#ffffff"
254
+ };
255
+ var spacing2 = {
256
+ "360": 36};
257
+ var fontWeight = {
258
+ "Medium": 500};
259
+ var sharedColors = {
260
+ "Shared_Cranberry_Primary": "#c50f1f",
261
+ "Shared_Red_Primary": "#d13438",
262
+ "Shared_Green_Primary": "#107c10"};
263
+ var lightModeColors2 = {
264
+ "Neutral_Foreground_Disabled_Rest": "#bdbdbd",
265
+ "Brand_Stroke_1_Rest": "#00B3BD"};
266
+ var tokensV2_default = {
267
+ lightModeColors: lightModeColors2};
268
+
269
+ // src/constants/brandColors.ts
270
+ var isV2Path = typeof window !== "undefined" && window.location.pathname.startsWith("/v2");
271
+ var brandColors3 = !isV2Path ? brandColors2 : brandColors;
272
+ var customBrand = {
273
+ 10: brandColors3["10"],
274
+ 20: brandColors3["20"],
275
+ 30: brandColors3["30"],
276
+ 40: brandColors3["40"],
277
+ 50: brandColors3["50"],
278
+ 60: brandColors3["60"],
279
+ 70: brandColors3["70"],
280
+ 80: brandColors3["80"],
281
+ 90: brandColors3["90"],
282
+ 100: brandColors3["100"],
283
+ 110: brandColors3["110"],
284
+ 120: brandColors3["120"],
285
+ 130: brandColors3["130"],
286
+ 140: brandColors3["140"],
287
+ 150: brandColors3["150"],
288
+ 160: brandColors3["160"]
289
+ };
290
+
291
+ // src/constants/designTokens.ts
292
+ typeof window !== "undefined" && window.location.pathname.startsWith("/v2");
293
+ var designTokens = {
294
+ // Breakpoints for responsive design
295
+ breakpoints: {
296
+ xs: "320px",
297
+ sm: "480px",
298
+ md: "768px",
299
+ lg: "1024px",
300
+ xl: "1200px",
301
+ xxl: "1440px",
302
+ xxxl: "1600px"
303
+ }};
304
+
305
+ // src/constants/themes.ts
306
+ var extendedTokens = {
307
+ breakpointXs: designTokens.breakpoints.xs,
308
+ breakpointSm: designTokens.breakpoints.sm,
309
+ breakpointMd: designTokens.breakpoints.md,
310
+ breakpointLg: designTokens.breakpoints.lg,
311
+ breakpointXl: designTokens.breakpoints.xl,
312
+ breakpointXxl: designTokens.breakpoints.xxl,
313
+ breakpointXxxl: designTokens.breakpoints.xxxl
314
+ };
315
+ ({
316
+ ...reactComponents.createLightTheme(customBrand),
317
+ // Brand colors from Figma
318
+ colorBrandBackground: customBrand[80],
319
+ colorBrandBackgroundHover: customBrand[70],
320
+ colorBrandBackgroundPressed: customBrand[60],
321
+ colorBrandBackgroundSelected: customBrand[80],
322
+ colorBrandForeground1: customBrand[80],
323
+ colorBrandForeground2: customBrand[70],
324
+ colorBrandForegroundLink: customBrand[70],
325
+ colorBrandForegroundLinkHover: customBrand[60],
326
+ colorBrandForegroundLinkPressed: customBrand[50],
327
+ colorBrandForegroundLinkSelected: customBrand[70]});
328
+ ({
329
+ ...reactComponents.createDarkTheme(customBrand),
330
+ // Brand colors from Figma (inverted for dark mode)
331
+ colorBrandBackground: customBrand[100],
332
+ colorBrandBackgroundHover: customBrand[110],
333
+ colorBrandBackgroundPressed: customBrand[120],
334
+ colorBrandBackgroundSelected: customBrand[100],
335
+ colorBrandForeground1: customBrand[100],
336
+ colorBrandForeground2: customBrand[110],
337
+ colorBrandForegroundLink: customBrand[110],
338
+ colorBrandForegroundLinkHover: customBrand[120],
339
+ colorBrandForegroundLinkPressed: customBrand[130],
340
+ colorBrandForegroundLinkSelected: customBrand[110]});
215
341
  var useStyles2 = reactComponents.makeStyles({
216
342
  carousel: {},
343
+ carouselContainer: {
344
+ display: "flex",
345
+ gap: `${spacing2[360]}px`,
346
+ alignItems: "center",
347
+ justifyContent: "center",
348
+ [`@media (max-width: ${extendedTokens.breakpointMd})`]: {
349
+ gap: reactComponents.tokens.spacingVerticalXS
350
+ }
351
+ },
352
+ carouselContainerNoNav: {
353
+ display: "flex",
354
+ alignItems: "center",
355
+ justifyContent: "center"
356
+ },
217
357
  customCarouselNav: {
218
358
  display: "flex",
219
359
  gap: reactComponents.tokens.spacingHorizontalXS,
@@ -222,6 +362,39 @@ var useStyles2 = reactComponents.makeStyles({
222
362
  ...reactComponents.shorthands.padding(reactComponents.tokens.spacingVerticalS, reactComponents.tokens.spacingVerticalM),
223
363
  borderRadius: reactComponents.tokens.borderRadiusCircular
224
364
  },
365
+ closeButton: {
366
+ width: "max-content",
367
+ height: "max-content",
368
+ backgroundColor: reactComponents.tokens.colorNeutralForeground2,
369
+ color: reactComponents.tokens.colorNeutralBackground1,
370
+ position: "absolute",
371
+ zIndex: 1,
372
+ insetInlineEnd: "0px",
373
+ top: "2%",
374
+ [`@media (max-width: ${extendedTokens.breakpointSm})`]: {
375
+ top: "2%"
376
+ }
377
+ },
378
+ closeButtonWithNav: {
379
+ insetInlineEnd: "14%",
380
+ [`@media (max-width: ${extendedTokens.breakpointSm})`]: {
381
+ insetInlineEnd: "15% !important"
382
+ },
383
+ [`@media (min-width: ${extendedTokens.breakpointMd}) and (max-width: ${extendedTokens.breakpointLg})`]: {
384
+ insetInlineEnd: "13% !important"
385
+ }
386
+ },
387
+ closeButtonWithoutNav: {
388
+ insetInlineEnd: "10px"
389
+ },
390
+ customeCarouselButton: {
391
+ borderRadius: reactComponents.tokens.borderRadiusCircular,
392
+ backgroundColor: reactComponents.tokens.colorNeutralBackgroundInverted,
393
+ color: reactComponents.tokens.colorNeutralBackground1,
394
+ ":hover": {
395
+ backgroundColor: reactComponents.tokens.colorNeutralForeground2
396
+ }
397
+ },
225
398
  carouselNavButton: {
226
399
  "& button": {
227
400
  padding: 0,
@@ -283,7 +456,10 @@ var CarouselWithCustomNav = ({
283
456
  ariaLabel: deprecatedAriaLabel,
284
457
  darkNavBackground = true,
285
458
  className,
286
- cardFocus = false
459
+ cardFocus = false,
460
+ showNavButtons = false,
461
+ showCloseButton = false,
462
+ onCloseClick
287
463
  }) => {
288
464
  const styles = useStyles2();
289
465
  const [internalIndex, setInternalIndex] = React5.useState(0);
@@ -324,20 +500,53 @@ var CarouselWithCustomNav = ({
324
500
  activeIndex,
325
501
  onActiveIndexChange: (_, data) => handleIndexChange(data.index),
326
502
  children: [
327
- /* @__PURE__ */ jsxRuntime.jsx(reactComponents.CarouselViewport, { children: /* @__PURE__ */ jsxRuntime.jsx(
328
- reactComponents.CarouselSlider,
329
- {
330
- cardFocus,
331
- "aria-label": labels.carouselAriaLabel,
332
- children
333
- }
334
- ) }),
503
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: showNavButtons ? styles.carouselContainer : styles.carouselContainerNoNav, children: [
504
+ showNavButtons && /* @__PURE__ */ jsxRuntime.jsx(
505
+ reactComponents.CarouselButton,
506
+ {
507
+ navType: "prev",
508
+ "aria-label": "Previous Carousel Page Button",
509
+ className: styles.customeCarouselButton
510
+ }
511
+ ),
512
+ /* @__PURE__ */ jsxRuntime.jsxs(reactComponents.CarouselViewport, { style: { overflow: "hidden", paddingBottom: "10px" }, children: [
513
+ showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
514
+ reactComponents.Button,
515
+ {
516
+ icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.DismissRegular, {}),
517
+ shape: "circular",
518
+ onClick: onCloseClick,
519
+ "aria-label": "Close carousel",
520
+ className: reactComponents.mergeClasses(
521
+ styles.closeButton,
522
+ showNavButtons ? styles.closeButtonWithNav : styles.closeButtonWithoutNav
523
+ )
524
+ }
525
+ ),
526
+ /* @__PURE__ */ jsxRuntime.jsx(
527
+ reactComponents.CarouselSlider,
528
+ {
529
+ cardFocus,
530
+ "aria-label": labels.carouselAriaLabel,
531
+ children
532
+ }
533
+ )
534
+ ] }),
535
+ showNavButtons && /* @__PURE__ */ jsxRuntime.jsx(
536
+ reactComponents.CarouselButton,
537
+ {
538
+ navType: "next",
539
+ "aria-label": "Next Carousel Page Button",
540
+ className: styles.customeCarouselButton
541
+ }
542
+ )
543
+ ] }),
335
544
  /* @__PURE__ */ jsxRuntime.jsx(
336
545
  reactComponents.CarouselNav,
337
546
  {
338
547
  style: {
339
548
  backgroundColor: darkNavBackground ? reactComponents.tokens.colorSubtleBackgroundInverted : reactComponents.tokens.colorSubtleBackground,
340
- marginTop: reactComponents.tokens.spacingVerticalXL
549
+ marginTop: reactComponents.tokens.spacingVerticalXXL
341
550
  },
342
551
  appearance: "brand",
343
552
  className: styles.carouselNavButton,
@@ -686,130 +895,6 @@ function useWindowSize() {
686
895
  return windowSize;
687
896
  }
688
897
 
689
- // src/constants/generated/tokens.ts
690
- var brandColors = {
691
- "10": "#000000",
692
- "20": "#03060e",
693
- "30": "#060b1c",
694
- "40": "#09112a",
695
- "50": "#0c1738",
696
- "60": "#122255",
697
- "70": "#182e71",
698
- "80": "#1e398d",
699
- "90": "#4b60a4",
700
- "100": "#7787bb",
701
- "110": "#a4afd1",
702
- "120": "#bac2dd",
703
- "130": "#d0d6e8",
704
- "140": "#e7e9f4",
705
- "150": "#fdfdff",
706
- "160": "#ffffff"
707
- };
708
-
709
- // src/constants/generated/tokensV2.ts
710
- var brandColors2 = {
711
- "10": "#001a1bff",
712
- "20": "#02383bff",
713
- "30": "#002426",
714
- "40": "#004044",
715
- "50": "#005D62",
716
- "60": "#007A81",
717
- "70": "#00969F",
718
- "80": "#00B3BD",
719
- "90": "#29BFC8",
720
- "100": "#52CBD2",
721
- "110": "#7AD7DD",
722
- "120": "#A3E4E7",
723
- "130": "#CCF0F2",
724
- "140": "#E1F7F8",
725
- "150": "#fdfdff",
726
- "160": "#ffffff"
727
- };
728
- var fontWeight = {
729
- "Medium": 500};
730
- var sharedColors = {
731
- "Shared_Cranberry_Primary": "#c50f1f",
732
- "Shared_Red_Primary": "#d13438",
733
- "Shared_Green_Primary": "#107c10"};
734
- var lightModeColors2 = {
735
- "Neutral_Foreground_Disabled_Rest": "#bdbdbd",
736
- "Brand_Stroke_1_Rest": "#00B3BD"};
737
- var tokensV2_default = {
738
- lightModeColors: lightModeColors2};
739
-
740
- // src/constants/brandColors.ts
741
- var isV2Path = typeof window !== "undefined" && window.location.pathname.startsWith("/v2");
742
- var brandColors3 = !isV2Path ? brandColors2 : brandColors;
743
- var customBrand = {
744
- 10: brandColors3["10"],
745
- 20: brandColors3["20"],
746
- 30: brandColors3["30"],
747
- 40: brandColors3["40"],
748
- 50: brandColors3["50"],
749
- 60: brandColors3["60"],
750
- 70: brandColors3["70"],
751
- 80: brandColors3["80"],
752
- 90: brandColors3["90"],
753
- 100: brandColors3["100"],
754
- 110: brandColors3["110"],
755
- 120: brandColors3["120"],
756
- 130: brandColors3["130"],
757
- 140: brandColors3["140"],
758
- 150: brandColors3["150"],
759
- 160: brandColors3["160"]
760
- };
761
-
762
- // src/constants/designTokens.ts
763
- typeof window !== "undefined" && window.location.pathname.startsWith("/v2");
764
- var designTokens = {
765
- // Breakpoints for responsive design
766
- breakpoints: {
767
- xs: "320px",
768
- sm: "480px",
769
- md: "768px",
770
- lg: "1024px",
771
- xl: "1200px",
772
- xxl: "1440px",
773
- xxxl: "1600px"
774
- }};
775
-
776
- // src/constants/themes.ts
777
- var extendedTokens = {
778
- breakpointXs: designTokens.breakpoints.xs,
779
- breakpointSm: designTokens.breakpoints.sm,
780
- breakpointMd: designTokens.breakpoints.md,
781
- breakpointLg: designTokens.breakpoints.lg,
782
- breakpointXl: designTokens.breakpoints.xl,
783
- breakpointXxl: designTokens.breakpoints.xxl,
784
- breakpointXxxl: designTokens.breakpoints.xxxl
785
- };
786
- ({
787
- ...reactComponents.createLightTheme(customBrand),
788
- // Brand colors from Figma
789
- colorBrandBackground: customBrand[80],
790
- colorBrandBackgroundHover: customBrand[70],
791
- colorBrandBackgroundPressed: customBrand[60],
792
- colorBrandBackgroundSelected: customBrand[80],
793
- colorBrandForeground1: customBrand[80],
794
- colorBrandForeground2: customBrand[70],
795
- colorBrandForegroundLink: customBrand[70],
796
- colorBrandForegroundLinkHover: customBrand[60],
797
- colorBrandForegroundLinkPressed: customBrand[50],
798
- colorBrandForegroundLinkSelected: customBrand[70]});
799
- ({
800
- ...reactComponents.createDarkTheme(customBrand),
801
- // Brand colors from Figma (inverted for dark mode)
802
- colorBrandBackground: customBrand[100],
803
- colorBrandBackgroundHover: customBrand[110],
804
- colorBrandBackgroundPressed: customBrand[120],
805
- colorBrandBackgroundSelected: customBrand[100],
806
- colorBrandForeground1: customBrand[100],
807
- colorBrandForeground2: customBrand[110],
808
- colorBrandForegroundLink: customBrand[110],
809
- colorBrandForegroundLinkHover: customBrand[120],
810
- colorBrandForegroundLinkPressed: customBrand[130],
811
- colorBrandForegroundLinkSelected: customBrand[110]});
812
-
813
898
  // src/components/CardTicket/CardTicket.constants.ts
814
899
  var DEFAULT_LABELS5 = {
815
900
  id: {