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,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"}