Initial commit

This commit is contained in:
2025-03-07 19:22:02 +01:00
commit 4a98255d83
55743 changed files with 5280367 additions and 0 deletions
@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "Carousel", {
enumerable: true,
get: function() {
return Carousel;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useCarousel = require("./useCarousel");
const _renderCarousel = require("./renderCarousel");
const _useCarouselStylesstyles = require("./useCarouselStyles.styles");
const _useCarouselContextValues = require("./useCarouselContextValues");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const Carousel = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarousel.useCarousel_unstable)(props, ref);
(0, _useCarouselStylesstyles.useCarouselStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselStyles_unstable')(state);
const contextValues = (0, _useCarouselContextValues.useCarouselContextValues_unstable)(state);
return (0, _renderCarousel.renderCarousel_unstable)(state, contextValues);
});
Carousel.displayName = 'Carousel';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Carousel/Carousel.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarousel_unstable } from './useCarousel';\nimport { renderCarousel_unstable } from './renderCarousel';\nimport { useCarouselStyles_unstable } from './useCarouselStyles.styles';\nimport type { CarouselProps } from './Carousel.types';\nimport { useCarouselContextValues_unstable } from './useCarouselContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Carousel is the context wrapper and container for all carousel content/controls,\n * it has no direct style or slot opinions.\n *\n * Carousel also provides API interfaces for callbacks that will occur on navigation events.\n */\nexport const Carousel: ForwardRefComponent<CarouselProps> = React.forwardRef((props, ref) => {\n const state = useCarousel_unstable(props, ref);\n\n useCarouselStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselStyles_unstable')(state);\n\n const contextValues = useCarouselContextValues_unstable(state);\n\n return renderCarousel_unstable(state, contextValues);\n});\n\nCarousel.displayName = 'Carousel';\n"],"names":["Carousel","React","forwardRef","props","ref","state","useCarousel_unstable","useCarouselStyles_unstable","useCustomStyleHook_unstable","contextValues","useCarouselContextValues_unstable","renderCarousel_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAeaA;;;eAAAA;;;;iEAfU;6BAEc;gCACG;yCACG;0CAEO;qCACN;AAQrC,MAAMA,WAAAA,WAAAA,GAA+CC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IACnF,MAAMC,QAAQC,IAAAA,iCAAAA,EAAqBH,OAAOC;IAE1CG,IAAAA,mDAAAA,EAA2BF;IAC3BG,IAAAA,gDAAAA,EAA4B,8BAA8BH;IAE1D,MAAMI,gBAAgBC,IAAAA,2DAAAA,EAAkCL;IAExD,OAAOM,IAAAA,uCAAAA,EAAwBN,OAAOI;AACxC;AAEAT,SAASY,WAAW,GAAG"}
@@ -0,0 +1,6 @@
/**
* @internal
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Carousel/Carousel.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, EventHandler, Slot } from '@fluentui/react-utilities';\nimport type { CarouselContextValue, CarouselIndexChangeData } from '../CarouselContext.types';\n\nexport type CarouselSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * Children function replacement, passes through updated context index and carousel information for localization\n */\nexport type CarouselAnnouncerFunction = (index: number, totalSlides: number, slideGroupList: number[][]) => string;\n\n/**\n * List of integrated motion types\n */\nexport type CarouselMotion = 'slide' | { kind: 'slide'; duration?: number } | 'fade';\n\n/**\n * Carousel Props\n */\nexport type CarouselProps = ComponentProps<CarouselSlots> & {\n /**\n * The initial page to display in uncontrolled mode.\n */\n defaultActiveIndex?: number;\n\n /**\n * The alignment of the carousel.\n */\n align?: 'center' | 'start' | 'end';\n\n /**\n * The value of the currently active page.\n */\n activeIndex?: number;\n\n /**\n * Callback to notify a page change.\n */\n onActiveIndexChange?: EventHandler<CarouselIndexChangeData>;\n\n /**\n * Circular enables the carousel to loop back around on navigation past trailing index.\n */\n circular?: boolean;\n\n /**\n * Controls the number of carousel cards per navigation element, will default to 'auto'\n * Recommended to set to '1' when using full page carousel cards.\n */\n groupSize?: number | 'auto';\n\n /**\n * Enables drag to scroll on carousel items.\n * Defaults to: False\n */\n draggable?: boolean;\n\n /**\n * Adds whitespace to start/end so that 'align' prop is always respected for current index\n * Defaults to: False\n */\n whitespace?: boolean;\n\n /**\n * Sets motion type as either 'slide' or 'fade'\n * Defaults: 'slide'\n *\n * Users can also pass 'slide' & duration via CarouselMotion object to control carousel speed.\n * Drag interactions are not affected because duration is then determined by the drag force.\n *\n * Note: Duration is not in milliseconds because Carousel uses an\n * attraction physics simulation when scrolling instead of easings.\n * Only values between 20-60 are recommended, 25 is the default.\n */\n motion?: CarouselMotion;\n\n /**\n * Localizes the string used to announce carousel page changes\n * Defaults to: undefined\n */\n announcement?: CarouselAnnouncerFunction;\n\n /**\n * Choose a delay between autoplay transitions in milliseconds.\n * Only active if Autoplay is enabled via CarouselAutoplayButton\n *\n * Defaults: 4000\n */\n autoplayInterval?: number;\n};\n\n/**\n * State used in rendering Carousel\n */\nexport type CarouselState = ComponentState<CarouselSlots> & CarouselContextValue;\n\nexport interface CarouselVisibilityEventDetail {\n isVisible: boolean;\n}\n\nexport type CarouselVisibilityChangeEvent = CustomEvent<CarouselVisibilityEventDetail>;\n\n/**\n * @internal\n */\nexport interface CarouselUpdateData {\n /**\n * The current carousel index, a change in index will not trigger the callback (use context index instead).\n */\n activeIndex: number;\n /**\n * The total number of slides to be navigated, accounts for grouping.\n */\n navItemsCount: number;\n /**\n * A breakdown of the card indexes contained within each slide index.\n */\n groupIndexList: number[][];\n /**\n * An array of the card DOM elements after render\n */\n slideNodes: HTMLElement[];\n}\n"],"names":[],"rangeMappings":";;","mappings":"AAuGA;;CAEC"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
Carousel: function() {
return _Carousel.Carousel;
},
carouselClassNames: function() {
return _useCarouselStylesstyles.carouselClassNames;
},
renderCarousel_unstable: function() {
return _renderCarousel.renderCarousel_unstable;
},
useCarouselStyles_unstable: function() {
return _useCarouselStylesstyles.useCarouselStyles_unstable;
},
useCarousel_unstable: function() {
return _useCarousel.useCarousel_unstable;
}
});
const _Carousel = require("./Carousel");
const _renderCarousel = require("./renderCarousel");
const _useCarousel = require("./useCarousel");
const _useCarouselStylesstyles = require("./useCarouselStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Carousel/index.ts"],"sourcesContent":["export { Carousel } from './Carousel';\nexport type {\n CarouselAnnouncerFunction,\n CarouselMotion,\n CarouselProps,\n CarouselSlots,\n CarouselState,\n CarouselUpdateData,\n CarouselVisibilityChangeEvent,\n CarouselVisibilityEventDetail,\n} from './Carousel.types';\nexport { renderCarousel_unstable } from './renderCarousel';\nexport { useCarousel_unstable } from './useCarousel';\nexport { carouselClassNames, useCarouselStyles_unstable } from './useCarouselStyles.styles';\n"],"names":["Carousel","carouselClassNames","renderCarousel_unstable","useCarouselStyles_unstable","useCarousel_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,QAAQ;eAARA,kBAAQ;;IAaRC,kBAAkB;eAAlBA,2CAAkB;;IAFlBC,uBAAuB;eAAvBA,uCAAuB;;IAEHC,0BAA0B;eAA1BA,mDAA0B;;IAD9CC,oBAAoB;eAApBA,iCAAoB;;;0BAZJ;gCAWe;6BACH;yCAC0B"}
@@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarousel_unstable", {
enumerable: true,
get: function() {
return renderCarousel_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const _CarouselContext = require("../CarouselContext");
const renderCarousel_unstable = (state, contextValues)=>{
(0, _reactutilities.assertSlots)(state);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_CarouselContext.CarouselProvider, {
value: contextValues.carousel,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {})
});
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Carousel/renderCarousel.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { CarouselState, CarouselSlots } from './Carousel.types';\nimport { CarouselProvider } from '../CarouselContext';\nimport type { CarouselContextValues } from '../CarouselContext.types';\n\n/**\n * Render the final JSX of Carousel\n */\nexport const renderCarousel_unstable = (state: CarouselState, contextValues: CarouselContextValues) => {\n assertSlots<CarouselSlots>(state);\n\n return (\n <CarouselProvider value={contextValues.carousel}>\n <state.root />\n </CarouselProvider>\n );\n};\n"],"names":["renderCarousel_unstable","state","contextValues","assertSlots","_jsx","CarouselProvider","value","carousel","root"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWaA;;;eAAAA;;;4BAVb;gCAE4B;iCAEK;AAM1B,MAAMA,0BAA0B,CAACC,OAAsBC;IAC5DC,IAAAA,2BAAAA,EAA2BF;IAE3B,OAAA,WAAA,GACEG,IAAAA,eAAA,EAACC,iCAAAA,EAAAA;QAAiBC,OAAOJ,cAAcK,QAAQ;kBAC7C,WAAA,GAAAH,IAAAA,eAAA,EAACH,MAAMO,IAAI,EAAA,CAAA;;AAGjB"}
@@ -0,0 +1,124 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarousel_unstable", {
enumerable: true,
get: function() {
return useCarousel_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const _reactutilities = require("@fluentui/react-utilities");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useEmblaCarousel = require("../useEmblaCarousel");
function useCarousel_unstable(props, ref) {
'use no memo';
const { align = 'center', circular = false, onActiveIndexChange, groupSize = 'auto', draggable = false, whitespace = false, announcement, motion = 'slide', autoplayInterval = 4000 } = props;
const { dir } = (0, _reactsharedcontexts.useFluent_unstable)();
const { activeIndex, carouselApi, containerRef, viewportRef, subscribeForValues, enableAutoplay, resetAutoplay } = (0, _useEmblaCarousel.useEmblaCarousel)({
align,
direction: dir,
loop: circular,
slidesToScroll: groupSize,
defaultActiveIndex: props.defaultActiveIndex,
activeIndex: props.activeIndex,
watchDrag: draggable,
containScroll: whitespace ? false : 'keepSnaps',
motion,
onDragIndexChange: onActiveIndexChange,
onAutoplayIndexChange: onActiveIndexChange,
autoplayInterval
});
const selectPageByElement = (0, _reactutilities.useEventCallback)((event, element, jump)=>{
const foundIndex = carouselApi.scrollToElement(element, jump);
onActiveIndexChange === null || onActiveIndexChange === void 0 ? void 0 : onActiveIndexChange(event, {
event,
type: 'focus',
index: foundIndex
});
return foundIndex;
});
const selectPageByIndex = (0, _reactutilities.useEventCallback)((event, index, jump)=>{
carouselApi.scrollToIndex(index, jump);
onActiveIndexChange === null || onActiveIndexChange === void 0 ? void 0 : onActiveIndexChange(event, {
event,
type: 'click',
index
});
});
const selectPageByDirection = (0, _reactutilities.useEventCallback)((event, direction)=>{
const nextPageIndex = carouselApi.scrollInDirection(direction);
onActiveIndexChange === null || onActiveIndexChange === void 0 ? void 0 : onActiveIndexChange(event, {
event,
type: 'click',
index: nextPageIndex
});
return nextPageIndex;
});
const mergedContainerRef = (0, _reactutilities.useMergedRefs)(ref, containerRef);
// Announce carousel updates
const announcementTextRef = _react.useRef('');
const totalNavLength = _react.useRef(0);
const navGroupRef = _react.useRef([]);
const { announce } = (0, _reactsharedcontexts.useAnnounce)();
const updateAnnouncement = (0, _reactutilities.useEventCallback)(()=>{
if (totalNavLength.current <= 0 || !announcement) {
// Ignore announcements until slides discovered
return;
}
const announcementText = announcement(activeIndex, totalNavLength.current, navGroupRef.current);
if (announcementText !== announcementTextRef.current) {
announcementTextRef.current = announcementText;
announce(announcementText, {
polite: true
});
}
});
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
// Subscribe to any non-index carousel state changes
return subscribeForValues((data)=>{
if (totalNavLength.current <= 0 && data.navItemsCount > 0 && announcement) {
const announcementText = announcement(data.activeIndex, data.navItemsCount, data.groupIndexList);
// Initialize our string to prevent updateAnnouncement from reading an initial load
announcementTextRef.current = announcementText;
}
totalNavLength.current = data.navItemsCount;
navGroupRef.current = data.groupIndexList;
updateAnnouncement();
});
}, [
subscribeForValues,
updateAnnouncement,
announcement
]);
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
updateAnnouncement();
}, [
activeIndex,
updateAnnouncement
]);
return {
components: {
root: 'div'
},
root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
ref: mergedContainerRef,
role: 'region',
...props
}), {
elementType: 'div'
}),
activeIndex,
circular,
containerRef: mergedContainerRef,
viewportRef,
selectPageByElement,
selectPageByDirection,
selectPageByIndex,
subscribeForValues,
enableAutoplay,
resetAutoplay
};
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,41 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselContextValues_unstable", {
enumerable: true,
get: function() {
return useCarouselContextValues_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
function useCarouselContextValues_unstable(state) {
const { activeIndex, selectPageByElement, selectPageByDirection, selectPageByIndex, subscribeForValues, enableAutoplay, resetAutoplay, circular, containerRef, viewportRef } = state;
const carousel = _react.useMemo(()=>({
activeIndex,
selectPageByElement,
selectPageByDirection,
selectPageByIndex,
subscribeForValues,
enableAutoplay,
resetAutoplay,
circular,
containerRef,
viewportRef
}), [
activeIndex,
selectPageByElement,
selectPageByDirection,
selectPageByIndex,
subscribeForValues,
enableAutoplay,
resetAutoplay,
circular,
containerRef,
viewportRef
]);
return {
carousel
};
}
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Carousel/useCarouselContextValues.ts"],"sourcesContent":["import * as React from 'react';\n\nimport type { CarouselContextValues } from '../CarouselContext.types';\nimport type { CarouselState } from './Carousel.types';\n\nexport function useCarouselContextValues_unstable(state: CarouselState): CarouselContextValues {\n const {\n activeIndex,\n selectPageByElement,\n selectPageByDirection,\n selectPageByIndex,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay,\n circular,\n containerRef,\n viewportRef,\n } = state;\n\n const carousel = React.useMemo(\n () => ({\n activeIndex,\n selectPageByElement,\n selectPageByDirection,\n selectPageByIndex,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay,\n circular,\n containerRef,\n viewportRef,\n }),\n [\n activeIndex,\n selectPageByElement,\n selectPageByDirection,\n selectPageByIndex,\n subscribeForValues,\n enableAutoplay,\n resetAutoplay,\n circular,\n containerRef,\n viewportRef,\n ],\n );\n\n return { carousel };\n}\n"],"names":["useCarouselContextValues_unstable","state","activeIndex","selectPageByElement","selectPageByDirection","selectPageByIndex","subscribeForValues","enableAutoplay","resetAutoplay","circular","containerRef","viewportRef","carousel","React","useMemo"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAKgBA;;;eAAAA;;;;iEALO;AAKhB,SAASA,kCAAkCC,KAAoB;IACpE,MAAM,EACJC,WAAW,EACXC,mBAAmB,EACnBC,qBAAqB,EACrBC,iBAAiB,EACjBC,kBAAkB,EAClBC,cAAc,EACdC,aAAa,EACbC,QAAQ,EACRC,YAAY,EACZC,WAAW,EACZ,GAAGV;IAEJ,MAAMW,WAAWC,OAAMC,OAAO,CAC5B,IAAO,CAAA;YACLZ;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;QACF,CAAA,GACA;QACET;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;KACD;IAGH,OAAO;QAAEC;IAAS;AACpB"}
@@ -0,0 +1,43 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
carouselClassNames: function() {
return carouselClassNames;
},
useCarouselStyles_unstable: function() {
return useCarouselStyles_unstable;
}
});
const _react = require("@griffel/react");
const carouselClassNames = {
root: 'fui-Carousel'
};
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
B68tc82: "f1p9o1ba",
Eiaeu8: "f1115ve7",
qhf8xq: "f10pi13n"
}
}, {
d: [
".f1p9o1ba{overflow-x:hidden;}",
".f1115ve7{overflow-anchor:none;}",
".f10pi13n{position:relative;}"
]
});
const useCarouselStyles_unstable = (state)=>{
'use no memo';
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(carouselClassNames.root, styles.root, state.root.className);
return state;
};
@@ -0,0 +1 @@
{"version":3,"sources":["useCarouselStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nexport const carouselClassNames = {\n root: 'fui-Carousel'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n // Only hide horizontal overflow to enable focus border to bleed bounds vertically\n overflowX: 'hidden',\n overflowAnchor: 'none',\n position: 'relative'\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useCarouselStyles_unstable = (state)=>{\n 'use no memo';\n const styles = useStyles();\n state.root.className = mergeClasses(carouselClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["carouselClassNames","useCarouselStyles_unstable","root","useStyles","__styles","B68tc82","Eiaeu8","qhf8xq","d","state","styles","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IACaA,kBAAkB;eAAlBA;;IAeIC,0BAA0B;eAA1BA;;;uBAhBwB;AAClC,MAAMD,qBAAqB;IAC9BE,MAAM;AACV;AACA;;CAEA,GAAI,MAAMC,YAAS,WAAA,GAAGC,IAAAA,eAAA,EAAA;IAAAF,MAAA;QAAAG,SAAA;QAAAC,QAAA;QAAAC,QAAA;IAAA;AAAA,GAAA;IAAAC,GAAA;QAAA;QAAA;QAAA;KAAA;AAAA;AAUX,MAAMP,6BAA8BQ,CAAAA;IAC3C;IACA,MAAMC,SAASP;IACfM,MAAMP,IAAI,CAACS,SAAS,GAAGC,IAAAA,mBAAY,EAACZ,mBAAmBE,IAAI,EAAEQ,OAAOR,IAAI,EAAEO,MAAMP,IAAI,CAACS,SAAS;IAC9F,OAAOF;AACX"}
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CarouselAutoplayButton", {
enumerable: true,
get: function() {
return CarouselAutoplayButton;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useCarouselAutoplayButton = require("./useCarouselAutoplayButton");
const _renderCarouselAutoplayButton = require("./renderCarouselAutoplayButton");
const _useCarouselAutoplayButtonStylesstyles = require("./useCarouselAutoplayButtonStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const CarouselAutoplayButton = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarouselAutoplayButton.useCarouselAutoplayButton_unstable)(props, ref);
(0, _useCarouselAutoplayButtonStylesstyles.useCarouselAutoplayButtonStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselAutoplayButtonStyles_unstable')(state);
return (0, _renderCarouselAutoplayButton.renderCarouselAutoplayButton_unstable)(state);
});
CarouselAutoplayButton.displayName = 'CarouselAutoplayButton';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselAutoplayButton/CarouselAutoplayButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarouselAutoplayButton_unstable } from './useCarouselAutoplayButton';\nimport { renderCarouselAutoplayButton_unstable } from './renderCarouselAutoplayButton';\nimport { useCarouselAutoplayButtonStyles_unstable } from './useCarouselAutoplayButtonStyles.styles';\nimport type { CarouselAutoplayButtonProps } from './CarouselAutoplayButton.types';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * If the Carousel is on auto-play, the user may opt into pausing the auto-play feature via the\n * CarouselAutoplayButton which must be present for auto-play to be enabled.\n *\n * If CarouselAutoplayButton is present, auto-play will default to true on mount.\n */\nexport const CarouselAutoplayButton: ForwardRefComponent<CarouselAutoplayButtonProps> = React.forwardRef(\n (props, ref) => {\n const state = useCarouselAutoplayButton_unstable(props, ref);\n\n useCarouselAutoplayButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselAutoplayButtonStyles_unstable')(state);\n\n return renderCarouselAutoplayButton_unstable(state);\n },\n);\n\nCarouselAutoplayButton.displayName = 'CarouselAutoplayButton';\n"],"names":["CarouselAutoplayButton","React","forwardRef","props","ref","state","useCarouselAutoplayButton_unstable","useCarouselAutoplayButtonStyles_unstable","useCustomStyleHook_unstable","renderCarouselAutoplayButton_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAcaA;;;eAAAA;;;;iEAdU;2CAE4B;8CACG;uDACG;qCAEb;AAQrC,MAAMA,yBAAAA,WAAAA,GAA2EC,OAAMC,UAAU,CACtG,CAACC,OAAOC;IACN,MAAMC,QAAQC,IAAAA,6DAAAA,EAAmCH,OAAOC;IAExDG,IAAAA,+EAAAA,EAAyCF;IACzCG,IAAAA,gDAAAA,EAA4B,4CAA4CH;IAExE,OAAOI,IAAAA,mEAAAA,EAAsCJ;AAC/C;AAGFL,uBAAuBU,WAAW,GAAG"}
@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselAutoplayButton/CarouselAutoplayButton.types.ts"],"sourcesContent":["import { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport { ButtonSlots, ToggleButtonProps, ToggleButtonState } from '@fluentui/react-button';\nimport type { ComponentProps, ComponentState, EventData, EventHandler, Slot } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nexport type CarouselAutoplayButtonSlots = ButtonSlots & {\n root: NonNullable<Slot<ARIAButtonSlotProps>>;\n};\n\nexport type CarouselAutoplayChangeData = EventData<'click', React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>> & {\n /**\n * The updated autoplay value.\n */\n checked: boolean;\n};\n\nexport type CarouselAutoplayAriaLabelFunction = (autoplay: boolean) => string;\n\n/**\n * CarouselAutoplayButton Props\n */\nexport type CarouselAutoplayButtonProps = ToggleButtonProps &\n ComponentProps<CarouselAutoplayButtonSlots> & {\n /**\n * Callback that informs the user when internal autoplay value has changed\n */\n onCheckedChange?: EventHandler<CarouselAutoplayChangeData>;\n };\n\n/**\n * State used in rendering CarouselAutoplayButton\n */\nexport type CarouselAutoplayButtonState = ToggleButtonState & ComponentState<CarouselAutoplayButtonSlots>;\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;iEAGuB"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselAutoplayButton: function() {
return _CarouselAutoplayButton.CarouselAutoplayButton;
},
carouselAutoplayButtonClassNames: function() {
return _useCarouselAutoplayButtonStylesstyles.carouselAutoplayButtonClassNames;
},
renderCarouselAutoplayButton_unstable: function() {
return _renderCarouselAutoplayButton.renderCarouselAutoplayButton_unstable;
},
useCarouselAutoplayButtonStyles_unstable: function() {
return _useCarouselAutoplayButtonStylesstyles.useCarouselAutoplayButtonStyles_unstable;
},
useCarouselAutoplayButton_unstable: function() {
return _useCarouselAutoplayButton.useCarouselAutoplayButton_unstable;
}
});
const _CarouselAutoplayButton = require("./CarouselAutoplayButton");
const _renderCarouselAutoplayButton = require("./renderCarouselAutoplayButton");
const _useCarouselAutoplayButton = require("./useCarouselAutoplayButton");
const _useCarouselAutoplayButtonStylesstyles = require("./useCarouselAutoplayButtonStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselAutoplayButton/index.ts"],"sourcesContent":["export { CarouselAutoplayButton } from './CarouselAutoplayButton';\nexport type {\n CarouselAutoplayAriaLabelFunction,\n CarouselAutoplayButtonProps,\n CarouselAutoplayButtonSlots,\n CarouselAutoplayButtonState,\n CarouselAutoplayChangeData,\n} from './CarouselAutoplayButton.types';\nexport { renderCarouselAutoplayButton_unstable } from './renderCarouselAutoplayButton';\nexport { useCarouselAutoplayButton_unstable } from './useCarouselAutoplayButton';\nexport {\n carouselAutoplayButtonClassNames,\n useCarouselAutoplayButtonStyles_unstable,\n} from './useCarouselAutoplayButtonStyles.styles';\n"],"names":["CarouselAutoplayButton","carouselAutoplayButtonClassNames","renderCarouselAutoplayButton_unstable","useCarouselAutoplayButtonStyles_unstable","useCarouselAutoplayButton_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,sBAAsB;eAAtBA,8CAAsB;;IAW7BC,gCAAgC;eAAhCA,uEAAgC;;IAHzBC,qCAAqC;eAArCA,mEAAqC;;IAI5CC,wCAAwC;eAAxCA,+EAAwC;;IAHjCC,kCAAkC;eAAlCA,6DAAkC;;;wCATJ;8CAQe;2CACH;uDAI5C"}
@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarouselAutoplayButton_unstable", {
enumerable: true,
get: function() {
return renderCarouselAutoplayButton_unstable;
}
});
const _reactutilities = require("@fluentui/react-utilities");
const _reactbutton = require("@fluentui/react-button");
const renderCarouselAutoplayButton_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
// We render the underlying react-button with injected carousel functionality
return (0, _reactbutton.renderToggleButton_unstable)(state);
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselAutoplayButton/renderCarouselAutoplayButton.tsx"],"sourcesContent":["import { assertSlots } from '@fluentui/react-utilities';\nimport type { CarouselAutoplayButtonState, CarouselAutoplayButtonSlots } from './CarouselAutoplayButton.types';\nimport { renderToggleButton_unstable } from '@fluentui/react-button';\n\n/**\n * Render the final JSX of CarouselAutoplayButton\n */\nexport const renderCarouselAutoplayButton_unstable = (state: CarouselAutoplayButtonState) => {\n assertSlots<CarouselAutoplayButtonSlots>(state);\n\n // We render the underlying react-button with injected carousel functionality\n return renderToggleButton_unstable(state);\n};\n"],"names":["renderCarouselAutoplayButton_unstable","state","assertSlots","renderToggleButton_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":";;;;+BAOaA;;;eAAAA;;;gCAPe;6BAEgB;AAKrC,MAAMA,wCAAwC,CAACC;IACpDC,IAAAA,2BAAAA,EAAyCD;IAEzC,6EAA6E;IAC7E,OAAOE,IAAAA,wCAAAA,EAA4BF;AACrC"}
@@ -0,0 +1,63 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselAutoplayButton_unstable", {
enumerable: true,
get: function() {
return useCarouselAutoplayButton_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _reactbutton = require("@fluentui/react-button");
const _reacticons = require("@fluentui/react-icons");
const _reactutilities = require("@fluentui/react-utilities");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _CarouselContext = require("../CarouselContext");
const useCarouselAutoplayButton_unstable = (props, ref)=>{
const { onCheckedChange, checked, defaultChecked } = props;
const [autoplay, setAutoplay] = (0, _reactutilities.useControllableState)({
state: checked,
defaultState: defaultChecked,
initialState: false
});
const enableAutoplay = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.enableAutoplay);
_react.useEffect(()=>{
// Initialize carousel autoplay based on button state
enableAutoplay(autoplay);
return ()=>{
// We uninitialize autoplay if the button gets unmounted.
enableAutoplay(false);
};
}, [
autoplay,
enableAutoplay
]);
const handleClick = (event)=>{
if (event.isDefaultPrevented()) {
return;
}
const newValue = !autoplay;
setAutoplay(newValue);
onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange(event, {
event,
type: 'click',
checked: newValue
});
};
return {
// We lean on react-button class to handle styling and icon enhancements
...(0, _reactbutton.useToggleButton_unstable)({
icon: _reactutilities.slot.optional(props.icon, {
defaultProps: {
children: autoplay ? /*#__PURE__*/ _react.createElement(_reacticons.PauseCircleRegular, null) : /*#__PURE__*/ _react.createElement(_reacticons.PlayCircleRegular, null)
},
renderByDefault: true,
elementType: 'span'
}),
...props,
checked: autoplay,
onClick: (0, _reactutilities.useEventCallback)((0, _reactutilities.mergeCallbacks)(handleClick, props.onClick))
}, ref)
};
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselAutoplayButton/useCarouselAutoplayButton.tsx"],"sourcesContent":["import type { ARIAButtonElement } from '@fluentui/react-aria';\nimport { useToggleButton_unstable } from '@fluentui/react-button';\nimport { PlayCircleRegular, PauseCircleRegular } from '@fluentui/react-icons';\nimport { mergeCallbacks, slot, useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nimport type { CarouselAutoplayButtonProps, CarouselAutoplayButtonState } from './CarouselAutoplayButton.types';\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\n\n/**\n * Create the state required to render CarouselAutoplayButton.\n *\n * The returned state can be modified with hooks such as useCarouselAutoplayButtonStyles_unstable,\n * before being passed to renderCarouselAutoplayButton_unstable.\n *\n * @param props - props from this instance of CarouselAutoplayButton\n * @param ref - reference to root HTMLDivElement of CarouselAutoplayButton\n */\nexport const useCarouselAutoplayButton_unstable = (\n props: CarouselAutoplayButtonProps,\n ref: React.Ref<ARIAButtonElement>,\n): CarouselAutoplayButtonState => {\n const { onCheckedChange, checked, defaultChecked } = props;\n\n const [autoplay, setAutoplay] = useControllableState({\n state: checked,\n defaultState: defaultChecked,\n initialState: false,\n });\n const enableAutoplay = useCarouselContext(ctx => ctx.enableAutoplay);\n\n React.useEffect(() => {\n // Initialize carousel autoplay based on button state\n enableAutoplay(autoplay);\n\n return () => {\n // We uninitialize autoplay if the button gets unmounted.\n enableAutoplay(false);\n };\n }, [autoplay, enableAutoplay]);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement & HTMLAnchorElement>) => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n const newValue = !autoplay;\n\n setAutoplay(newValue);\n onCheckedChange?.(event, { event, type: 'click', checked: newValue });\n };\n\n return {\n // We lean on react-button class to handle styling and icon enhancements\n ...useToggleButton_unstable(\n {\n icon: slot.optional(props.icon, {\n defaultProps: {\n children: autoplay ? <PauseCircleRegular /> : <PlayCircleRegular />,\n },\n renderByDefault: true,\n elementType: 'span',\n }),\n ...props,\n checked: autoplay,\n onClick: useEventCallback(mergeCallbacks(handleClick, props.onClick)),\n },\n ref as React.Ref<HTMLButtonElement>,\n ),\n };\n};\n"],"names":["useCarouselAutoplayButton_unstable","props","ref","onCheckedChange","checked","defaultChecked","autoplay","setAutoplay","useControllableState","state","defaultState","initialState","enableAutoplay","useCarouselContext","ctx","React","useEffect","handleClick","event","isDefaultPrevented","newValue","type","useToggleButton_unstable","icon","slot","optional","defaultProps","children","createElement","PauseCircleRegular","PlayCircleRegular","renderByDefault","elementType","onClick","useEventCallback","mergeCallbacks"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAkBaA;;;eAAAA;;;;6BAjB4B;4BACa;gCACuB;iEACtD;iCAG2C;AAW3D,MAAMA,qCAAqC,CAChDC,OACAC;IAEA,MAAM,EAAEC,eAAe,EAAEC,OAAO,EAAEC,cAAc,EAAE,GAAGJ;IAErD,MAAM,CAACK,UAAUC,YAAY,GAAGC,IAAAA,oCAAAA,EAAqB;QACnDC,OAAOL;QACPM,cAAcL;QACdM,cAAc;IAChB;IACA,MAAMC,iBAAiBC,IAAAA,4CAAAA,EAAmBC,CAAAA,MAAOA,IAAIF,cAAc;IAEnEG,OAAMC,SAAS,CAAC;QACd,qDAAqD;QACrDJ,eAAeN;QAEf,OAAO;YACL,yDAAyD;YACzDM,eAAe;QACjB;IACF,GAAG;QAACN;QAAUM;KAAe;IAE7B,MAAMK,cAAc,CAACC;QACnB,IAAIA,MAAMC,kBAAkB,IAAI;YAC9B;QACF;QAEA,MAAMC,WAAW,CAACd;QAElBC,YAAYa;QACZjB,oBAAAA,QAAAA,oBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,gBAAkBe,OAAO;YAAEA;YAAOG,MAAM;YAASjB,SAASgB;QAAS;IACrE;IAEA,OAAO;QACL,wEAAwE;QACxE,GAAGE,IAAAA,qCAAAA,EACD;YACEC,MAAMC,oBAAAA,CAAKC,QAAQ,CAACxB,MAAMsB,IAAI,EAAE;gBAC9BG,cAAc;oBACZC,UAAUrB,WAAAA,WAAAA,GAAWS,OAAAa,aAAA,CAACC,8BAAAA,EAAAA,QAAAA,WAAAA,GAAwBd,OAAAa,aAAA,CAACE,6BAAAA,EAAAA;gBACjD;gBACAC,iBAAiB;gBACjBC,aAAa;YACf;YACA,GAAG/B,KAAK;YACRG,SAASE;YACT2B,SAASC,IAAAA,gCAAAA,EAAiBC,IAAAA,8BAAAA,EAAelB,aAAahB,MAAMgC,OAAO;QACrE,GACA/B,IACD;IACH;AACF"}
@@ -0,0 +1,71 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
carouselAutoplayButtonClassNames: function() {
return carouselAutoplayButtonClassNames;
},
useCarouselAutoplayButtonStyles_unstable: function() {
return useCarouselAutoplayButtonStyles_unstable;
}
});
const _react = require("@griffel/react");
const _reactbutton = require("@fluentui/react-button");
const carouselAutoplayButtonClassNames = {
root: 'fui-CarouselAutoplayButton',
icon: 'fui-CarouselAutoplayButton__icon'
};
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
Bkecrkj: "fc5wo7j",
B6of3ja: "fgr6219",
jrapky: "f10jk5vf",
g2u3we: "fghlq4f",
h3c5rm: [
"f1gn591s",
"fjscplz"
],
B9xav0g: "fb073pr",
zhjwy3: [
"fjscplz",
"f1gn591s"
],
sj55zd: "fkfq4zb",
De3pzq: "fkfdr9r",
eoavqd: "f8491dx"
}
}, {
d: [
".fc5wo7j{pointer-events:all;}",
".fgr6219{margin-top:auto;}",
".f10jk5vf{margin-bottom:auto;}",
".fghlq4f{border-top-color:var(--colorTransparentStroke);}",
".f1gn591s{border-right-color:var(--colorTransparentStroke);}",
".fjscplz{border-left-color:var(--colorTransparentStroke);}",
".fb073pr{border-bottom-color:var(--colorTransparentStroke);}",
".fkfq4zb{color:var(--colorNeutralForeground2);}",
".fkfdr9r{background-color:var(--colorNeutralBackgroundAlpha);}"
],
h: [
".f8491dx:hover{cursor:pointer;}"
]
});
const useCarouselAutoplayButtonStyles_unstable = (state)=>{
'use no memo';
const styles = useStyles();
(0, _reactbutton.useToggleButtonStyles_unstable)(state);
state.root.className = (0, _react.mergeClasses)(carouselAutoplayButtonClassNames.root, styles.root, state.root.className);
if (state.icon) {
state.icon.className = (0, _react.mergeClasses)(carouselAutoplayButtonClassNames.icon, state.icon.className);
}
return state;
};
@@ -0,0 +1 @@
{"version":3,"sources":["useCarouselAutoplayButtonStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { useToggleButtonStyles_unstable } from '@fluentui/react-button';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselAutoplayButtonClassNames = {\n root: 'fui-CarouselAutoplayButton',\n icon: 'fui-CarouselAutoplayButton__icon'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n pointerEvents: 'all',\n marginTop: 'auto',\n marginBottom: 'auto',\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n color: tokens.colorNeutralForeground2,\n backgroundColor: tokens.colorNeutralBackgroundAlpha,\n ':hover': {\n cursor: 'pointer'\n }\n }\n});\n/**\n * Apply styling to the CarouselAutoplayButton slots based on the state\n */ export const useCarouselAutoplayButtonStyles_unstable = (state)=>{\n 'use no memo';\n const styles = useStyles();\n useToggleButtonStyles_unstable(state);\n state.root.className = mergeClasses(carouselAutoplayButtonClassNames.root, styles.root, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(carouselAutoplayButtonClassNames.icon, state.icon.className);\n }\n return state;\n};\n"],"names":["carouselAutoplayButtonClassNames","useCarouselAutoplayButtonStyles_unstable","root","icon","useStyles","__styles","Bkecrkj","B6of3ja","jrapky","g2u3we","h3c5rm","B9xav0g","zhjwy3","sj55zd","De3pzq","eoavqd","d","h","state","styles","useToggleButtonStyles_unstable","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAGaA,gCAAgC;eAAhCA;;IAqBIC,wCAAwC;eAAxCA;;;uBAxBoC;6BACN;AAExC,MAAMD,mCAAmC;IAC5CE,MAAM;IACNC,MAAM;AACV;AACA;;CAEA,GAAI,MAAMC,YAAS,WAAA,GAAGC,IAAAA,eAAA,EAAA;IAAAH,MAAA;QAAAI,SAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,QAAA;YAAA;YAAA;SAAA;QAAAC,SAAA;QAAAC,QAAA;YAAA;YAAA;SAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,QAAA;IAAA;AAAA,GAAA;IAAAC,GAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;KAAA;IAAAC,GAAA;QAAA;KAAA;AAAA;AAeX,MAAMhB,2CAA4CiB,CAAAA;IACzD;IACA,MAAMC,SAASf;IACfgB,IAAAA,2CAA8B,EAACF;IAC/BA,MAAMhB,IAAI,CAACmB,SAAS,GAAGC,IAAAA,mBAAY,EAACtB,iCAAiCE,IAAI,EAAEiB,OAAOjB,IAAI,EAAEgB,MAAMhB,IAAI,CAACmB,SAAS;IAC5G,IAAIH,MAAMf,IAAI,EAAE;QACZe,MAAMf,IAAI,CAACkB,SAAS,GAAGC,IAAAA,mBAAY,EAACtB,iCAAiCG,IAAI,EAAEe,MAAMf,IAAI,CAACkB,SAAS;IACnG;IACA,OAAOH;AACX"}
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CarouselButton", {
enumerable: true,
get: function() {
return CarouselButton;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useCarouselButton = require("./useCarouselButton");
const _renderCarouselButton = require("./renderCarouselButton");
const _useCarouselButtonStylesstyles = require("./useCarouselButtonStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const CarouselButton = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarouselButton.useCarouselButton_unstable)(props, ref);
(0, _useCarouselButtonStylesstyles.useCarouselButtonStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselButtonStyles_unstable')(state);
return (0, _renderCarouselButton.renderCarouselButton_unstable)(state);
});
CarouselButton.displayName = 'CarouselButton';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselButton/CarouselButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarouselButton_unstable } from './useCarouselButton';\nimport { renderCarouselButton_unstable } from './renderCarouselButton';\nimport { useCarouselButtonStyles_unstable } from './useCarouselButtonStyles.styles';\nimport type { CarouselButtonProps } from './CarouselButton.types';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A default navigation button that will set value to the next/previous page,\n * driven by it's type 'next' or 'previous'.\n */\nexport const CarouselButton: ForwardRefComponent<CarouselButtonProps> = React.forwardRef((props, ref) => {\n const state = useCarouselButton_unstable(props, ref);\n\n useCarouselButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselButtonStyles_unstable')(state);\n\n return renderCarouselButton_unstable(state);\n});\n\nCarouselButton.displayName = 'CarouselButton';\n"],"names":["CarouselButton","React","forwardRef","props","ref","state","useCarouselButton_unstable","useCarouselButtonStyles_unstable","useCustomStyleHook_unstable","renderCarouselButton_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAYaA;;;eAAAA;;;;iEAZU;mCAEoB;sCACG;+CACG;qCAEL;AAMrC,MAAMA,iBAAAA,WAAAA,GAA2DC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IAC/F,MAAMC,QAAQC,IAAAA,6CAAAA,EAA2BH,OAAOC;IAEhDG,IAAAA,+DAAAA,EAAiCF;IACjCG,IAAAA,gDAAAA,EAA4B,oCAAoCH;IAEhE,OAAOI,IAAAA,mDAAAA,EAA8BJ;AACvC;AAEAL,eAAeU,WAAW,GAAG"}
@@ -0,0 +1,6 @@
/**
* State used in rendering CarouselButton
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselButton/CarouselButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport { ButtonProps, ButtonSlots, ButtonState } from '@fluentui/react-button';\n\nexport type CarouselButtonSlots = ButtonSlots & {\n root: NonNullable<Slot<ARIAButtonSlotProps>>;\n};\n\n/**\n * CarouselButton Props\n */\nexport type CarouselButtonProps = Partial<ButtonProps> &\n ComponentProps<CarouselButtonSlots> & {\n /**\n * Dictates whether button will be of type go next or go previous\n * Default: 'next'\n */\n navType?: 'prev' | 'next';\n };\n\n/**\n * State used in rendering CarouselButton\n */\nexport type CarouselButtonState = ButtonState &\n ComponentState<CarouselButtonSlots> &\n Required<Pick<CarouselButtonProps, 'navType'>>;\n"],"names":[],"rangeMappings":";;","mappings":"AAoBA;;CAEC"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselButton: function() {
return _CarouselButton.CarouselButton;
},
carouselButtonClassNames: function() {
return _useCarouselButtonStylesstyles.carouselButtonClassNames;
},
renderCarouselButton_unstable: function() {
return _renderCarouselButton.renderCarouselButton_unstable;
},
useCarouselButtonStyles_unstable: function() {
return _useCarouselButtonStylesstyles.useCarouselButtonStyles_unstable;
},
useCarouselButton_unstable: function() {
return _useCarouselButton.useCarouselButton_unstable;
}
});
const _CarouselButton = require("./CarouselButton");
const _renderCarouselButton = require("./renderCarouselButton");
const _useCarouselButton = require("./useCarouselButton");
const _useCarouselButtonStylesstyles = require("./useCarouselButtonStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselButton/index.ts"],"sourcesContent":["export { CarouselButton } from './CarouselButton';\nexport type { CarouselButtonProps, CarouselButtonSlots, CarouselButtonState } from './CarouselButton.types';\nexport { renderCarouselButton_unstable } from './renderCarouselButton';\nexport { useCarouselButton_unstable } from './useCarouselButton';\nexport { carouselButtonClassNames, useCarouselButtonStyles_unstable } from './useCarouselButtonStyles.styles';\n"],"names":["CarouselButton","carouselButtonClassNames","renderCarouselButton_unstable","useCarouselButtonStyles_unstable","useCarouselButton_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,cAAc;eAAdA,8BAAc;;IAIdC,wBAAwB;eAAxBA,uDAAwB;;IAFxBC,6BAA6B;eAA7BA,mDAA6B;;IAEHC,gCAAgC;eAAhCA,+DAAgC;;IAD1DC,0BAA0B;eAA1BA,6CAA0B;;;gCAHJ;sCAEe;mCACH;+CACgC"}
@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarouselButton_unstable", {
enumerable: true,
get: function() {
return renderCarouselButton_unstable;
}
});
const _reactutilities = require("@fluentui/react-utilities");
const _reactbutton = require("@fluentui/react-button");
const renderCarouselButton_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
// We render the underlying react-button with injected carousel functionality
return (0, _reactbutton.renderButton_unstable)(state);
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselButton/renderCarouselButton.tsx"],"sourcesContent":["import { assertSlots } from '@fluentui/react-utilities';\nimport type { CarouselButtonState, CarouselButtonSlots } from './CarouselButton.types';\nimport { renderButton_unstable } from '@fluentui/react-button';\n\n/**\n * Render the final JSX of CarouselButton\n */\nexport const renderCarouselButton_unstable = (state: CarouselButtonState) => {\n assertSlots<CarouselButtonSlots>(state);\n\n // We render the underlying react-button with injected carousel functionality\n return renderButton_unstable(state);\n};\n"],"names":["renderCarouselButton_unstable","state","assertSlots","renderButton_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":";;;;+BAOaA;;;eAAAA;;;gCAPe;6BAEU;AAK/B,MAAMA,gCAAgC,CAACC;IAC5CC,IAAAA,2BAAAA,EAAiCD;IAEjC,6EAA6E;IAC7E,OAAOE,IAAAA,kCAAAA,EAAsBF;AAC/B"}
@@ -0,0 +1,89 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselButton_unstable", {
enumerable: true,
get: function() {
return useCarouselButton_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _reactbutton = require("@fluentui/react-button");
const _reacticons = require("@fluentui/react-icons");
const _reactutilities = require("@fluentui/react-utilities");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _CarouselContext = require("../CarouselContext");
const _useCarouselButtonStylesstyles = require("./useCarouselButtonStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const useCarouselButton_unstable = (props, ref)=>{
const { navType = 'next' } = props;
// Locally tracks the total number of slides, will only update if this changes.
const [totalSlides, setTotalSlides] = _react.useState(0);
const { dir } = (0, _reactsharedcontexts.useFluent_unstable)();
const buttonRef = _react.useRef();
const circular = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.circular);
const containerRef = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.containerRef);
const selectPageByDirection = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.selectPageByDirection);
const subscribeForValues = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.subscribeForValues);
const resetAutoplay = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.resetAutoplay);
const isTrailing = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>{
if (circular) {
return false;
}
if (navType === 'prev') {
return ctx.activeIndex === 0;
}
return ctx.activeIndex === totalSlides - 1;
});
const handleClick = (event)=>{
if (event.isDefaultPrevented()) {
return;
}
const nextIndex = selectPageByDirection(event, navType);
let _trailing = false;
if (navType === 'prev') {
_trailing = nextIndex === 0;
} else {
_trailing = nextIndex === totalSlides - 1;
}
if (!circular && _trailing && (containerRef === null || containerRef === void 0 ? void 0 : containerRef.current)) {
// Focus non-disabled element
const buttonRefs = containerRef.current.querySelectorAll(`.${_useCarouselButtonStylesstyles.carouselButtonClassNames.root}`);
buttonRefs.forEach((_buttonRef)=>{
if (_buttonRef !== buttonRef.current) {
_buttonRef.focus();
}
});
}
resetAutoplay();
};
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
return subscribeForValues((data)=>{
setTotalSlides(data.navItemsCount);
});
}, [
subscribeForValues
]);
const nextArrowIcon = dir === 'ltr' ? /*#__PURE__*/ _react.createElement(_reacticons.ChevronRightRegular, null) : /*#__PURE__*/ _react.createElement(_reacticons.ChevronLeftRegular, null);
const prevArrowIcon = dir === 'ltr' ? /*#__PURE__*/ _react.createElement(_reacticons.ChevronLeftRegular, null) : /*#__PURE__*/ _react.createElement(_reacticons.ChevronRightRegular, null);
return {
navType,
// We lean on react-button class to handle styling and icon enhancements
...(0, _reactbutton.useButton_unstable)({
icon: _reactutilities.slot.optional(props.icon, {
defaultProps: {
children: navType === 'next' ? nextArrowIcon : prevArrowIcon
},
renderByDefault: true,
elementType: 'span'
}),
disabled: isTrailing,
tabIndex: isTrailing ? -1 : 0,
'aria-disabled': isTrailing,
appearance: 'subtle',
...props,
onClick: (0, _reactutilities.useEventCallback)((0, _reactutilities.mergeCallbacks)(handleClick, props.onClick))
}, (0, _reactutilities.useMergedRefs)(ref, buttonRef))
};
};
File diff suppressed because one or more lines are too long
@@ -0,0 +1,60 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
carouselButtonClassNames: function() {
return carouselButtonClassNames;
},
useCarouselButtonStyles_unstable: function() {
return useCarouselButtonStyles_unstable;
}
});
const _react = require("@griffel/react");
const _reactbutton = require("@fluentui/react-button");
const carouselButtonClassNames = {
root: 'fui-CarouselButton',
icon: 'fui-CarouselButton__icon'
};
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
B6of3ja: "fgr6219",
jrapky: "f10jk5vf",
sj55zd: "fkfq4zb",
De3pzq: "fkfdr9r",
Bkecrkj: "fc5wo7j",
eoavqd: "f8491dx"
}
}, {
d: [
".fgr6219{margin-top:auto;}",
".f10jk5vf{margin-bottom:auto;}",
".fkfq4zb{color:var(--colorNeutralForeground2);}",
".fkfdr9r{background-color:var(--colorNeutralBackgroundAlpha);}",
".fc5wo7j{pointer-events:all;}"
],
h: [
".f8491dx:hover{cursor:pointer;}"
]
});
const useCarouselButtonStyles_unstable = (state)=>{
'use no memo';
const styles = useStyles();
state = {
...state,
...(0, _reactbutton.useButtonStyles_unstable)(state)
};
state.root.className = (0, _react.mergeClasses)(carouselButtonClassNames.root, styles.root, state.root.className);
if (state.icon) {
state.icon.className = (0, _react.mergeClasses)(carouselButtonClassNames.icon, state.icon.className);
}
return state;
};
@@ -0,0 +1 @@
{"version":3,"sources":["useCarouselButtonStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { useButtonStyles_unstable } from '@fluentui/react-button';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselButtonClassNames = {\n root: 'fui-CarouselButton',\n icon: 'fui-CarouselButton__icon'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n marginTop: 'auto',\n marginBottom: 'auto',\n color: tokens.colorNeutralForeground2,\n backgroundColor: tokens.colorNeutralBackgroundAlpha,\n pointerEvents: 'all',\n ':hover': {\n cursor: 'pointer'\n }\n }\n});\n/**\n * Apply styling to the CarouselButton slots based on the state\n */ export const useCarouselButtonStyles_unstable = (state)=>{\n 'use no memo';\n const styles = useStyles();\n state = {\n ...state,\n ...useButtonStyles_unstable(state)\n };\n state.root.className = mergeClasses(carouselButtonClassNames.root, styles.root, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(carouselButtonClassNames.icon, state.icon.className);\n }\n return state;\n};\n"],"names":["carouselButtonClassNames","useCarouselButtonStyles_unstable","root","icon","useStyles","__styles","B6of3ja","jrapky","sj55zd","De3pzq","Bkecrkj","eoavqd","d","h","state","styles","useButtonStyles_unstable","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAGaA,wBAAwB;eAAxBA;;IAoBIC,gCAAgC;eAAhCA;;;uBAvBwB;6BACA;AAElC,MAAMD,2BAA2B;IACpCE,MAAM;IACNC,MAAM;AACV;AACA;;CAEA,GAAI,MAAMC,YAAS,WAAA,GAAGC,IAAAA,eAAA,EAAA;IAAAH,MAAA;QAAAI,SAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC,QAAA;IAAA;AAAA,GAAA;IAAAC,GAAA;QAAA;QAAA;QAAA;QAAA;QAAA;KAAA;IAAAC,GAAA;QAAA;KAAA;AAAA;AAcX,MAAMZ,mCAAoCa,CAAAA;IACjD;IACA,MAAMC,SAASX;IACfU,QAAQ;QACJ,GAAGA,KAAK;QACR,GAAGE,IAAAA,qCAAwB,EAACF,MAAK;IACrC;IACAA,MAAMZ,IAAI,CAACe,SAAS,GAAGC,IAAAA,mBAAY,EAAClB,yBAAyBE,IAAI,EAAEa,OAAOb,IAAI,EAAEY,MAAMZ,IAAI,CAACe,SAAS;IACpG,IAAIH,MAAMX,IAAI,EAAE;QACZW,MAAMX,IAAI,CAACc,SAAS,GAAGC,IAAAA,mBAAY,EAAClB,yBAAyBG,IAAI,EAAEW,MAAMX,IAAI,CAACc,SAAS;IAC3F;IACA,OAAOH;AACX"}
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CarouselCard", {
enumerable: true,
get: function() {
return CarouselCard;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useCarouselCard = require("./useCarouselCard");
const _renderCarouselCard = require("./renderCarouselCard");
const _useCarouselCardStylesstyles = require("./useCarouselCardStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const CarouselCard = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarouselCard.useCarouselCard_unstable)(props, ref);
(0, _useCarouselCardStylesstyles.useCarouselCardStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselCardStyles_unstable')(state);
return (0, _renderCarouselCard.renderCarouselCard_unstable)(state);
});
CarouselCard.displayName = 'CarouselCard';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselCard/CarouselCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarouselCard_unstable } from './useCarouselCard';\nimport { renderCarouselCard_unstable } from './renderCarouselCard';\nimport { useCarouselCardStyles_unstable } from './useCarouselCardStyles.styles';\nimport type { CarouselCardProps } from './CarouselCard.types';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The defining wrapper of a carousel's indexed content, they will take up the full\n * viewport of CarouselSlider or div wrapper,\n * users may place multiple items within this Card if desired, with consideration of viewport width.\n *\n * Clickable actions within the content area are available via mouse and tab as expected,\n * non-active card content will be set to inert until moved to active card.\n */\nexport const CarouselCard: ForwardRefComponent<CarouselCardProps> = React.forwardRef((props, ref) => {\n const state = useCarouselCard_unstable(props, ref);\n\n useCarouselCardStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselCardStyles_unstable')(state);\n\n return renderCarouselCard_unstable(state);\n});\n\nCarouselCard.displayName = 'CarouselCard';\n"],"names":["CarouselCard","React","forwardRef","props","ref","state","useCarouselCard_unstable","useCarouselCardStyles_unstable","useCustomStyleHook_unstable","renderCarouselCard_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAgBaA;;;eAAAA;;;;iEAhBU;iCAEkB;oCACG;6CACG;qCAEH;AAUrC,MAAMA,eAAAA,WAAAA,GAAuDC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IAC3F,MAAMC,QAAQC,IAAAA,yCAAAA,EAAyBH,OAAOC;IAE9CG,IAAAA,2DAAAA,EAA+BF;IAC/BG,IAAAA,gDAAAA,EAA4B,kCAAkCH;IAE9D,OAAOI,IAAAA,+CAAAA,EAA4BJ;AACrC;AAEAL,aAAaU,WAAW,GAAG"}
@@ -0,0 +1,6 @@
/**
* State used in rendering CarouselCard
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselCard/CarouselCard.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type CarouselCardSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * CarouselCard Props\n */\nexport type CarouselCardProps = ComponentProps<CarouselCardSlots> & {\n /**\n * Sets the card styling to be responsive based on content.\n */\n autoSize?: boolean;\n};\n\n/**\n * State used in rendering CarouselCard\n */\nexport type CarouselCardState = ComponentState<CarouselCardSlots> & Pick<CarouselCardProps, 'autoSize'>;\n"],"names":[],"rangeMappings":";;","mappings":"AAgBA;;CAEC"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselCard: function() {
return _CarouselCard.CarouselCard;
},
carouselCardClassNames: function() {
return _useCarouselCardStylesstyles.carouselCardClassNames;
},
renderCarouselCard_unstable: function() {
return _renderCarouselCard.renderCarouselCard_unstable;
},
useCarouselCardStyles_unstable: function() {
return _useCarouselCardStylesstyles.useCarouselCardStyles_unstable;
},
useCarouselCard_unstable: function() {
return _useCarouselCard.useCarouselCard_unstable;
}
});
const _CarouselCard = require("./CarouselCard");
const _renderCarouselCard = require("./renderCarouselCard");
const _useCarouselCard = require("./useCarouselCard");
const _useCarouselCardStylesstyles = require("./useCarouselCardStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselCard/index.ts"],"sourcesContent":["export { CarouselCard } from './CarouselCard';\nexport type { CarouselCardProps, CarouselCardSlots, CarouselCardState } from './CarouselCard.types';\nexport { renderCarouselCard_unstable } from './renderCarouselCard';\nexport { useCarouselCard_unstable } from './useCarouselCard';\nexport { carouselCardClassNames, useCarouselCardStyles_unstable } from './useCarouselCardStyles.styles';\n"],"names":["CarouselCard","carouselCardClassNames","renderCarouselCard_unstable","useCarouselCardStyles_unstable","useCarouselCard_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,YAAY;eAAZA,0BAAY;;IAIZC,sBAAsB;eAAtBA,mDAAsB;;IAFtBC,2BAA2B;eAA3BA,+CAA2B;;IAEHC,8BAA8B;eAA9BA,2DAA8B;;IADtDC,wBAAwB;eAAxBA,yCAAwB;;;8BAHJ;oCAEe;iCACH;6CAC8B"}
@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarouselCard_unstable", {
enumerable: true,
get: function() {
return renderCarouselCard_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const renderCarouselCard_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {});
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselCard/renderCarouselCard.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { CarouselCardState, CarouselCardSlots } from './CarouselCard.types';\n\n/**\n * Render the final JSX of CarouselCard\n */\nexport const renderCarouselCard_unstable = (state: CarouselCardState) => {\n assertSlots<CarouselCardSlots>(state);\n\n return <state.root />;\n};\n"],"names":["renderCarouselCard_unstable","state","assertSlots","_jsx","root"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":";;;;+BASaA;;;eAAAA;;;4BARb;gCAE4B;AAMrB,MAAMA,8BAA8B,CAACC;IAC1CC,IAAAA,2BAAAA,EAA+BD;IAE/B,OAAA,WAAA,GAAOE,IAAAA,eAAA,EAACF,MAAMG,IAAI,EAAA,CAAA;AACpB"}
@@ -0,0 +1,100 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselCard_unstable", {
enumerable: true,
get: function() {
return useCarouselCard_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _reacttabster = require("@fluentui/react-tabster");
const _reactutilities = require("@fluentui/react-utilities");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _CarouselContext = require("../CarouselContext");
const _useEmblaCarousel = require("../useEmblaCarousel");
const _useCarouselCardStylesstyles = require("./useCarouselCardStyles.styles");
const _CarouselSliderContext = require("../CarouselSlider/CarouselSliderContext");
const useCarouselCard_unstable = (props, ref)=>{
const { autoSize } = props;
const elementRef = _react.useRef(null);
const isMouseEvent = _react.useRef(false);
const selectPageByElement = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.selectPageByElement);
const containerRef = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.containerRef);
const { cardFocus } = (0, _CarouselSliderContext.useCarouselSliderContext)();
const focusAttr = (0, _reacttabster.useFocusableGroup)({
tabBehavior: 'limited'
});
const focusAttrProps = cardFocus ? {
...focusAttr,
tabIndex: 0
} : {};
// We attach a unique card id if user does not provide
const id = (0, _reactutilities.useId)(_useCarouselCardStylesstyles.carouselCardClassNames.root, props.id);
_react.useEffect(()=>{
const element = elementRef.current;
if (element) {
const listener = (_e)=>{
const event = _e;
// When there is no tab index present, only current cards should be visible to accessibility
if (!cardFocus) {
const hidden = !event.detail.isVisible;
element.ariaHidden = hidden.toString();
element.inert = hidden;
}
};
element.addEventListener(_useEmblaCarousel.EMBLA_VISIBILITY_EVENT, listener);
return ()=>{
element.removeEventListener(_useEmblaCarousel.EMBLA_VISIBILITY_EVENT, listener);
};
}
}, [
cardFocus
]);
const handleFocus = _react.useCallback((e)=>{
if (!e.defaultPrevented && (0, _reactutilities.isHTMLElement)(e.currentTarget) && !isMouseEvent.current) {
var _containerRef_current;
containerRef === null || containerRef === void 0 ? void 0 : (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.scrollTo(0, 0);
selectPageByElement(e, e.currentTarget, false);
}
// Mouse focus event has been consumed
isMouseEvent.current = false;
}, [
selectPageByElement,
containerRef
]);
const handlePointerDown = (e)=>{
if (!e.defaultPrevented) {
isMouseEvent.current = true;
}
};
const handlePointerUp = (e)=>{
if (!e.defaultPrevented) {
isMouseEvent.current = false;
}
};
const onFocusCapture = (0, _reactutilities.mergeCallbacks)(props.onFocusCapture, handleFocus);
const onPointerUp = (0, _reactutilities.mergeCallbacks)(props.onPointerUp, handlePointerUp);
const onPointerDown = (0, _reactutilities.mergeCallbacks)(props.onPointerDown, handlePointerDown);
const state = {
autoSize,
components: {
root: 'div'
},
root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
ref: (0, _reactutilities.useMergedRefs)(elementRef, ref),
role: 'tabpanel',
tabIndex: cardFocus ? 0 : undefined,
...props,
id,
onFocusCapture,
onPointerUp,
onPointerDown,
...focusAttrProps
}), {
elementType: 'div'
})
};
return state;
};
File diff suppressed because one or more lines are too long
@@ -0,0 +1,67 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
carouselCardClassNames: function() {
return carouselCardClassNames;
},
useCarouselCardStyles_unstable: function() {
return useCarouselCardStyles_unstable;
}
});
const _react = require("@griffel/react");
const carouselCardClassNames = {
root: 'fui-CarouselCard'
};
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
xawz: 0,
Bh6795r: 0,
Bnnss6s: 0,
fkmc3a: "fg68ejw",
B2u0y6b: "f6dzj5z"
},
autoSize: {
xawz: 0,
Bh6795r: 0,
Bnnss6s: 0,
fkmc3a: "fd9q35j",
Bf4jedk: "fy77jfu",
a9b677: "f14z66ap",
B2u0y6b: "f6dzj5z"
}
}, {
d: [
[
".fg68ejw{flex:0 0 100%;}",
{
p: -1
}
],
".f6dzj5z{max-width:100%;}",
[
".fd9q35j{flex:0 0 auto;}",
{
p: -1
}
],
".fy77jfu{min-width:0;}",
".f14z66ap{width:auto;}"
]
});
const useCarouselCardStyles_unstable = (state)=>{
'use no memo';
const { autoSize } = state;
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(carouselCardClassNames.root, styles.root, autoSize && styles.autoSize, state.root.className);
return state;
};
@@ -0,0 +1 @@
{"version":3,"sources":["useCarouselCardStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nexport const carouselCardClassNames = {\n root: 'fui-CarouselCard'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n flex: '0 0 100%',\n maxWidth: '100%'\n },\n autoSize: {\n flex: '0 0 auto' /* Adapt slide size to its content */ ,\n minWidth: 0,\n width: 'auto',\n maxWidth: '100%'\n }\n});\n/**\n * Apply styling to the CarouselCard slots based on the state\n */ export const useCarouselCardStyles_unstable = (state)=>{\n 'use no memo';\n const { autoSize } = state;\n const styles = useStyles();\n state.root.className = mergeClasses(carouselCardClassNames.root, styles.root, autoSize && styles.autoSize, state.root.className);\n return state;\n};\n"],"names":["carouselCardClassNames","useCarouselCardStyles_unstable","root","useStyles","__styles","xawz","Bh6795r","Bnnss6s","fkmc3a","B2u0y6b","autoSize","Bf4jedk","a9b677","d","p","state","styles","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IACaA,sBAAsB;eAAtBA;;IAmBIC,8BAA8B;eAA9BA;;;uBApBwB;AAClC,MAAMD,yBAAyB;IAClCE,MAAM;AACV;AACA;;CAEA,GAAI,MAAMC,YAAS,WAAA,GAAGC,IAAAA,eAAA,EAAA;IAAAF,MAAA;QAAAG,MAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,SAAA;IAAA;IAAAC,UAAA;QAAAL,MAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAG,SAAA;QAAAC,QAAA;QAAAH,SAAA;IAAA;AAAA,GAAA;IAAAI,GAAA;QAAA;YAAA;YAAA;gBAAAC,GAAA,CAAA;YAAA;SAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,GAAA,CAAA;YAAA;SAAA;QAAA;QAAA;KAAA;AAAA;AAcX,MAAMb,iCAAkCc,CAAAA;IAC/C;IACA,MAAM,EAAEL,QAAAA,EAAU,GAAGK;IACrB,MAAMC,SAASb;IACfY,MAAMb,IAAI,CAACe,SAAS,GAAGC,IAAAA,mBAAY,EAAClB,uBAAuBE,IAAI,EAAEc,OAAOd,IAAI,EAAEQ,YAAYM,OAAON,QAAQ,EAAEK,MAAMb,IAAI,CAACe,SAAS;IAC/H,OAAOF;AACX"}
@@ -0,0 +1,45 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselProvider: function() {
return CarouselProvider;
},
carouselContextDefaultValue: function() {
return carouselContextDefaultValue;
},
useCarouselContext_unstable: function() {
return useCarouselContext_unstable;
}
});
const _reactcontextselector = require("@fluentui/react-context-selector");
const carouselContextDefaultValue = {
activeIndex: 0,
selectPageByElement: ()=>{
return 0;
},
selectPageByDirection: ()=>{
return 0;
},
selectPageByIndex: ()=>{
/** noop */ },
subscribeForValues: ()=>()=>{
/** noop */ },
enableAutoplay: ()=>{
/** noop */ },
resetAutoplay: ()=>{
/** noop */ },
circular: false,
containerRef: undefined,
viewportRef: undefined
};
const CarouselContext = (0, _reactcontextselector.createContext)(undefined);
const CarouselProvider = CarouselContext.Provider;
const useCarouselContext_unstable = (selector)=>(0, _reactcontextselector.useContextSelector)(CarouselContext, (ctx = carouselContextDefaultValue)=>selector(ctx));
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselContext.ts"],"sourcesContent":["import { ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport type { CarouselContextValue } from './CarouselContext.types';\n\nexport const carouselContextDefaultValue: CarouselContextValue = {\n activeIndex: 0,\n selectPageByElement: () => {\n return 0;\n },\n selectPageByDirection: () => {\n return 0;\n },\n selectPageByIndex: () => {\n /** noop */\n },\n subscribeForValues: () => () => {\n /** noop */\n },\n enableAutoplay: () => {\n /** noop */\n },\n resetAutoplay: () => {\n /** noop */\n },\n circular: false,\n containerRef: undefined,\n viewportRef: undefined,\n};\n\nconst CarouselContext = createContext<CarouselContextValue | undefined>(undefined);\n\nexport const CarouselProvider = CarouselContext.Provider;\n\nexport const useCarouselContext_unstable = <T>(selector: ContextSelector<CarouselContextValue, T>): T =>\n useContextSelector(CarouselContext, (ctx = carouselContextDefaultValue) => selector(ctx));\n"],"names":["CarouselProvider","carouselContextDefaultValue","useCarouselContext_unstable","activeIndex","selectPageByElement","selectPageByDirection","selectPageByIndex","subscribeForValues","enableAutoplay","resetAutoplay","circular","containerRef","undefined","viewportRef","CarouselContext","createContext","Provider","selector","useContextSelector","ctx"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IA8BaA,gBAAAA;eAAAA;;IA3BAC,2BAAAA;eAAAA;;IA6BAC,2BAAAA;eAAAA;;;sCAhCsD;AAG5D,MAAMD,8BAAoD;IAC/DE,aAAa;IACbC,qBAAqB;QACnB,OAAO;IACT;IACAC,uBAAuB;QACrB,OAAO;IACT;IACAC,mBAAmB;IACjB,SAAS,GACX;IACAC,oBAAoB,IAAM;QACxB,SAAS,GACX;IACAC,gBAAgB;IACd,SAAS,GACX;IACAC,eAAe;IACb,SAAS,GACX;IACAC,UAAU;IACVC,cAAcC;IACdC,aAAaD;AACf;AAEA,MAAME,kBAAkBC,IAAAA,mCAAAA,EAAgDH;AAEjE,MAAMZ,mBAAmBc,gBAAgBE,QAAQ;AAEjD,MAAMd,8BAA8B,CAAIe,WAC7CC,IAAAA,wCAAAA,EAAmBJ,iBAAiB,CAACK,MAAMlB,2BAA2B,GAAKgB,SAASE"}
@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselContext.types.ts"],"sourcesContent":["import type { EventData } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nimport type { CarouselUpdateData } from '../Carousel';\n\nexport type CarouselIndexChangeData = (\n | EventData<'click', React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>>\n | EventData<'focus', React.FocusEvent>\n | EventData<'drag', PointerEvent | MouseEvent>\n | EventData<'autoplay', Event>\n) & {\n /**\n * The index to be set after event has occurred.\n */\n index: number;\n};\n\nexport type CarouselContextValue = {\n activeIndex: number;\n circular: boolean;\n selectPageByElement: (event: React.FocusEvent, element: HTMLElement, jump?: boolean) => number;\n selectPageByDirection: (\n event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>,\n direction: 'next' | 'prev',\n ) => number;\n selectPageByIndex: (\n event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>,\n value: number,\n jump?: boolean,\n ) => void;\n subscribeForValues: (listener: (data: CarouselUpdateData) => void) => () => void;\n enableAutoplay: (autoplay: boolean, temporary?: boolean) => void;\n resetAutoplay: () => void;\n // Container with controls passed to carousel engine\n containerRef?: React.RefObject<HTMLDivElement>;\n // Viewport without controls used for interactive functionality (draggable, pause autoplay etc.)\n viewportRef?: React.RefObject<HTMLDivElement>;\n};\n\n/**\n * Context shared between Carousel and its children components\n */\nexport type CarouselContextValues = {\n carousel: CarouselContextValue;\n};\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;iEACuB"}
@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CarouselNav", {
enumerable: true,
get: function() {
return CarouselNav;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _CarouselNavContext = require("./CarouselNavContext");
const _renderCarouselNav = require("./renderCarouselNav");
const _useCarouselNav = require("./useCarouselNav");
const _useCarouselNavStylesstyles = require("./useCarouselNavStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const CarouselNav = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarouselNav.useCarouselNav_unstable)(props, ref);
const contextValues = (0, _CarouselNavContext.useCarouselNavContextValues_unstable)(state);
(0, _useCarouselNavStylesstyles.useCarouselNavStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselNavStyles_unstable')(state);
return (0, _renderCarouselNav.renderCarouselNav_unstable)(state, contextValues);
});
CarouselNav.displayName = 'CarouselNav';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNav/CarouselNav.tsx"],"sourcesContent":["import type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nimport type { CarouselNavProps } from './CarouselNav.types';\nimport { useCarouselNavContextValues_unstable } from './CarouselNavContext';\nimport { renderCarouselNav_unstable } from './renderCarouselNav';\nimport { useCarouselNav_unstable } from './useCarouselNav';\nimport { useCarouselNavStyles_unstable } from './useCarouselNavStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Used to jump to a card based on index, using arrow navigation via Tabster.\n *\n * The children of this component will be wrapped in a context to\n * provide the appropriate value based on their index position.\n */\nexport const CarouselNav: ForwardRefComponent<CarouselNavProps> = React.forwardRef((props, ref) => {\n const state = useCarouselNav_unstable(props, ref);\n const contextValues = useCarouselNavContextValues_unstable(state);\n\n useCarouselNavStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselNavStyles_unstable')(state);\n\n return renderCarouselNav_unstable(state, contextValues);\n});\n\nCarouselNav.displayName = 'CarouselNav';\n"],"names":["CarouselNav","React","forwardRef","props","ref","state","useCarouselNav_unstable","contextValues","useCarouselNavContextValues_unstable","useCarouselNavStyles_unstable","useCustomStyleHook_unstable","renderCarouselNav_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAgBaA;;;eAAAA;;;;iEAfU;oCAG8B;mCACV;gCACH;4CACM;qCACF;AAQrC,MAAMA,cAAAA,WAAAA,GAAqDC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IACzF,MAAMC,QAAQC,IAAAA,uCAAAA,EAAwBH,OAAOC;IAC7C,MAAMG,gBAAgBC,IAAAA,wDAAAA,EAAqCH;IAE3DI,IAAAA,yDAAAA,EAA8BJ;IAC9BK,IAAAA,gDAAAA,EAA4B,iCAAiCL;IAE7D,OAAOM,IAAAA,6CAAAA,EAA2BN,OAAOE;AAC3C;AAEAP,YAAYY,WAAW,GAAG"}
@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNav/CarouselNav.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nexport type CarouselNavSlots = {\n /**\n * The element wrapping the carousel pagination. By default, this is a div.\n */\n root: NonNullable<Slot<'div'>>;\n};\n\nexport type NavButtonRenderFunction = (index: number) => React.ReactNode;\n\nexport type CarouselNavState = ComponentState<CarouselNavSlots> & {\n /**\n * Enables an alternate brand style when set to 'brand'\n */\n appearance?: 'brand';\n\n /**\n * The function that will render nav items based on total slides and their index.\n */\n renderNavButton: NavButtonRenderFunction;\n\n /**\n * The total number of slides available.\n * Users may override if using the component without a Carousel wrapper or implementing custom functionality.\n */\n totalSlides: number;\n};\n\nexport type CarouselNavProps = Omit<ComponentProps<Partial<CarouselNavSlots>>, 'children'> & {\n children: NavButtonRenderFunction;\n} & Partial<Pick<CarouselNavState, 'appearance' | 'totalSlides'>>;\n\nexport type CarouselNavContextValue = Pick<CarouselNavState, 'appearance'>;\n"],"names":[],"rangeMappings":";;;;;","mappings":";;;;;iEACuB"}
@@ -0,0 +1,46 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselNavContextProvider: function() {
return CarouselNavContextProvider;
},
carouselNavContextDefaultValue: function() {
return carouselNavContextDefaultValue;
},
useCarouselNavContext: function() {
return useCarouselNavContext;
},
useCarouselNavContextValues_unstable: function() {
return useCarouselNavContextValues_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const carouselNavContext = /*#__PURE__*/ _react.createContext(undefined);
const carouselNavContextDefaultValue = {
appearance: undefined
};
const useCarouselNavContext = ()=>{
var _React_useContext;
return (_React_useContext = _react.useContext(carouselNavContext)) !== null && _React_useContext !== void 0 ? _React_useContext : carouselNavContextDefaultValue;
};
const CarouselNavContextProvider = carouselNavContext.Provider;
function useCarouselNavContextValues_unstable(state) {
const { appearance } = state;
const carouselNav = _react.useMemo(()=>({
appearance
}), [
appearance
]);
return {
carouselNav
};
}
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNav/CarouselNavContext.ts"],"sourcesContent":["import * as React from 'react';\nimport type { CarouselNavContextValue, CarouselNavState } from './CarouselNav.types';\n\nconst carouselNavContext = React.createContext<CarouselNavContextValue | undefined>(undefined);\n\nexport const carouselNavContextDefaultValue: CarouselNavContextValue = {\n appearance: undefined,\n};\n\nexport const useCarouselNavContext = () => React.useContext(carouselNavContext) ?? carouselNavContextDefaultValue;\n\nexport const CarouselNavContextProvider = carouselNavContext.Provider;\n\n/**\n * Context shared between CarouselNav and its children components\n */\nexport type CarouselNavContextValues = {\n carouselNav: CarouselNavContextValue;\n};\n\nexport function useCarouselNavContextValues_unstable(state: CarouselNavState): CarouselNavContextValues {\n const { appearance } = state;\n const carouselNav = React.useMemo(() => ({ appearance }), [appearance]);\n\n return { carouselNav };\n}\n"],"names":["CarouselNavContextProvider","carouselNavContextDefaultValue","useCarouselNavContext","useCarouselNavContextValues_unstable","carouselNavContext","React","createContext","undefined","appearance","useContext","Provider","state","carouselNav","useMemo"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAWaA,0BAAAA;eAAAA;;IANAC,8BAAAA;eAAAA;;IAIAC,qBAAAA;eAAAA;;IAWGC,oCAAAA;eAAAA;;;;iEApBO;AAGvB,MAAMC,mCAAqBC,OAAMC,aAAa,CAAsCC;AAE7E,MAAMN,iCAA0D;IACrEO,YAAYD;AACd;AAEO,MAAML,wBAAwB;QAAMG;WAAAA,CAAAA,oBAAAA,OAAMI,UAAU,CAACL,mBAAAA,MAAAA,QAAjBC,sBAAAA,KAAAA,IAAAA,oBAAwCJ;AAA6B;AAEzG,MAAMD,6BAA6BI,mBAAmBM,QAAQ;AAS9D,SAASP,qCAAqCQ,KAAuB;IAC1E,MAAM,EAAEH,UAAU,EAAE,GAAGG;IACvB,MAAMC,cAAcP,OAAMQ,OAAO,CAAC,IAAO,CAAA;YAAEL;QAAW,CAAA,GAAI;QAACA;KAAW;IAEtE,OAAO;QAAEI;IAAY;AACvB"}
@@ -0,0 +1,30 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselNavIndexContextProvider: function() {
return CarouselNavIndexContextProvider;
},
carouselNavIndexContextDefaultValue: function() {
return carouselNavIndexContextDefaultValue;
},
useCarouselNavIndexContext: function() {
return useCarouselNavIndexContext;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const carouselNavIndexContext = /*#__PURE__*/ _react.createContext(undefined);
const carouselNavIndexContextDefaultValue = 0;
const useCarouselNavIndexContext = ()=>{
var _React_useContext;
return (_React_useContext = _react.useContext(carouselNavIndexContext)) !== null && _React_useContext !== void 0 ? _React_useContext : carouselNavIndexContextDefaultValue;
};
const CarouselNavIndexContextProvider = carouselNavIndexContext.Provider;
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNav/CarouselNavIndexContext.ts"],"sourcesContent":["import * as React from 'react';\n\nconst carouselNavIndexContext = React.createContext<number | undefined>(undefined);\n\nexport const carouselNavIndexContextDefaultValue: number = 0;\n\nexport const useCarouselNavIndexContext = () =>\n React.useContext(carouselNavIndexContext) ?? carouselNavIndexContextDefaultValue;\n\nexport const CarouselNavIndexContextProvider = carouselNavIndexContext.Provider;\n"],"names":["CarouselNavIndexContextProvider","carouselNavIndexContextDefaultValue","useCarouselNavIndexContext","carouselNavIndexContext","React","createContext","undefined","useContext","Provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IASaA,+BAAAA;eAAAA;;IALAC,mCAAAA;eAAAA;;IAEAC,0BAAAA;eAAAA;;;;iEANU;AAEvB,MAAMC,wCAA0BC,OAAMC,aAAa,CAAqBC;AAEjE,MAAML,sCAA8C;AAEpD,MAAMC,6BAA6B;QACxCE;WAAAA,CAAAA,oBAAAA,OAAMG,UAAU,CAACJ,wBAAAA,MAAAA,QAAjBC,sBAAAA,KAAAA,IAAAA,oBAA6CH;AAAkC;AAE1E,MAAMD,kCAAkCG,wBAAwBK,QAAQ"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselNav: function() {
return _CarouselNav.CarouselNav;
},
carouselNavClassNames: function() {
return _useCarouselNavStylesstyles.carouselNavClassNames;
},
renderCarouselNav_unstable: function() {
return _renderCarouselNav.renderCarouselNav_unstable;
},
useCarouselNavStyles_unstable: function() {
return _useCarouselNavStylesstyles.useCarouselNavStyles_unstable;
},
useCarouselNav_unstable: function() {
return _useCarouselNav.useCarouselNav_unstable;
}
});
const _CarouselNav = require("./CarouselNav");
const _renderCarouselNav = require("./renderCarouselNav");
const _useCarouselNav = require("./useCarouselNav");
const _useCarouselNavStylesstyles = require("./useCarouselNavStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNav/index.ts"],"sourcesContent":["export { CarouselNav } from './CarouselNav';\nexport type {\n CarouselNavContextValue,\n CarouselNavProps,\n CarouselNavSlots,\n CarouselNavState,\n NavButtonRenderFunction,\n} from './CarouselNav.types';\nexport { renderCarouselNav_unstable } from './renderCarouselNav';\nexport { useCarouselNav_unstable } from './useCarouselNav';\nexport { carouselNavClassNames, useCarouselNavStyles_unstable } from './useCarouselNavStyles.styles';\n"],"names":["CarouselNav","carouselNavClassNames","renderCarouselNav_unstable","useCarouselNavStyles_unstable","useCarouselNav_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,WAAW;eAAXA,wBAAW;;IAUXC,qBAAqB;eAArBA,iDAAqB;;IAFrBC,0BAA0B;eAA1BA,6CAA0B;;IAEHC,6BAA6B;eAA7BA,yDAA6B;;IADpDC,uBAAuB;eAAvBA,uCAAuB;;;6BATJ;mCAQe;gCACH;4CAC6B"}
@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarouselNav_unstable", {
enumerable: true,
get: function() {
return renderCarouselNav_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const _CarouselNavContext = require("./CarouselNavContext");
const _CarouselNavIndexContext = require("./CarouselNavIndexContext");
const renderCarouselNav_unstable = (state, contextValues)=>{
(0, _reactutilities.assertSlots)(state);
const { totalSlides, renderNavButton } = state;
return /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CarouselNavContext.CarouselNavContextProvider, {
value: contextValues.carouselNav,
children: new Array(totalSlides).fill(null).map((_, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CarouselNavIndexContext.CarouselNavIndexContextProvider, {
value: index,
children: renderNavButton(index)
}, index))
})
});
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNav/renderCarouselNav.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\n\nimport type { CarouselNavState, CarouselNavSlots } from './CarouselNav.types';\nimport { CarouselNavContextProvider, type CarouselNavContextValues } from './CarouselNavContext';\nimport { CarouselNavIndexContextProvider } from './CarouselNavIndexContext';\n\n/**\n * Render the final JSX of CarouselNav\n */\nexport const renderCarouselNav_unstable = (state: CarouselNavState, contextValues: CarouselNavContextValues) => {\n assertSlots<CarouselNavSlots>(state);\n\n const { totalSlides, renderNavButton } = state;\n\n return (\n <state.root>\n <CarouselNavContextProvider value={contextValues.carouselNav}>\n {new Array(totalSlides).fill(null).map((_, index) => (\n <CarouselNavIndexContextProvider key={index} value={index}>\n {renderNavButton(index)}\n </CarouselNavIndexContextProvider>\n ))}\n </CarouselNavContextProvider>\n </state.root>\n );\n};\n"],"names":["renderCarouselNav_unstable","state","contextValues","assertSlots","totalSlides","renderNavButton","_jsx","root","CarouselNavContextProvider","value","carouselNav","Array","fill","map","_","index","CarouselNavIndexContextProvider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAYaA;;;eAAAA;;;4BAXb;gCAE4B;oCAG8C;yCAC1B;AAKzC,MAAMA,6BAA6B,CAACC,OAAyBC;IAClEC,IAAAA,2BAAAA,EAA8BF;IAE9B,MAAM,EAAEG,WAAW,EAAEC,eAAe,EAAE,GAAGJ;IAEzC,OAAA,WAAA,GACEK,IAAAA,eAAA,EAACL,MAAMM,IAAI,EAAA;kBACT,WAAA,GAAAD,IAAAA,eAAA,EAACE,8CAAAA,EAAAA;YAA2BC,OAAOP,cAAcQ,WAAW;sBACzD,IAAIC,MAAMP,aAAaQ,IAAI,CAAC,MAAMC,GAAG,CAAC,CAACC,GAAGC,QAAAA,WAAAA,GACzCT,IAAAA,eAAA,EAACU,wDAAAA,EAAAA;oBAA4CP,OAAOM;8BACjDV,gBAAgBU;mBADmBA;;;AAOhD"}
@@ -0,0 +1,56 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselNav_unstable", {
enumerable: true,
get: function() {
return useCarouselNav_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _reacttabster = require("@fluentui/react-tabster");
const _reactutilities = require("@fluentui/react-utilities");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _CarouselContext = require("../CarouselContext");
const useCarouselNav_unstable = (props, ref)=>{
const { appearance } = props;
const focusableGroupAttr = (0, _reacttabster.useArrowNavigationGroup)({
circular: false,
axis: 'horizontal',
memorizeCurrent: false,
// eslint-disable-next-line @typescript-eslint/naming-convention
unstable_hasDefault: true
});
// Users can choose controlled or uncontrolled, if uncontrolled, the default is initialized by carousel context
const [totalSlides, setTotalSlides] = (0, _reactutilities.useControllableState)({
state: props.totalSlides,
initialState: 0
});
const subscribeForValues = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.subscribeForValues);
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
return subscribeForValues((data)=>{
setTotalSlides(data.navItemsCount);
});
}, [
subscribeForValues,
setTotalSlides
]);
return {
totalSlides,
appearance,
renderNavButton: props.children,
components: {
root: 'div'
},
root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
ref,
role: 'tablist',
...props,
...focusableGroupAttr,
children: null
}), {
elementType: 'div'
})
};
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNav/useCarouselNav.ts"],"sourcesContent":["import { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, slot, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nimport { useCarouselContext_unstable as useCarouselContext } from '../CarouselContext';\nimport type { CarouselNavProps, CarouselNavState } from './CarouselNav.types';\nimport { useControllableState } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render CarouselNav.\n *\n * The returned state can be modified with hooks such as useCarouselNavStyles_unstable,\n * before being passed to renderCarouselNav_unstable.\n *\n * @param props - props from this instance of CarouselNav\n * @param ref - reference to root HTMLDivElement of CarouselNav\n */\nexport const useCarouselNav_unstable = (props: CarouselNavProps, ref: React.Ref<HTMLDivElement>): CarouselNavState => {\n const { appearance } = props;\n\n const focusableGroupAttr = useArrowNavigationGroup({\n circular: false,\n axis: 'horizontal',\n memorizeCurrent: false,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_hasDefault: true,\n });\n\n // Users can choose controlled or uncontrolled, if uncontrolled, the default is initialized by carousel context\n const [totalSlides, setTotalSlides] = useControllableState({\n state: props.totalSlides,\n initialState: 0,\n });\n\n const subscribeForValues = useCarouselContext(ctx => ctx.subscribeForValues);\n\n useIsomorphicLayoutEffect(() => {\n return subscribeForValues(data => {\n setTotalSlides(data.navItemsCount);\n });\n }, [subscribeForValues, setTotalSlides]);\n\n return {\n totalSlides,\n appearance,\n renderNavButton: props.children,\n components: {\n root: 'div',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\n role: 'tablist',\n ...props,\n ...focusableGroupAttr,\n children: null,\n }),\n { elementType: 'div' },\n ),\n };\n};\n"],"names":["useCarouselNav_unstable","props","ref","appearance","focusableGroupAttr","useArrowNavigationGroup","circular","axis","memorizeCurrent","unstable_hasDefault","totalSlides","setTotalSlides","useControllableState","state","initialState","subscribeForValues","useCarouselContext","ctx","useIsomorphicLayoutEffect","data","navItemsCount","renderNavButton","children","components","root","slot","always","getIntrinsicElementProps","role","elementType"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAiBaA;;;eAAAA;;;;8BAjB2B;gCACkC;iEACnD;iCAE2C;AAa3D,MAAMA,0BAA0B,CAACC,OAAyBC;IAC/D,MAAM,EAAEC,UAAU,EAAE,GAAGF;IAEvB,MAAMG,qBAAqBC,IAAAA,qCAAAA,EAAwB;QACjDC,UAAU;QACVC,MAAM;QACNC,iBAAiB;QACjB,gEAAgE;QAChEC,qBAAqB;IACvB;IAEA,+GAA+G;IAC/G,MAAM,CAACC,aAAaC,eAAe,GAAGC,IAAAA,oCAAAA,EAAqB;QACzDC,OAAOZ,MAAMS,WAAW;QACxBI,cAAc;IAChB;IAEA,MAAMC,qBAAqBC,IAAAA,4CAAAA,EAAmBC,CAAAA,MAAOA,IAAIF,kBAAkB;IAE3EG,IAAAA,yCAAAA,EAA0B;QACxB,OAAOH,mBAAmBI,CAAAA;YACxBR,eAAeQ,KAAKC,aAAa;QACnC;IACF,GAAG;QAACL;QAAoBJ;KAAe;IAEvC,OAAO;QACLD;QACAP;QACAkB,iBAAiBpB,MAAMqB,QAAQ;QAC/BC,YAAY;YACVC,MAAM;QACR;QACAA,MAAMC,oBAAAA,CAAKC,MAAM,CACfC,IAAAA,wCAAAA,EAAyB,OAAO;YAC9BzB;YACA0B,MAAM;YACN,GAAG3B,KAAK;YACR,GAAGG,kBAAkB;YACrBkB,UAAU;QACZ,IACA;YAAEO,aAAa;QAAM;IAEzB;AACF"}
@@ -0,0 +1,106 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
carouselNavClassNames: function() {
return carouselNavClassNames;
},
useCarouselNavStyles_unstable: function() {
return useCarouselNavStyles_unstable;
}
});
const _react = require("@griffel/react");
const carouselNavClassNames = {
root: 'fui-CarouselNav'
};
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
mc9l5x: "f22iagw",
Beiy3e4: "f1063pyq",
Bt984gj: "f122n59",
Brf1p80: "f4d9j23",
Bkecrkj: "fc5wo7j",
Bfpq7zp: 0,
g9k6zt: 0,
Bn4voq9: 0,
giviqs: "f89hs3r",
Bw81rd7: 0,
kdpuga: 0,
dm238s: 0,
B6xbmo0: 0,
B3whbx2: "f2krc9w",
B8q5s1w: "f8hki3x",
Bci5o5g: [
"f1d2448m",
"ffh67wi"
],
n8qw10: "f1bjia2o",
Bdrgwmp: [
"ffh67wi",
"f1d2448m"
],
Beyfa6y: 0,
Bbmb7ep: 0,
Btl43ni: 0,
B7oj6ja: 0,
Dimara: "f1kijzfu",
jrapky: 0,
Frg6f3: 0,
t21cq0: 0,
B6of3ja: 0,
B74szlk: "fkb7v5e",
De3pzq: "fkfdr9r"
}
}, {
d: [
".f22iagw{display:flex;}",
".f1063pyq{flex-direction:row;}",
".f122n59{align-items:center;}",
".f4d9j23{justify-content:center;}",
".fc5wo7j{pointer-events:all;}",
[
".f89hs3r[data-fui-focus-visible]{outline:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}",
{
p: -1
}
],
[
".f2krc9w[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);}",
{
p: -1
}
],
".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}",
".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}",
".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}",
".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}",
[
".f1kijzfu{border-radius:var(--borderRadiusXLarge);}",
{
p: -1
}
],
[
".fkb7v5e{margin:auto var(--spacingHorizontalS);}",
{
p: -1
}
],
".fkfdr9r{background-color:var(--colorNeutralBackgroundAlpha);}"
]
});
const useCarouselNavStyles_unstable = (state)=>{
'use no memo';
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(carouselNavClassNames.root, styles.root, state.root.className);
return state;
};
@@ -0,0 +1 @@
{"version":3,"sources":["useCarouselNavStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselNavClassNames = {\n root: 'fui-CarouselNav'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: 'all',\n ...createCustomFocusIndicatorStyle({\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorStrokeFocus2}`,\n borderRadius: tokens.borderRadiusMedium,\n ...shorthands.borderColor('transparent')\n }),\n borderRadius: tokens.borderRadiusXLarge,\n margin: `auto ${tokens.spacingHorizontalS}`,\n backgroundColor: tokens.colorNeutralBackgroundAlpha\n }\n});\n/**\n * Apply styling to the CarouselNav slots based on the state\n */ export const useCarouselNavStyles_unstable = (state)=>{\n 'use no memo';\n const styles = useStyles();\n state.root.className = mergeClasses(carouselNavClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["carouselNavClassNames","useCarouselNavStyles_unstable","root","useStyles","__styles","mc9l5x","Beiy3e4","Bt984gj","Brf1p80","Bkecrkj","Bfpq7zp","g9k6zt","Bn4voq9","giviqs","Bw81rd7","kdpuga","dm238s","B6xbmo0","B3whbx2","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","De3pzq","d","p","state","styles","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAGaA,qBAAqB;eAArBA;;IAwBIC,6BAA6B;eAA7BA;;;uBA3BoC;AAG9C,MAAMD,wBAAwB;IACjCE,MAAM;AACV;AACA;;CAEA,GAAI,MAAMC,YAAS,WAAA,GAAGC,IAAAA,eAAA,EAAA;IAAAF,MAAA;QAAAG,QAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,SAAA;YAAA;YAAA;SAAA;QAAAC,QAAA;QAAAC,SAAA;YAAA;YAAA;SAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,QAAA;QAAAC,SAAA;QAAAC,SAAA;QAAAC,QAAA;IAAA;AAAA,GAAA;IAAAC,GAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAC,GAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,GAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,GAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,GAAA,CAAA;YAAA;SAAA;QAAA;KAAA;AAAA;AAmBX,MAAMlC,gCAAiCmC,CAAAA;IAC9C;IACA,MAAMC,SAASlC;IACfiC,MAAMlC,IAAI,CAACoC,SAAS,GAAGC,IAAAA,mBAAY,EAACvC,sBAAsBE,IAAI,EAAEmC,OAAOnC,IAAI,EAAEkC,MAAMlC,IAAI,CAACoC,SAAS;IACjG,OAAOF;AACX"}
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CarouselNavButton", {
enumerable: true,
get: function() {
return CarouselNavButton;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useCarouselNavButton = require("./useCarouselNavButton");
const _renderCarouselNavButton = require("./renderCarouselNavButton");
const _useCarouselNavButtonStylesstyles = require("./useCarouselNavButtonStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const CarouselNavButton = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarouselNavButton.useCarouselNavButton_unstable)(props, ref);
(0, _useCarouselNavButtonStylesstyles.useCarouselNavButtonStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselNavButtonStyles_unstable')(state);
return (0, _renderCarouselNavButton.renderCarouselNavButton_unstable)(state);
});
CarouselNavButton.displayName = 'CarouselNavButton';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavButton/CarouselNavButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarouselNavButton_unstable } from './useCarouselNavButton';\nimport { renderCarouselNavButton_unstable } from './renderCarouselNavButton';\nimport { useCarouselNavButtonStyles_unstable } from './useCarouselNavButtonStyles.styles';\nimport type { CarouselNavButtonProps } from './CarouselNavButton.types';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * The child element of CarouselNav, a singular button that will set the carousels active value on click.\n */\nexport const CarouselNavButton: ForwardRefComponent<CarouselNavButtonProps> = React.forwardRef((props, ref) => {\n const state = useCarouselNavButton_unstable(props, ref);\n\n useCarouselNavButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselNavButtonStyles_unstable')(state);\n\n return renderCarouselNavButton_unstable(state);\n});\n\nCarouselNavButton.displayName = 'CarouselNavButton';\n"],"names":["CarouselNavButton","React","forwardRef","props","ref","state","useCarouselNavButton_unstable","useCarouselNavButtonStyles_unstable","useCustomStyleHook_unstable","renderCarouselNavButton_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWaA;;;eAAAA;;;;iEAXU;sCAEuB;yCACG;kDACG;qCAER;AAKrC,MAAMA,oBAAAA,WAAAA,GAAiEC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IACrG,MAAMC,QAAQC,IAAAA,mDAAAA,EAA8BH,OAAOC;IAEnDG,IAAAA,qEAAAA,EAAoCF;IACpCG,IAAAA,gDAAAA,EAA4B,uCAAuCH;IAEnE,OAAOI,IAAAA,yDAAAA,EAAiCJ;AAC1C;AAEAL,kBAAkBU,WAAW,GAAG"}
@@ -0,0 +1,6 @@
/**
* State used in rendering CarouselNavButton
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavButton/CarouselNavButton.types.ts"],"sourcesContent":["import { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { CarouselNavState } from '../CarouselNav/CarouselNav.types';\n\nexport type CarouselNavButtonSlots = {\n /**\n * ARIA compliant nav buttons used to jump to pages\n */\n root: NonNullable<Slot<ARIAButtonSlotProps>>;\n};\n\n/**\n * CarouselNavButton Props\n */\nexport type CarouselNavButtonProps = ComponentProps<CarouselNavButtonSlots> & {};\n\n/**\n * State used in rendering CarouselNavButton\n */\nexport type CarouselNavButtonState = ComponentState<CarouselNavButtonSlots> & {\n /**\n * Enables selection state control\n */\n selected?: boolean;\n} & Pick<CarouselNavState, 'appearance'>;\n"],"names":[],"rangeMappings":";;","mappings":"AAgBA;;CAEC"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselNavButton: function() {
return _CarouselNavButton.CarouselNavButton;
},
carouselNavButtonClassNames: function() {
return _useCarouselNavButtonStylesstyles.carouselNavButtonClassNames;
},
renderCarouselNavButton_unstable: function() {
return _renderCarouselNavButton.renderCarouselNavButton_unstable;
},
useCarouselNavButtonStyles_unstable: function() {
return _useCarouselNavButtonStylesstyles.useCarouselNavButtonStyles_unstable;
},
useCarouselNavButton_unstable: function() {
return _useCarouselNavButton.useCarouselNavButton_unstable;
}
});
const _CarouselNavButton = require("./CarouselNavButton");
const _renderCarouselNavButton = require("./renderCarouselNavButton");
const _useCarouselNavButton = require("./useCarouselNavButton");
const _useCarouselNavButtonStylesstyles = require("./useCarouselNavButtonStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavButton/index.ts"],"sourcesContent":["export { CarouselNavButton } from './CarouselNavButton';\nexport type { CarouselNavButtonProps, CarouselNavButtonSlots, CarouselNavButtonState } from './CarouselNavButton.types';\nexport { renderCarouselNavButton_unstable } from './renderCarouselNavButton';\nexport { useCarouselNavButton_unstable } from './useCarouselNavButton';\nexport { carouselNavButtonClassNames, useCarouselNavButtonStyles_unstable } from './useCarouselNavButtonStyles.styles';\n"],"names":["CarouselNavButton","carouselNavButtonClassNames","renderCarouselNavButton_unstable","useCarouselNavButtonStyles_unstable","useCarouselNavButton_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,iBAAiB;eAAjBA,oCAAiB;;IAIjBC,2BAA2B;eAA3BA,6DAA2B;;IAF3BC,gCAAgC;eAAhCA,yDAAgC;;IAEHC,mCAAmC;eAAnCA,qEAAmC;;IADhEC,6BAA6B;eAA7BA,mDAA6B;;;mCAHJ;yCAEe;sCACH;kDACmC"}
@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarouselNavButton_unstable", {
enumerable: true,
get: function() {
return renderCarouselNavButton_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const renderCarouselNavButton_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
// TODO Add additional slots in the appropriate place
return /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {});
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavButton/renderCarouselNavButton.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { CarouselNavButtonState, CarouselNavButtonSlots } from './CarouselNavButton.types';\n\n/**\n * Render the final JSX of CarouselNavButton\n */\nexport const renderCarouselNavButton_unstable = (state: CarouselNavButtonState) => {\n assertSlots<CarouselNavButtonSlots>(state);\n\n // TODO Add additional slots in the appropriate place\n return <state.root />;\n};\n"],"names":["renderCarouselNavButton_unstable","state","assertSlots","_jsx","root"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":";;;;+BASaA;;;eAAAA;;;4BARb;gCAE4B;AAMrB,MAAMA,mCAAmC,CAACC;IAC/CC,IAAAA,2BAAAA,EAAoCD;IAEpC,qDAAqD;IACrD,OAAA,WAAA,GAAOE,IAAAA,eAAA,EAACF,MAAMG,IAAI,EAAA,CAAA;AACpB"}
@@ -0,0 +1,78 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselNavButton_unstable", {
enumerable: true,
get: function() {
return useCarouselNavButton_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _reactaria = require("@fluentui/react-aria");
const _reacttabster = require("@fluentui/react-tabster");
const _reactutilities = require("@fluentui/react-utilities");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _CarouselContext = require("../CarouselContext");
const _CarouselNavContext = require("../CarouselNav/CarouselNavContext");
const _CarouselNavIndexContext = require("../CarouselNav/CarouselNavIndexContext");
const useCarouselNavButton_unstable = (props, ref)=>{
const { onClick, as = 'button' } = props;
const { appearance } = (0, _CarouselNavContext.useCarouselNavContext)();
const index = (0, _CarouselNavIndexContext.useCarouselNavIndexContext)();
const selectPageByIndex = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.selectPageByIndex);
const selected = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.activeIndex === index);
const subscribeForValues = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.subscribeForValues);
const resetAutoplay = (0, _CarouselContext.useCarouselContext_unstable)((ctx)=>ctx.resetAutoplay);
const handleClick = (0, _reactutilities.useEventCallback)((event)=>{
onClick === null || onClick === void 0 ? void 0 : onClick(event);
if (!event.defaultPrevented && (0, _reactutilities.isHTMLElement)(event.target)) {
selectPageByIndex(event, index);
}
// Ensure any autoplay timers are extended/reset
resetAutoplay();
});
const defaultTabProps = (0, _reacttabster.useTabsterAttributes)({
focusable: {
isDefault: selected
}
});
const buttonRef = _react.useRef();
const _carouselButton = _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)(as, (0, _reactaria.useARIAButtonProps)(props.as, props)), {
elementType: 'button',
defaultProps: {
ref: (0, _reactutilities.useMergedRefs)(ref, buttonRef),
role: 'tab',
type: 'button',
'aria-selected': selected,
...defaultTabProps
}
});
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
return subscribeForValues((data)=>{
var _data_groupIndexList;
var _data_groupIndexList_index;
const controlList = (_data_groupIndexList_index = (_data_groupIndexList = data.groupIndexList) === null || _data_groupIndexList === void 0 ? void 0 : _data_groupIndexList[index]) !== null && _data_groupIndexList_index !== void 0 ? _data_groupIndexList_index : [];
const _controlledSlideIds = controlList.map((slideIndex)=>{
return data.slideNodes[slideIndex].id;
}).join(' ');
if (buttonRef.current) {
buttonRef.current.setAttribute('aria-controls', _controlledSlideIds);
}
});
}, [
index,
subscribeForValues
]);
// Override onClick
_carouselButton.onClick = handleClick;
const state = {
selected,
appearance,
components: {
root: 'button'
},
root: _carouselButton
};
return state;
};
File diff suppressed because one or more lines are too long
@@ -0,0 +1,316 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
carouselNavButtonClassNames: function() {
return carouselNavButtonClassNames;
},
useCarouselNavButtonStyles_unstable: function() {
return useCarouselNavButtonStyles_unstable;
}
});
const _react = require("@griffel/react");
const carouselNavButtonClassNames = {
root: 'fui-CarouselNavButton'
};
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
Bceei9c: "f1k6fduh",
Bkecrkj: "fc5wo7j",
a9b677: "f1van5z7",
Bqenvij: "f1fkmctz",
Byoj8tv: 0,
uwmqm3: 0,
z189sj: 0,
z8tnut: 0,
B0ocmuz: "f1f5q0n8",
B7ck84d: "f1e4lqlz",
De3pzq: "f1c21dwh",
B4j52fo: "fre7gi1",
Bekrc4i: [
"f1358rze",
"f1rvrf73"
],
Bn0qgzm: "fqdk4by",
ibv6hh: [
"f1rvrf73",
"f1358rze"
],
Bsft5z2: "f13zj6fq",
ap17g6: "f2gz7yw",
li1rpt: "f1gw3sf2",
d9w3h3: 0,
B3778ie: 0,
B4j8arr: 0,
Bl18szs: 0,
Blrzh8d: "f1x820d0",
Bjuhk93: 0,
B1q35kw: 0,
Bw17bha: 0,
Bcgy8vk: 0,
Du69r6: 0,
Gp14am: 0,
vfts7: 0,
Bhxzhr1: 0,
G63luc: 0,
s924m2: 0,
Barhvk9: 0,
Ihftqj: 0,
wywymt: 0,
B0n5ga8: 0,
Bm2nyyq: 0,
xrcqlc: 0,
e1d83w: "fnwf5yv",
Dlnsje: "foue38v",
a2br6o: "fi4ui2s",
Bjyk6c5: "f1w4p7kh",
go7t6h: "fo5b2b9",
qx5q1e: "f1dpauah",
f7digc: "f1agqfpv",
Bfz3el7: "f6pnf7h"
},
rootUnselected: {
Bw0xxkn: 0,
oeaueh: 0,
Bpd4iqm: 0,
Befb4lg: "f71xx7",
Byu6kyc: 0,
n8qw10: 0,
Bbjhlyh: 0,
i2cumq: 0,
Bunx835: 0,
Bdrgwmp: 0,
mqozju: 0,
lbo84a: 0,
Bksnhdo: 0,
Bci5o5g: 0,
u5e7qz: 0,
Bn40d3w: 0,
B7b6zxw: 0,
B8q5s1w: 0,
B5gfjzb: 0,
Bbcte9g: 0,
Bqz3imu: "f1j9b7x8",
Bj9ihqo: 0,
Bl51kww: 0,
B3bvztg: 0,
Btyt4dx: 0,
Brhw1f9: "f1tdm9ui",
Bw81rd7: 0,
kdpuga: 0,
dm238s: 0,
B6xbmo0: 0,
B3whbx2: "f2krc9w",
Bp15pi3: "f4qmjcr",
Bay5ve9: "f1ry2q4s",
Bni0232: "f1e9f9ku"
},
rootSelected: {
a9b677: "f1eh74fx",
Byoj8tv: 0,
uwmqm3: 0,
z189sj: 0,
z8tnut: 0,
B0ocmuz: "fwku66v",
Bw0xxkn: 0,
oeaueh: 0,
Bpd4iqm: 0,
Befb4lg: "f71xx7",
Byu6kyc: 0,
n8qw10: 0,
Bbjhlyh: 0,
i2cumq: 0,
Bunx835: 0,
Bdrgwmp: 0,
mqozju: 0,
lbo84a: 0,
Bksnhdo: 0,
Bci5o5g: 0,
u5e7qz: 0,
Bn40d3w: 0,
B7b6zxw: 0,
B8q5s1w: 0,
B5gfjzb: 0,
Bbcte9g: 0,
Bqz3imu: "f1j9b7x8",
Bj9ihqo: 0,
Bl51kww: 0,
B3bvztg: 0,
Btyt4dx: 0,
Brhw1f9: "f1tdm9ui",
Bw81rd7: 0,
kdpuga: 0,
dm238s: 0,
B6xbmo0: 0,
B3whbx2: "f2krc9w",
a2br6o: "f1v6lwa2",
d9w3h3: 0,
B3778ie: 0,
B4j8arr: 0,
Bl18szs: 0,
Blrzh8d: "fgm6wgx",
Bay5ve9: "f1ry2q4s",
Bni0232: "f1gxfet"
},
brand: {
Bjyk6c5: "fwgxjcu",
Bp15pi3: "fjsqi2x",
Glksuk: "f1dsn91x",
Bay5ve9: "f9atwx8",
Blzl0y7: "fduhhxw",
Bni0232: "f1e9f9ku"
},
unselectedBrand: {
Bp15pi3: "f7x02et"
}
}, {
d: [
".f1k6fduh{cursor:pointer;}",
".fc5wo7j{pointer-events:all;}",
".f1van5z7{width:var(--spacingHorizontalS);}",
".f1fkmctz{height:var(--spacingVerticalS);}",
[
".f1f5q0n8{padding:var(--spacingVerticalS) var(--spacingHorizontalS);}",
{
p: -1
}
],
".f1e4lqlz{box-sizing:content-box;}",
".f1c21dwh{background-color:var(--colorTransparentBackground);}",
".fre7gi1{border-top-width:0;}",
".f1358rze{border-right-width:0;}",
".f1rvrf73{border-left-width:0;}",
".fqdk4by{border-bottom-width:0;}",
".f13zj6fq::after{content:\"\";}",
".f2gz7yw::after{display:block;}",
".f1gw3sf2::after{box-sizing:border-box;}",
[
".f1x820d0::after{border-radius:50%;}",
{
p: -1
}
],
[
".fnwf5yv::after{border:none;}",
{
p: -2
}
],
".foue38v::after{height:var(--spacingVerticalS);}",
".fi4ui2s::after{width:var(--spacingHorizontalS);}",
".f1w4p7kh::after{background-color:var(--colorNeutralForeground1);}",
".fo5b2b9::after{color:var(--colorNeutralForeground1);}",
[
".f71xx7{outline:var(--strokeWidthThin) solid transparent;}",
{
p: -1
}
],
[
".f1j9b7x8[data-fui-focus-visible]{border:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}",
{
p: -2
}
],
[
".f1tdm9ui[data-fui-focus-visible]{margin:calc(-1 * var(--strokeWidthThick));}",
{
p: -1
}
],
[
".f2krc9w[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);}",
{
p: -1
}
],
".f4qmjcr::after{opacity:0.65;}",
".f1eh74fx{width:var(--spacingHorizontalL);}",
[
".fwku66v{padding:var(--spacingVerticalS) var(--spacingHorizontalXS);}",
{
p: -1
}
],
[
".f71xx7{outline:var(--strokeWidthThin) solid transparent;}",
{
p: -1
}
],
[
".f1j9b7x8[data-fui-focus-visible]{border:var(--strokeWidthThick) solid var(--colorStrokeFocus2);}",
{
p: -2
}
],
[
".f1tdm9ui[data-fui-focus-visible]{margin:calc(-1 * var(--strokeWidthThick));}",
{
p: -1
}
],
[
".f2krc9w[data-fui-focus-visible]{border-radius:var(--borderRadiusMedium);}",
{
p: -1
}
],
".f1v6lwa2::after{width:var(--spacingHorizontalL);}",
[
".fgm6wgx::after{border-radius:4px;}",
{
p: -1
}
],
".fwgxjcu::after{background-color:var(--colorBrandBackground);}",
".fjsqi2x::after{opacity:1;}",
".f7x02et::after{opacity:0.6;}"
],
m: [
[
"@media (forced-colors: active){.f1dpauah::after{forced-color-adjust:none;}}",
{
m: "(forced-colors: active)"
}
],
[
"@media (forced-colors: active){.f1agqfpv::after{background-color:white;}}",
{
m: "(forced-colors: active)"
}
],
[
"@media (forced-colors: active){.f6pnf7h::after{mix-blend-mode:difference;}}",
{
m: "(forced-colors: active)"
}
]
],
h: [
".f1ry2q4s:hover::after{opacity:0.75;}",
".f1dsn91x:hover::after{background-color:var(--colorBrandBackgroundHover);}",
".f9atwx8:hover::after{opacity:1;}"
],
a: [
".f1e9f9ku:active::after{opacity:1;}",
".f1gxfet:active::after{opacity:0.65;}",
".fduhhxw:active::after{background-color:var(--colorBrandBackgroundPressed);}"
]
});
const useCarouselNavButtonStyles_unstable = (state)=>{
'use no memo';
const styles = useStyles();
const { selected, appearance } = state;
state.root.className = (0, _react.mergeClasses)(carouselNavButtonClassNames.root, styles.root, selected ? styles.rootSelected : styles.rootUnselected, appearance === 'brand' && styles.brand, !selected && appearance === 'brand' && styles.unselectedBrand, state.root.className);
return state;
};
File diff suppressed because one or more lines are too long
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CarouselNavContainer", {
enumerable: true,
get: function() {
return CarouselNavContainer;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useCarouselNavContainer = require("./useCarouselNavContainer");
const _renderCarouselNavContainer = require("./renderCarouselNavContainer");
const _useCarouselNavContainerStylesstyles = require("./useCarouselNavContainerStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const CarouselNavContainer = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarouselNavContainer.useCarouselNavContainer_unstable)(props, ref);
(0, _useCarouselNavContainerStylesstyles.useCarouselNavContainerStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselNavContainerStyles_unstable')(state);
return (0, _renderCarouselNavContainer.renderCarouselNavContainer_unstable)(state);
});
CarouselNavContainer.displayName = 'CarouselNavContainer';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavContainer/CarouselNavContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarouselNavContainer_unstable } from './useCarouselNavContainer';\nimport { renderCarouselNavContainer_unstable } from './renderCarouselNavContainer';\nimport { useCarouselNavContainerStyles_unstable } from './useCarouselNavContainerStyles.styles';\nimport type { CarouselNavContainerProps } from './CarouselNavContainer.types';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * CarouselNavContainer component - This container will provide multiple valid layout options for the underlying carousel controls\n */\nexport const CarouselNavContainer: ForwardRefComponent<CarouselNavContainerProps> = React.forwardRef((props, ref) => {\n const state = useCarouselNavContainer_unstable(props, ref);\n\n useCarouselNavContainerStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselNavContainerStyles_unstable')(state);\n\n return renderCarouselNavContainer_unstable(state);\n});\n\nCarouselNavContainer.displayName = 'CarouselNavContainer';\n"],"names":["CarouselNavContainer","React","forwardRef","props","ref","state","useCarouselNavContainer_unstable","useCarouselNavContainerStyles_unstable","useCustomStyleHook_unstable","renderCarouselNavContainer_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWaA;;;eAAAA;;;;iEAXU;yCAE0B;4CACG;qDACG;qCAEX;AAKrC,MAAMA,uBAAAA,WAAAA,GAAuEC,OAAMC,UAAU,CAAC,CAACC,OAAOC;IAC3G,MAAMC,QAAQC,IAAAA,yDAAAA,EAAiCH,OAAOC;IAEtDG,IAAAA,2EAAAA,EAAuCF;IACvCG,IAAAA,gDAAAA,EAA4B,0CAA0CH;IAEtE,OAAOI,IAAAA,+DAAAA,EAAoCJ;AAC7C;AAEAL,qBAAqBU,WAAW,GAAG"}
@@ -0,0 +1,6 @@
/**
* State used in rendering CarouselNavContainer
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavContainer/CarouselNavContainer.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { CarouselAutoplayButton } from '../CarouselAutoplayButton/CarouselAutoplayButton';\nimport { CarouselButtonProps } from '../CarouselButton/CarouselButton.types';\nimport { TooltipProps } from '@fluentui/react-tooltip';\n\nexport type CarouselNavContainerSlots = {\n root: Slot<'div'>;\n next?: Slot<CarouselButtonProps>;\n nextTooltip?: Slot<TooltipProps>;\n prev?: Slot<CarouselButtonProps>;\n prevTooltip?: Slot<TooltipProps>;\n autoplay?: Slot<typeof CarouselAutoplayButton>;\n autoplayTooltip?: Slot<TooltipProps>;\n};\n\n/**\n * CarouselNavContainer Props\n */\nexport type CarouselNavContainerProps = ComponentProps<CarouselNavContainerSlots> & {\n /**\n * Default: 'inline'\n * Defines the nav container layout:\n *\n * 'inline' - Default controls inline with carousel view\n *\n * inline-wide - Similar to inline but places nav buttons on far left/right\n *\n * 'overlay' - Controls overlaid on bottom of carousel viewport,\n *\n * 'overlay-wide' - Controls overlaid on bottom of carousel viewport with prev+autoplay/next buttons on far side\n *\n * 'overlay-expanded' - Controls overlaid on bottom of carousel viewport, with prev/next buttons on sides vertically centered\n */\n layout?: 'inline' | 'inline-wide' | 'overlay' | 'overlay-wide' | 'overlay-expanded';\n};\n\n/**\n * State used in rendering CarouselNavContainer\n */\nexport type CarouselNavContainerState = ComponentState<CarouselNavContainerSlots> &\n Pick<CarouselNavContainerProps, 'layout'>;\n"],"names":[],"rangeMappings":";;","mappings":"AAoCA;;CAEC"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselNavContainer: function() {
return _CarouselNavContainer.CarouselNavContainer;
},
carouselNavContainerClassNames: function() {
return _useCarouselNavContainerStylesstyles.carouselNavContainerClassNames;
},
renderCarouselNavContainer_unstable: function() {
return _renderCarouselNavContainer.renderCarouselNavContainer_unstable;
},
useCarouselNavContainerStyles_unstable: function() {
return _useCarouselNavContainerStylesstyles.useCarouselNavContainerStyles_unstable;
},
useCarouselNavContainer_unstable: function() {
return _useCarouselNavContainer.useCarouselNavContainer_unstable;
}
});
const _CarouselNavContainer = require("./CarouselNavContainer");
const _renderCarouselNavContainer = require("./renderCarouselNavContainer");
const _useCarouselNavContainer = require("./useCarouselNavContainer");
const _useCarouselNavContainerStylesstyles = require("./useCarouselNavContainerStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavContainer/index.ts"],"sourcesContent":["export { CarouselNavContainer } from './CarouselNavContainer';\nexport type {\n CarouselNavContainerProps,\n CarouselNavContainerSlots,\n CarouselNavContainerState,\n} from './CarouselNavContainer.types';\nexport { renderCarouselNavContainer_unstable } from './renderCarouselNavContainer';\nexport { useCarouselNavContainer_unstable } from './useCarouselNavContainer';\nexport {\n carouselNavContainerClassNames,\n useCarouselNavContainerStyles_unstable,\n} from './useCarouselNavContainerStyles.styles';\n"],"names":["CarouselNavContainer","carouselNavContainerClassNames","renderCarouselNavContainer_unstable","useCarouselNavContainerStyles_unstable","useCarouselNavContainer_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,oBAAoB;eAApBA,0CAAoB;;IAS3BC,8BAA8B;eAA9BA,mEAA8B;;IAHvBC,mCAAmC;eAAnCA,+DAAmC;;IAI1CC,sCAAsC;eAAtCA,2EAAsC;;IAH/BC,gCAAgC;eAAhCA,yDAAgC;;;sCAPJ;4CAMe;yCACH;qDAI1C"}
@@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarouselNavContainer_unstable", {
enumerable: true,
get: function() {
return renderCarouselNavContainer_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const renderCarouselNavContainer_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(state.root, {
children: [
!state.autoplayTooltip && state.autoplay && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.autoplay, {}),
state.autoplayTooltip && state.autoplay && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.autoplayTooltip, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.autoplay, {})
}),
!state.prevTooltip && state.prev && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.prev, {}),
state.prevTooltip && state.prev && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.prevTooltip, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.prev, {})
}),
state.root.children,
!state.nextTooltip && state.next && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.next, {}),
state.nextTooltip && state.next && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.nextTooltip, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.next, {})
})
]
});
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavContainer/renderCarouselNavContainer.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { CarouselNavContainerState, CarouselNavContainerSlots } from './CarouselNavContainer.types';\n\n/**\n * Render the final JSX of CarouselNavContainer\n */\nexport const renderCarouselNavContainer_unstable = (state: CarouselNavContainerState) => {\n assertSlots<CarouselNavContainerSlots>(state);\n\n return (\n <state.root>\n {!state.autoplayTooltip && state.autoplay && <state.autoplay />}\n {state.autoplayTooltip && state.autoplay && (\n <state.autoplayTooltip>\n <state.autoplay />\n </state.autoplayTooltip>\n )}\n {!state.prevTooltip && state.prev && <state.prev />}\n {state.prevTooltip && state.prev && (\n <state.prevTooltip>\n <state.prev />\n </state.prevTooltip>\n )}\n {state.root.children}\n {!state.nextTooltip && state.next && <state.next />}\n {state.nextTooltip && state.next && (\n <state.nextTooltip>\n <state.next />\n </state.nextTooltip>\n )}\n </state.root>\n );\n};\n"],"names":["renderCarouselNavContainer_unstable","state","assertSlots","_jsxs","root","autoplayTooltip","autoplay","_jsx","prevTooltip","prev","children","nextTooltip","next"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BASaA;;;eAAAA;;;4BARb;gCAE4B;AAMrB,MAAMA,sCAAsC,CAACC;IAClDC,IAAAA,2BAAAA,EAAuCD;IAEvC,OAAA,WAAA,GACEE,IAAAA,gBAAA,EAACF,MAAMG,IAAI,EAAA;;YACR,CAACH,MAAMI,eAAe,IAAIJ,MAAMK,QAAQ,IAAA,WAAA,GAAIC,IAAAA,eAAA,EAACN,MAAMK,QAAQ,EAAA,CAAA;YAC3DL,MAAMI,eAAe,IAAIJ,MAAMK,QAAQ,IAAA,WAAA,GACtCC,IAAAA,eAAA,EAACN,MAAMI,eAAe,EAAA;0BACpB,WAAA,GAAAE,IAAAA,eAAA,EAACN,MAAMK,QAAQ,EAAA,CAAA;;YAGlB,CAACL,MAAMO,WAAW,IAAIP,MAAMQ,IAAI,IAAA,WAAA,GAAIF,IAAAA,eAAA,EAACN,MAAMQ,IAAI,EAAA,CAAA;YAC/CR,MAAMO,WAAW,IAAIP,MAAMQ,IAAI,IAAA,WAAA,GAC9BF,IAAAA,eAAA,EAACN,MAAMO,WAAW,EAAA;0BAChB,WAAA,GAAAD,IAAAA,eAAA,EAACN,MAAMQ,IAAI,EAAA,CAAA;;YAGdR,MAAMG,IAAI,CAACM,QAAQ;YACnB,CAACT,MAAMU,WAAW,IAAIV,MAAMW,IAAI,IAAA,WAAA,GAAIL,IAAAA,eAAA,EAACN,MAAMW,IAAI,EAAA,CAAA;YAC/CX,MAAMU,WAAW,IAAIV,MAAMW,IAAI,IAAA,WAAA,GAC9BL,IAAAA,eAAA,EAACN,MAAMU,WAAW,EAAA;0BAChB,WAAA,GAAAJ,IAAAA,eAAA,EAACN,MAAMW,IAAI,EAAA,CAAA;;;;AAKrB"}
@@ -0,0 +1,76 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselNavContainer_unstable", {
enumerable: true,
get: function() {
return useCarouselNavContainer_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _reactutilities = require("@fluentui/react-utilities");
const _CarouselAutoplayButton = require("../CarouselAutoplayButton/CarouselAutoplayButton");
const _CarouselButton = require("../CarouselButton/CarouselButton");
const _reacttooltip = require("@fluentui/react-tooltip");
const useCarouselNavContainer_unstable = (props, ref)=>{
const { layout } = props;
const next = _reactutilities.slot.optional(props.next, {
defaultProps: {
navType: 'next'
},
elementType: _CarouselButton.CarouselButton,
renderByDefault: true
});
const prev = _reactutilities.slot.optional(props.prev, {
defaultProps: {
navType: 'prev'
},
elementType: _CarouselButton.CarouselButton,
renderByDefault: true
});
const autoplay = _reactutilities.slot.optional(props.autoplay, {
elementType: _CarouselAutoplayButton.CarouselAutoplayButton,
renderByDefault: !!props.autoplay || !!props.autoplayTooltip
});
const nextTooltip = _reactutilities.slot.optional(props.nextTooltip, {
defaultProps: {},
elementType: _reacttooltip.Tooltip,
renderByDefault: false
});
const prevTooltip = _reactutilities.slot.optional(props.prevTooltip, {
defaultProps: {},
elementType: _reacttooltip.Tooltip,
renderByDefault: false
});
const autoplayTooltip = _reactutilities.slot.optional(props.autoplayTooltip, {
defaultProps: {},
elementType: _reacttooltip.Tooltip,
renderByDefault: false
});
return {
layout,
components: {
root: 'div',
next: _CarouselButton.CarouselButton,
prev: _CarouselButton.CarouselButton,
autoplay: _CarouselAutoplayButton.CarouselAutoplayButton,
nextTooltip: _reacttooltip.Tooltip,
prevTooltip: _reacttooltip.Tooltip,
autoplayTooltip: _reacttooltip.Tooltip
},
root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
ref,
...props
}), {
elementType: 'div'
}),
next,
prev,
autoplay,
nextTooltip,
prevTooltip,
autoplayTooltip
};
};
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavContainer/useCarouselNavContainer.ts"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { CarouselNavContainerProps, CarouselNavContainerState } from './CarouselNavContainer.types';\nimport { CarouselAutoplayButton } from '../CarouselAutoplayButton/CarouselAutoplayButton';\nimport { CarouselButton } from '../CarouselButton/CarouselButton';\nimport { Tooltip } from '@fluentui/react-tooltip';\n\n/**\n * Create the state required to render CarouselNavContainer.\n *\n * The returned state can be modified with hooks such as useCarouselNavContainerStyles_unstable,\n * before being passed to renderCarouselNavContainer_unstable.\n *\n * @param props - props from this instance of CarouselNavContainer\n * @param ref - reference to root HTMLDivElement of CarouselNavContainer\n */\nexport const useCarouselNavContainer_unstable = (\n props: CarouselNavContainerProps,\n ref: React.Ref<HTMLDivElement>,\n): CarouselNavContainerState => {\n const { layout } = props;\n const next: CarouselNavContainerState['next'] = slot.optional(props.next, {\n defaultProps: {\n navType: 'next',\n },\n elementType: CarouselButton,\n renderByDefault: true,\n });\n\n const prev: CarouselNavContainerState['prev'] = slot.optional(props.prev, {\n defaultProps: {\n navType: 'prev',\n },\n elementType: CarouselButton,\n renderByDefault: true,\n });\n\n const autoplay: CarouselNavContainerState['autoplay'] = slot.optional(props.autoplay, {\n elementType: CarouselAutoplayButton,\n renderByDefault: !!props.autoplay || !!props.autoplayTooltip,\n });\n\n const nextTooltip: CarouselNavContainerState['nextTooltip'] = slot.optional(props.nextTooltip, {\n defaultProps: {},\n elementType: Tooltip,\n renderByDefault: false,\n });\n\n const prevTooltip: CarouselNavContainerState['prevTooltip'] = slot.optional(props.prevTooltip, {\n defaultProps: {},\n elementType: Tooltip,\n renderByDefault: false,\n });\n\n const autoplayTooltip: CarouselNavContainerState['autoplayTooltip'] = slot.optional(props.autoplayTooltip, {\n defaultProps: {},\n elementType: Tooltip,\n renderByDefault: false,\n });\n\n return {\n layout,\n components: {\n root: 'div',\n next: CarouselButton,\n prev: CarouselButton,\n autoplay: CarouselAutoplayButton,\n nextTooltip: Tooltip,\n prevTooltip: Tooltip,\n autoplayTooltip: Tooltip,\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\n ...props,\n }),\n { elementType: 'div' },\n ),\n next,\n prev,\n autoplay,\n nextTooltip,\n prevTooltip,\n autoplayTooltip,\n };\n};\n"],"names":["useCarouselNavContainer_unstable","props","ref","layout","next","slot","optional","defaultProps","navType","elementType","CarouselButton","renderByDefault","prev","autoplay","CarouselAutoplayButton","autoplayTooltip","nextTooltip","Tooltip","prevTooltip","components","root","always","getIntrinsicElementProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAgBaA;;;eAAAA;;;;iEAhBU;gCACwB;wCAER;gCACR;8BACP;AAWjB,MAAMA,mCAAmC,CAC9CC,OACAC;IAEA,MAAM,EAAEC,MAAM,EAAE,GAAGF;IACnB,MAAMG,OAA0CC,oBAAAA,CAAKC,QAAQ,CAACL,MAAMG,IAAI,EAAE;QACxEG,cAAc;YACZC,SAAS;QACX;QACAC,aAAaC,8BAAAA;QACbC,iBAAiB;IACnB;IAEA,MAAMC,OAA0CP,oBAAAA,CAAKC,QAAQ,CAACL,MAAMW,IAAI,EAAE;QACxEL,cAAc;YACZC,SAAS;QACX;QACAC,aAAaC,8BAAAA;QACbC,iBAAiB;IACnB;IAEA,MAAME,WAAkDR,oBAAAA,CAAKC,QAAQ,CAACL,MAAMY,QAAQ,EAAE;QACpFJ,aAAaK,8CAAAA;QACbH,iBAAiB,CAAC,CAACV,MAAMY,QAAQ,IAAI,CAAC,CAACZ,MAAMc,eAAe;IAC9D;IAEA,MAAMC,cAAwDX,oBAAAA,CAAKC,QAAQ,CAACL,MAAMe,WAAW,EAAE;QAC7FT,cAAc,CAAC;QACfE,aAAaQ,qBAAAA;QACbN,iBAAiB;IACnB;IAEA,MAAMO,cAAwDb,oBAAAA,CAAKC,QAAQ,CAACL,MAAMiB,WAAW,EAAE;QAC7FX,cAAc,CAAC;QACfE,aAAaQ,qBAAAA;QACbN,iBAAiB;IACnB;IAEA,MAAMI,kBAAgEV,oBAAAA,CAAKC,QAAQ,CAACL,MAAMc,eAAe,EAAE;QACzGR,cAAc,CAAC;QACfE,aAAaQ,qBAAAA;QACbN,iBAAiB;IACnB;IAEA,OAAO;QACLR;QACAgB,YAAY;YACVC,MAAM;YACNhB,MAAMM,8BAAAA;YACNE,MAAMF,8BAAAA;YACNG,UAAUC,8CAAAA;YACVE,aAAaC,qBAAAA;YACbC,aAAaD,qBAAAA;YACbF,iBAAiBE,qBAAAA;QACnB;QACAG,MAAMf,oBAAAA,CAAKgB,MAAM,CACfC,IAAAA,wCAAAA,EAAyB,OAAO;YAC9BpB;YACA,GAAGD,KAAK;QACV,IACA;YAAEQ,aAAa;QAAM;QAEvBL;QACAQ;QACAC;QACAG;QACAE;QACAH;IACF;AACF"}
@@ -0,0 +1,168 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
carouselNavContainerClassNames: function() {
return carouselNavContainerClassNames;
},
useCarouselNavContainerStyles_unstable: function() {
return useCarouselNavContainerStyles_unstable;
}
});
const _react = require("@griffel/react");
const carouselNavContainerClassNames = {
root: 'fui-CarouselNavContainer',
next: 'fui-CarouselNavContainer__next',
prev: 'fui-CarouselNavContainer__prev',
autoplay: 'fui-CarouselNavContainer__autoplay',
/* Tooltip classNames are listed for type compatibility only (cannot assign root className to portal)
* Use 'content' slot to style Tooltip content instead
*/ nextTooltip: 'fui-CarouselNavContainer__nextTooltip',
prevTooltip: 'fui-CarouselNavContainer__prevTooltip',
autoplayTooltip: 'fui-CarouselNavContainer__autoplayTooltip'
};
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
mc9l5x: "f22iagw",
Beiy3e4: "f1063pyq",
Brf1p80: "f4d9j23",
a9b677: "fly5x3f",
Bkecrkj: "f1aehjj5"
},
next: {},
prev: {},
autoplay: {},
inline: {
B6of3ja: "f1mevb6"
},
overlay: {
qhf8xq: "f1euv43f",
B5kzvoi: "f1bu4tuc",
B7ck84d: "f1ewtqcl"
},
overlayWide: {
B5kzvoi: "f1bu4tuc"
},
nextWide: {
Frg6f3: [
"fcgxt0o",
"f1ujusj6"
]
},
prevWide: {
t21cq0: [
"f1ujusj6",
"fcgxt0o"
]
},
nextOverlayWide: {
t21cq0: [
"fkujibs",
"f199hnxi"
]
},
prevOverlayWide: {
Frg6f3: [
"f199hnxi",
"fkujibs"
]
},
autoplayOverlayWide: {
Frg6f3: [
"f199hnxi",
"fkujibs"
]
},
expanded: {
a9b677: "fly5x3f",
Bqenvij: "f1l02sjl",
Bt984gj: "fgs5rwf",
Brf1p80: "f4d9j23",
B5kzvoi: "f1yab3r1",
c7y7m3: "f1ok8cdc",
yx0ijg: "fcq6x80",
v4amzz: "f1gy9d85"
},
nextOverlayExpanded: {
qhf8xq: "f1euv43f",
j35jbq: [
"f8b87gs",
"fedtrts"
],
Bhzewxz: "f1i1t8d1",
Bz10aip: "f188r07x"
},
prevOverlayExpanded: {
qhf8xq: "f1euv43f",
oyh7mz: [
"fedtrts",
"f8b87gs"
],
Bhzewxz: "f1i1t8d1",
Bz10aip: "f188r07x"
},
autoplayExpanded: {
qhf8xq: "f1euv43f",
B5kzvoi: "f49tsn4",
oyh7mz: [
"fedtrts",
"f8b87gs"
],
jrapky: "f18zxyen"
}
}, {
d: [
".f22iagw{display:flex;}",
".f1063pyq{flex-direction:row;}",
".f4d9j23{justify-content:center;}",
".fly5x3f{width:100%;}",
".f1aehjj5{pointer-events:none;}",
".f1mevb6{margin-top:var(--spacingVerticalM);}",
".f1euv43f{position:absolute;}",
".f1bu4tuc{bottom:var(--spacingVerticalM);}",
".f1ewtqcl{box-sizing:border-box;}",
".fcgxt0o{margin-left:auto;}",
".f1ujusj6{margin-right:auto;}",
".fkujibs{margin-right:var(--spacingHorizontalM);}",
".f199hnxi{margin-left:var(--spacingHorizontalM);}",
".f1l02sjl{height:100%;}",
".fgs5rwf{align-items:flex-end;}",
".f1yab3r1{bottom:0;}",
".f1ok8cdc>div{position:relative;}",
".fcq6x80>div{bottom:var(--spacingVerticalL);}",
".f1gy9d85>div{margin-bottom:0;}",
".f8b87gs{right:var(--spacingHorizontalM);}",
".fedtrts{left:var(--spacingHorizontalM);}",
".f1i1t8d1{top:50%;}",
".f188r07x{transform:translateY(-50%);}",
".f49tsn4{bottom:-var(--spacingHorizontalXS);}",
".f18zxyen{margin-bottom:var(--spacingVerticalM);}"
]
});
const useCarouselNavContainerStyles_unstable = (state)=>{
'use no memo';
const { layout } = state;
const isOverlay = layout === 'overlay' || layout === 'overlay-wide' || layout === 'overlay-expanded';
const isWide = layout === 'inline-wide' || layout === 'overlay-wide';
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(carouselNavContainerClassNames.root, styles.root, isOverlay ? styles.overlay : styles.inline, isOverlay && isWide && styles.overlayWide, layout === 'overlay-expanded' && styles.expanded, state.root.className);
if (state.next) {
state.next.className = (0, _react.mergeClasses)(carouselNavContainerClassNames.next, styles.next, isWide && styles.nextWide, isWide && isOverlay && styles.nextOverlayWide, layout === 'overlay-expanded' && styles.nextOverlayExpanded, state.next.className);
}
if (state.prev) {
state.prev.className = (0, _react.mergeClasses)(carouselNavContainerClassNames.prev, styles.prev, isWide && styles.prevWide, !state.autoplay && isWide && isOverlay && styles.prevOverlayWide, layout === 'overlay-expanded' && styles.prevOverlayExpanded, state.prev.className);
}
if (state.autoplay) {
state.autoplay.className = (0, _react.mergeClasses)(carouselNavContainerClassNames.autoplay, styles.autoplay, layout === 'overlay-expanded' && styles.autoplayExpanded, isWide && isOverlay && styles.autoplayOverlayWide, state.autoplay.className);
}
return state;
};
File diff suppressed because one or more lines are too long
@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CarouselNavImageButton", {
enumerable: true,
get: function() {
return CarouselNavImageButton;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useCarouselNavImageButton = require("./useCarouselNavImageButton");
const _renderCarouselNavImageButton = require("./renderCarouselNavImageButton");
const _useCarouselNavImageButtonStylesstyles = require("./useCarouselNavImageButtonStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const CarouselNavImageButton = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useCarouselNavImageButton.useCarouselNavImageButton_unstable)(props, ref);
(0, _useCarouselNavImageButtonStylesstyles.useCarouselNavImageButtonStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useCarouselNavImageButtonStyles_unstable')(state);
return (0, _renderCarouselNavImageButton.renderCarouselNavImageButton_unstable)(state);
});
CarouselNavImageButton.displayName = 'CarouselNavImageButton';
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavImageButton/CarouselNavImageButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCarouselNavImageButton_unstable } from './useCarouselNavImageButton';\nimport { renderCarouselNavImageButton_unstable } from './renderCarouselNavImageButton';\nimport { useCarouselNavImageButtonStyles_unstable } from './useCarouselNavImageButtonStyles.styles';\nimport type { CarouselNavImageButtonProps } from './CarouselNavImageButton.types';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A variant child element of CarouselNav, a singular image button that displays a\n * preview of card content and will set the carousels active value on click.\n */\nexport const CarouselNavImageButton: ForwardRefComponent<CarouselNavImageButtonProps> = React.forwardRef(\n (props, ref) => {\n const state = useCarouselNavImageButton_unstable(props, ref);\n\n useCarouselNavImageButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useCarouselNavImageButtonStyles_unstable')(state);\n\n return renderCarouselNavImageButton_unstable(state);\n },\n);\n\nCarouselNavImageButton.displayName = 'CarouselNavImageButton';\n"],"names":["CarouselNavImageButton","React","forwardRef","props","ref","state","useCarouselNavImageButton_unstable","useCarouselNavImageButtonStyles_unstable","useCustomStyleHook_unstable","renderCarouselNavImageButton_unstable","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAYaA;;;eAAAA;;;;iEAZU;2CAE4B;8CACG;uDACG;qCAEb;AAMrC,MAAMA,yBAAAA,WAAAA,GAA2EC,OAAMC,UAAU,CACtG,CAACC,OAAOC;IACN,MAAMC,QAAQC,IAAAA,6DAAAA,EAAmCH,OAAOC;IAExDG,IAAAA,+EAAAA,EAAyCF;IACzCG,IAAAA,gDAAAA,EAA4B,4CAA4CH;IAExE,OAAOI,IAAAA,mEAAAA,EAAsCJ;AAC/C;AAGFL,uBAAuBU,WAAW,GAAG"}
@@ -0,0 +1,6 @@
/**
* State used in rendering CarouselNavImageButton
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavImageButton/CarouselNavImageButton.types.ts"],"sourcesContent":["import { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type CarouselNavImageButtonSlots = {\n /**\n * ARIA compliant nav buttons used to jump to pages\n */\n root: NonNullable<Slot<ARIAButtonSlotProps>>;\n /**\n * Required: The image within the button\n */\n image: NonNullable<Slot<'img'>>;\n};\n\n/**\n * CarouselNavImageButton Props\n */\nexport type CarouselNavImageButtonProps = ComponentProps<CarouselNavImageButtonSlots> & {};\n\n/**\n * State used in rendering CarouselNavImageButton\n */\nexport type CarouselNavImageButtonState = ComponentState<CarouselNavImageButtonSlots> & {\n /**\n * Enables selection state control\n */\n selected?: boolean;\n};\n"],"names":[],"rangeMappings":";;","mappings":"AAmBA;;CAEC"}
@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
CarouselNavImageButton: function() {
return _CarouselNavImageButton.CarouselNavImageButton;
},
carouselNavImageButtonClassNames: function() {
return _useCarouselNavImageButtonStylesstyles.carouselNavImageButtonClassNames;
},
renderCarouselNavImageButton_unstable: function() {
return _renderCarouselNavImageButton.renderCarouselNavImageButton_unstable;
},
useCarouselNavImageButtonStyles_unstable: function() {
return _useCarouselNavImageButtonStylesstyles.useCarouselNavImageButtonStyles_unstable;
},
useCarouselNavImageButton_unstable: function() {
return _useCarouselNavImageButton.useCarouselNavImageButton_unstable;
}
});
const _CarouselNavImageButton = require("./CarouselNavImageButton");
const _renderCarouselNavImageButton = require("./renderCarouselNavImageButton");
const _useCarouselNavImageButton = require("./useCarouselNavImageButton");
const _useCarouselNavImageButtonStylesstyles = require("./useCarouselNavImageButtonStyles.styles");
@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavImageButton/index.ts"],"sourcesContent":["export { CarouselNavImageButton } from './CarouselNavImageButton';\nexport type {\n CarouselNavImageButtonProps,\n CarouselNavImageButtonSlots,\n CarouselNavImageButtonState,\n} from './CarouselNavImageButton.types';\nexport { renderCarouselNavImageButton_unstable } from './renderCarouselNavImageButton';\nexport { useCarouselNavImageButton_unstable } from './useCarouselNavImageButton';\nexport {\n carouselNavImageButtonClassNames,\n useCarouselNavImageButtonStyles_unstable,\n} from './useCarouselNavImageButtonStyles.styles';\n"],"names":["CarouselNavImageButton","carouselNavImageButtonClassNames","renderCarouselNavImageButton_unstable","useCarouselNavImageButtonStyles_unstable","useCarouselNavImageButton_unstable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAASA,sBAAsB;eAAtBA,8CAAsB;;IAS7BC,gCAAgC;eAAhCA,uEAAgC;;IAHzBC,qCAAqC;eAArCA,mEAAqC;;IAI5CC,wCAAwC;eAAxCA,+EAAwC;;IAHjCC,kCAAkC;eAAlCA,6DAAkC;;;wCAPJ;8CAMe;2CACH;uDAI5C"}

Some files were not shown because too many files have changed in this diff Show More