Private
Public Access
1
0

feat: Fluent UI Outlook Lite + connections mockup

This commit is contained in:
2026-04-14 18:52:25 +00:00
parent 1199eff6c3
commit dfa4010406
34820 changed files with 1003813 additions and 205 deletions

View File

@@ -0,0 +1,24 @@
'use client';
"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';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavImageButton/CarouselNavImageButton.tsx"],"sourcesContent":["'use client';\n\nimport * 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":["React","useCarouselNavImageButton_unstable","renderCarouselNavImageButton_unstable","useCarouselNavImageButtonStyles_unstable","useCustomStyleHook_unstable","CarouselNavImageButton","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;2CAEoB,8BAA8B;8CAC3B,iCAAiC;uDAC9B,2CAA2C;qCAExD,kCAAkC;AAMvE,MAAMK,yBAAAA,WAAAA,GAA2EL,OAAMM,UAAU,CACtG,CAACC,OAAOC;IACN,MAAMC,YAAQR,6DAAAA,EAAmCM,OAAOC;QAExDL,+EAAAA,EAAyCM;QACzCL,gDAAAA,EAA4B,4CAA4CK;IAExE,WAAOP,mEAAAA,EAAsCO;AAC/C,GACA;AAEFJ,uBAAuBK,WAAW,GAAG"}

View File

@@ -0,0 +1,6 @@
/**
* State used in rendering CarouselNavImageButton
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});

View File

@@ -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":[],"mappings":"AAmBA;;CAEC,GACD,WAKE"}

View File

@@ -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");

View File

@@ -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","renderCarouselNavImageButton_unstable","useCarouselNavImageButton_unstable","carouselNavImageButtonClassNames","useCarouselNavImageButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,8CAAsB;;;eAS7BG,uEAAgC;;;eAHzBF,mEAAqC;;;eAI5CG,+EAAwC;;;eAHjCF,6DAAkC;;;wCAPJ,2BAA2B;8CAMZ,iCAAiC;2CACpC,8BAA8B;uDAI1E,2CAA2C"}

View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderCarouselNavImageButton_unstable", {
enumerable: true,
get: function() {
return renderCarouselNavImageButton_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const renderCarouselNavImageButton_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.image, {})
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavImageButton/renderCarouselNavImageButton.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { CarouselNavImageButtonState, CarouselNavImageButtonSlots } from './CarouselNavImageButton.types';\n\n/**\n * Render the final JSX of CarouselNavImageButton\n */\nexport const renderCarouselNavImageButton_unstable = (state: CarouselNavImageButtonState): JSXElement => {\n assertSlots<CarouselNavImageButtonSlots>(state);\n\n return (\n <state.root>\n <state.image />\n </state.root>\n );\n};\n"],"names":["assertSlots","renderCarouselNavImageButton_unstable","state","root","image"],"mappings":";;;;+BAUaC;;;;;;4BATb,gDAAiD;gCAErB,4BAA4B;AAOjD,8CAA8C,CAACC;QACpDF,2BAAAA,EAAyCE;IAEzC,OAAA,WAAA,GACE,mBAAA,EAACA,MAAMC,IAAI,EAAA;kBACT,WAAA,OAAA,eAAA,EAACD,MAAME,KAAK,EAAA,CAAA;;AAGlB,EAAE"}

View File

@@ -0,0 +1,82 @@
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useCarouselNavImageButton_unstable", {
enumerable: true,
get: function() {
return useCarouselNavImageButton_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _reactaria = require("@fluentui/react-aria");
const _reactutilities = require("@fluentui/react-utilities");
const _reacttabster = require("@fluentui/react-tabster");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _CarouselNavIndexContext = require("../CarouselNav/CarouselNavIndexContext");
const _CarouselContext = require("../CarouselContext");
const useCarouselNavImageButton_unstable = (props, ref)=>{
const { onClick, as = 'button' } = props;
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 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);
}
});
const defaultTabProps = (0, _reacttabster.useTabsterAttributes)({
focusable: {
isDefault: selected
}
});
const buttonRef = _react.useRef(undefined);
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);
}
});
}, [
subscribeForValues,
index
]);
// Override onClick
_carouselButton.onClick = handleClick;
const image = _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('img', {
'aria-hidden': true,
alt: '',
role: 'presentation',
...props.image
}), {
elementType: 'img'
});
return {
components: {
root: 'button',
image: 'img'
},
root: _carouselButton,
image,
selected
};
};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,133 @@
'use client';
"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, {
carouselNavImageButtonClassNames: function() {
return carouselNavImageButtonClassNames;
},
useCarouselNavImageButtonStyles_unstable: function() {
return useCarouselNavImageButtonStyles_unstable;
}
});
const _react = require("@griffel/react");
const carouselNavImageButtonClassNames = {
root: 'fui-CarouselNavImageButton',
image: 'fui-CarouselNavImageButton__image'
};
const imageButtonSize = 40;
const selectedImageButtonSize = 48;
/**
* Styles for the root slot
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
B7ck84d: "f1e4lqlz",
Byoj8tv: 0,
uwmqm3: 0,
z189sj: 0,
z8tnut: 0,
B0ocmuz: "f1c5fvqg",
jrapky: 0,
Frg6f3: 0,
t21cq0: 0,
B6of3ja: 0,
B74szlk: "f186qr3g",
g2u3we: "fghlq4f",
h3c5rm: [
"f1gn591s",
"fjscplz"
],
B9xav0g: "fb073pr",
zhjwy3: [
"fjscplz",
"f1gn591s"
],
Beyfa6y: 0,
Bbmb7ep: 0,
Btl43ni: 0,
B7oj6ja: 0,
Dimara: "fq9zq91",
a9b677: "feqmc2u",
Bqenvij: "fbhnoac",
B68tc82: 0,
Bmxbyg5: 0,
Bpg54ce: "f1a3p1vp",
eoavqd: "f8491dx"
},
image: {
a9b677: "feqmc2u",
Bqenvij: "fbhnoac",
Beyfa6y: 0,
Bbmb7ep: 0,
Btl43ni: 0,
B7oj6ja: 0,
Dimara: "fq9zq91"
},
selected: {
a9b677: "f124akge",
Bqenvij: "ff2sm71"
}
}, {
d: [
".f1e4lqlz{box-sizing:content-box;}",
[
".f1c5fvqg{padding:0px;}",
{
p: -1
}
],
[
".f186qr3g{margin:0 var(--spacingHorizontalXS);}",
{
p: -1
}
],
".fghlq4f{border-top-color:var(--colorTransparentStroke);}",
".f1gn591s{border-right-color:var(--colorTransparentStroke);}",
".fjscplz{border-left-color:var(--colorTransparentStroke);}",
".fb073pr{border-bottom-color:var(--colorTransparentStroke);}",
[
".fq9zq91{border-radius:var(--borderRadiusSmall);}",
{
p: -1
}
],
".feqmc2u{width:40px;}",
".fbhnoac{height:40px;}",
[
".f1a3p1vp{overflow:hidden;}",
{
p: -1
}
],
[
".fq9zq91{border-radius:var(--borderRadiusSmall);}",
{
p: -1
}
],
".f124akge{width:48px;}",
".ff2sm71{height:48px;}"
],
h: [
".f8491dx:hover{cursor:pointer;}"
]
});
const useCarouselNavImageButtonStyles_unstable = (state)=>{
'use no memo';
const { selected } = state;
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(carouselNavImageButtonClassNames.root, styles.root, selected && styles.selected, state.root.className);
if (state.image) {
var _state_image;
state.image.className = (0, _react.mergeClasses)(carouselNavImageButtonClassNames.image, styles.image, selected && styles.selected, (_state_image = state.image) === null || _state_image === void 0 ? void 0 : _state_image.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["useCarouselNavImageButtonStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const carouselNavImageButtonClassNames = {\n root: 'fui-CarouselNavImageButton',\n image: 'fui-CarouselNavImageButton__image'\n};\nconst imageButtonSize = 40;\nconst selectedImageButtonSize = 48;\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n boxSizing: 'content-box',\n padding: '0px',\n margin: `0 ${tokens.spacingHorizontalXS}`,\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n borderRadius: tokens.borderRadiusSmall,\n width: imageButtonSize + 'px',\n height: imageButtonSize + 'px',\n overflow: 'hidden',\n ':hover': {\n cursor: 'pointer'\n }\n },\n image: {\n width: imageButtonSize + 'px',\n height: imageButtonSize + 'px',\n borderRadius: tokens.borderRadiusSmall\n },\n selected: {\n width: selectedImageButtonSize + 'px',\n height: selectedImageButtonSize + 'px'\n }\n});\n/**\n * Apply styling to the CarouselNavImageButton slots based on the state\n */ export const useCarouselNavImageButtonStyles_unstable = (state)=>{\n 'use no memo';\n const { selected } = state;\n const styles = useStyles();\n state.root.className = mergeClasses(carouselNavImageButtonClassNames.root, styles.root, selected && styles.selected, state.root.className);\n if (state.image) {\n var _state_image;\n state.image.className = mergeClasses(carouselNavImageButtonClassNames.image, styles.image, selected && styles.selected, (_state_image = state.image) === null || _state_image === void 0 ? void 0 : _state_image.className);\n }\n return state;\n};\n"],"names":["__styles","mergeClasses","shorthands","tokens","carouselNavImageButtonClassNames","root","image","imageButtonSize","selectedImageButtonSize","useStyles","B7ck84d","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","g2u3we","h3c5rm","B9xav0g","zhjwy3","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","a9b677","Bqenvij","B68tc82","Bmxbyg5","Bpg54ce","eoavqd","selected","d","p","h","useCarouselNavImageButtonStyles_unstable","state","styles","className","_state_image"],"mappings":"AAAA,YAAY;;;;;;;;;;;;IAGCI,gCAAgC;;;IAkC5BoC,wCAAwC;;;;uBApCJ,gBAAgB;AAE9D,yCAAyC;IAC5CnC,IAAI,EAAE,4BAA4B;IAClCC,KAAK,EAAE;AACX,CAAC;AACD,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,uBAAuB,GAAG,EAAE;AAClC;;CAEA,GAAI,MAAMC,SAAS,GAAA,WAAA,OAAGT,eAAA,EAAA;IAAAK,IAAA,EAAA;QAAAK,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;YAAA;YAAA;SAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;YAAA;YAAA;SAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;IAAA;IAAA7B,KAAA,EAAA;QAAAwB,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAN,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;IAAA;IAAAO,QAAA,EAAA;QAAAN,MAAA,EAAA;QAAAC,OAAA,EAAA;IAAA;AAAA,GAAA;IAAAM,CAAA,EAAA;QAAA;QAAA;YAAA;YAAA;gBAAAC,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;KAAA;IAAAC,CAAA,EAAA;QAAA;KAAA;AAAA,CAuBrB,CAAC;AAGS,iDAAkDE,KAAK,IAAG;IACjE,aAAa;IACb,MAAM,EAAEL,QAAAA,EAAU,GAAGK,KAAK;IAC1B,MAAMC,MAAM,GAAGjC,SAAS,CAAC,CAAC;IAC1BgC,KAAK,CAACpC,IAAI,CAACsC,SAAS,OAAG1C,mBAAY,EAACG,gCAAgC,CAACC,IAAI,EAAEqC,MAAM,CAACrC,IAAI,EAAE+B,QAAQ,IAAIM,MAAM,CAACN,QAAQ,EAAEK,KAAK,CAACpC,IAAI,CAACsC,SAAS,CAAC;IAC1I,IAAIF,KAAK,CAACnC,KAAK,EAAE;QACb,IAAIsC,YAAY;QAChBH,KAAK,CAACnC,KAAK,CAACqC,SAAS,OAAG1C,mBAAY,EAACG,gCAAgC,CAACE,KAAK,EAAEoC,MAAM,CAACpC,KAAK,EAAE8B,QAAQ,IAAIM,MAAM,CAACN,QAAQ,EAAE,CAACQ,YAAY,GAAGH,KAAK,CAACnC,KAAAA,AAAK,MAAM,IAAI,IAAIsC,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACD,SAAS,CAAC;IAC/N;IACA,OAAOF,KAAK;AAChB,CAAC"}

View File

@@ -0,0 +1,64 @@
'use client';
"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, {
carouselNavImageButtonClassNames: function() {
return carouselNavImageButtonClassNames;
},
useCarouselNavImageButtonStyles_unstable: function() {
return useCarouselNavImageButtonStyles_unstable;
}
});
const _react = require("@griffel/react");
const _reacttheme = require("@fluentui/react-theme");
const carouselNavImageButtonClassNames = {
root: 'fui-CarouselNavImageButton',
image: 'fui-CarouselNavImageButton__image'
};
const imageButtonSize = 40;
const selectedImageButtonSize = 48;
/**
* Styles for the root slot
*/ const useStyles = (0, _react.makeStyles)({
root: {
boxSizing: 'content-box',
padding: '0px',
margin: `0 ${_reacttheme.tokens.spacingHorizontalXS}`,
..._react.shorthands.borderColor(_reacttheme.tokens.colorTransparentStroke),
borderRadius: _reacttheme.tokens.borderRadiusSmall,
width: imageButtonSize + 'px',
height: imageButtonSize + 'px',
overflow: 'hidden',
':hover': {
cursor: 'pointer'
}
},
image: {
width: imageButtonSize + 'px',
height: imageButtonSize + 'px',
borderRadius: _reacttheme.tokens.borderRadiusSmall
},
selected: {
width: selectedImageButtonSize + 'px',
height: selectedImageButtonSize + 'px'
}
});
const useCarouselNavImageButtonStyles_unstable = (state)=>{
'use no memo';
const { selected } = state;
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(carouselNavImageButtonClassNames.root, styles.root, selected && styles.selected, state.root.className);
if (state.image) {
var _state_image;
state.image.className = (0, _react.mergeClasses)(carouselNavImageButtonClassNames.image, styles.image, selected && styles.selected, (_state_image = state.image) === null || _state_image === void 0 ? void 0 : _state_image.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/CarouselNavImageButton/useCarouselNavImageButtonStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CarouselNavImageButtonSlots, CarouselNavImageButtonState } from './CarouselNavImageButton.types';\nimport { tokens } from '@fluentui/react-theme';\n\nexport const carouselNavImageButtonClassNames: SlotClassNames<CarouselNavImageButtonSlots> = {\n root: 'fui-CarouselNavImageButton',\n image: 'fui-CarouselNavImageButton__image',\n};\n\nconst imageButtonSize = 40;\nconst selectedImageButtonSize = 48;\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n boxSizing: 'content-box',\n padding: '0px',\n margin: `0 ${tokens.spacingHorizontalXS}`,\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n borderRadius: tokens.borderRadiusSmall,\n width: imageButtonSize + 'px',\n height: imageButtonSize + 'px',\n overflow: 'hidden',\n ':hover': {\n cursor: 'pointer',\n },\n },\n image: {\n width: imageButtonSize + 'px',\n height: imageButtonSize + 'px',\n borderRadius: tokens.borderRadiusSmall,\n },\n selected: {\n width: selectedImageButtonSize + 'px',\n height: selectedImageButtonSize + 'px',\n },\n});\n\n/**\n * Apply styling to the CarouselNavImageButton slots based on the state\n */\nexport const useCarouselNavImageButtonStyles_unstable = (\n state: CarouselNavImageButtonState,\n): CarouselNavImageButtonState => {\n 'use no memo';\n\n const { selected } = state;\n const styles = useStyles();\n\n state.root.className = mergeClasses(\n carouselNavImageButtonClassNames.root,\n styles.root,\n selected && styles.selected,\n state.root.className,\n );\n\n if (state.image) {\n state.image.className = mergeClasses(\n carouselNavImageButtonClassNames.image,\n styles.image,\n selected && styles.selected,\n state.image?.className,\n );\n }\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","carouselNavImageButtonClassNames","root","image","imageButtonSize","selectedImageButtonSize","useStyles","boxSizing","padding","margin","spacingHorizontalXS","borderColor","colorTransparentStroke","borderRadius","borderRadiusSmall","width","height","overflow","cursor","selected","useCarouselNavImageButtonStyles_unstable","state","styles","className"],"mappings":"AAAA;;;;;;;;;;;;IAOaI,gCAAAA;;;IAuCAmB,wCAAAA;;;;uBA5CwC,iBAAiB;4BAG/C,wBAAwB;AAExC,yCAAsF;IAC3FlB,MAAM;IACNC,OAAO;AACT,EAAE;AAEF,MAAMC,kBAAkB;AACxB,MAAMC,0BAA0B;AAEhC;;CAEC,GACD,MAAMC,gBAAYT,iBAAAA,EAAW;IAC3BK,MAAM;QACJK,WAAW;QACXC,SAAS;QACTC,QAAQ,CAAC,EAAE,EAAET,kBAAAA,CAAOU,mBAAmB,EAAE;QACzC,GAAGX,iBAAAA,CAAWY,WAAW,CAACX,kBAAAA,CAAOY,sBAAsB,CAAC;QACxDC,cAAcb,kBAAAA,CAAOc,iBAAiB;QACtCC,OAAOX,kBAAkB;QACzBY,QAAQZ,kBAAkB;QAC1Ba,UAAU;QACV,UAAU;YACRC,QAAQ;QACV;IACF;IACAf,OAAO;QACLY,OAAOX,kBAAkB;QACzBY,QAAQZ,kBAAkB;QAC1BS,cAAcb,kBAAAA,CAAOc,iBAAiB;IACxC;IACAK,UAAU;QACRJ,OAAOV,0BAA0B;QACjCW,QAAQX,0BAA0B;IACpC;AACF;AAKO,iDAAiD,CACtDgB;IAEA;IAEA,MAAM,EAAEF,QAAQ,EAAE,GAAGE;IACrB,MAAMC,SAAShB;IAEfe,MAAMnB,IAAI,CAACqB,SAAS,OAAGzB,mBAAAA,EACrBG,iCAAiCC,IAAI,EACrCoB,OAAOpB,IAAI,EACXiB,YAAYG,OAAOH,QAAQ,EAC3BE,MAAMnB,IAAI,CAACqB,SAAS;IAGtB,IAAIF,MAAMlB,KAAK,EAAE;YAKbkB;QAJFA,MAAMlB,KAAK,CAACoB,SAAS,OAAGzB,mBAAAA,EACtBG,iCAAiCE,KAAK,EACtCmB,OAAOnB,KAAK,EACZgB,YAAYG,OAAOH,QAAQ,EAAA,CAC3BE,eAAAA,MAAMlB,KAAAA,AAAK,MAAA,QAAXkB,iBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,aAAaE,SAAS;IAE1B;IAEA,OAAOF;AACT,EAAE"}