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,26 @@
"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, {
isTruncatableBreadcrumbContent: function() {
return _truncateBreadcrumb.isTruncatableBreadcrumbContent;
},
partitionBreadcrumbItems: function() {
return _partitionBreadcrumbItems.partitionBreadcrumbItems;
},
truncateBreadcrumLongTooltip: function() {
return _truncateBreadcrumb.truncateBreadcrumLongTooltip;
},
truncateBreadcrumbLongName: function() {
return _truncateBreadcrumb.truncateBreadcrumbLongName;
}
});
const _partitionBreadcrumbItems = require("./partitionBreadcrumbItems");
const _truncateBreadcrumb = require("./truncateBreadcrumb");

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/utils/index.ts"],"sourcesContent":["export { partitionBreadcrumbItems } from './partitionBreadcrumbItems';\nexport type { PartitionBreadcrumbItems, PartitionBreadcrumbItemsOptions } from './partitionBreadcrumbItems';\nexport {\n truncateBreadcrumbLongName,\n truncateBreadcrumLongTooltip,\n isTruncatableBreadcrumbContent,\n} from './truncateBreadcrumb';\n"],"names":["partitionBreadcrumbItems","truncateBreadcrumbLongName","truncateBreadcrumLongTooltip","isTruncatableBreadcrumbContent"],"mappings":";;;;;;;;;;;;eAKEG,kDAA8B;;;eALvBH,kDAAwB;;;eAI/BE,gDAA4B;;;eAD5BD,8CAA0B;;;0CAHa,6BAA6B;oCAM/D,uBAAuB"}

View File

@@ -0,0 +1,43 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "partitionBreadcrumbItems", {
enumerable: true,
get: function() {
return partitionBreadcrumbItems;
}
});
const DEFAULT_OVERFLOW_INDEX = 1;
const DEFAULT_MAX_DISPLAYED_ITEMS = 6;
const partitionBreadcrumbItems = (options)=>{
let startDisplayedItems;
let overflowItems;
let endDisplayedItems;
const { items = [] } = options;
const itemsCount = items.length;
const maxDisplayedItems = getMaxDisplayedItems(options.maxDisplayedItems);
var _options_overflowIndex;
let overflowIndex = (_options_overflowIndex = options.overflowIndex) !== null && _options_overflowIndex !== void 0 ? _options_overflowIndex : DEFAULT_OVERFLOW_INDEX;
startDisplayedItems = items.slice(0, overflowIndex);
const numberItemsToHide = itemsCount - maxDisplayedItems;
if (numberItemsToHide > 0) {
overflowIndex = overflowIndex >= maxDisplayedItems ? maxDisplayedItems - 1 : overflowIndex;
const menuLastItemIdx = overflowIndex + numberItemsToHide;
startDisplayedItems = startDisplayedItems.slice(0, overflowIndex);
overflowItems = items.slice(overflowIndex, menuLastItemIdx);
if (menuLastItemIdx < itemsCount) {
endDisplayedItems = items.slice(menuLastItemIdx, itemsCount);
}
} else if (overflowIndex < itemsCount) {
endDisplayedItems = items.slice(overflowIndex, itemsCount);
}
return {
startDisplayedItems,
overflowItems,
endDisplayedItems
};
};
function getMaxDisplayedItems(maxDisplayedItems) {
return maxDisplayedItems && maxDisplayedItems >= 0 ? maxDisplayedItems : DEFAULT_MAX_DISPLAYED_ITEMS;
}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/utils/partitionBreadcrumbItems.ts"],"sourcesContent":["const DEFAULT_OVERFLOW_INDEX = 1;\nconst DEFAULT_MAX_DISPLAYED_ITEMS = 6;\n\nexport type PartitionBreadcrumbItemsOptions<T> = {\n items: readonly T[];\n maxDisplayedItems?: number;\n overflowIndex?: number;\n};\n\nexport type PartitionBreadcrumbItems<T> = {\n startDisplayedItems: readonly T[];\n overflowItems?: readonly T[];\n endDisplayedItems?: readonly T[];\n};\n\n/**\n * Get the displayed items and overflowing items based on the array of BreadcrumbItems needed for Breadcrumb.\n *\n * @param options - Configure the partition options\n *\n * @returns Three arrays split into displayed items and overflow items based on maxDisplayedItems.\n */\nexport const partitionBreadcrumbItems = <T>(\n options: PartitionBreadcrumbItemsOptions<T>,\n): PartitionBreadcrumbItems<T> => {\n let startDisplayedItems;\n let overflowItems;\n let endDisplayedItems;\n\n const { items = [] } = options;\n const itemsCount = items.length;\n const maxDisplayedItems = getMaxDisplayedItems(options.maxDisplayedItems);\n let overflowIndex = options.overflowIndex ?? DEFAULT_OVERFLOW_INDEX;\n startDisplayedItems = items.slice(0, overflowIndex);\n\n const numberItemsToHide = itemsCount - maxDisplayedItems;\n\n if (numberItemsToHide > 0) {\n overflowIndex = overflowIndex >= maxDisplayedItems ? maxDisplayedItems - 1 : overflowIndex;\n const menuLastItemIdx = overflowIndex + numberItemsToHide;\n\n startDisplayedItems = startDisplayedItems.slice(0, overflowIndex);\n overflowItems = items.slice(overflowIndex, menuLastItemIdx);\n if (menuLastItemIdx < itemsCount) {\n endDisplayedItems = items.slice(menuLastItemIdx, itemsCount);\n }\n } else if (overflowIndex < itemsCount) {\n endDisplayedItems = items.slice(overflowIndex, itemsCount);\n }\n\n return {\n startDisplayedItems,\n overflowItems,\n endDisplayedItems,\n };\n};\n\nfunction getMaxDisplayedItems(maxDisplayedItems: number | undefined) {\n return maxDisplayedItems && maxDisplayedItems >= 0 ? maxDisplayedItems : DEFAULT_MAX_DISPLAYED_ITEMS;\n}\n"],"names":["DEFAULT_OVERFLOW_INDEX","DEFAULT_MAX_DISPLAYED_ITEMS","partitionBreadcrumbItems","options","startDisplayedItems","overflowItems","endDisplayedItems","items","itemsCount","length","maxDisplayedItems","getMaxDisplayedItems","overflowIndex","slice","numberItemsToHide","menuLastItemIdx"],"mappings":";;;;+BAsBaE;;;;;;AAtBb,MAAMF,yBAAyB;AAC/B,MAAMC,8BAA8B;AAqB7B,iCAAiC,CACtCE;IAEA,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IAEJ,MAAM,EAAEC,QAAQ,EAAE,EAAE,GAAGJ;IACvB,MAAMK,aAAaD,MAAME,MAAM;IAC/B,MAAMC,oBAAoBC,qBAAqBR,QAAQO,iBAAiB;QACpDP;IAApB,IAAIS,gBAAgBT,CAAAA,yBAAAA,QAAQS,aAAAA,AAAa,MAAA,QAArBT,2BAAAA,KAAAA,IAAAA,yBAAyBH;IAC7CI,sBAAsBG,MAAMM,KAAK,CAAC,GAAGD;IAErC,MAAME,oBAAoBN,aAAaE;IAEvC,IAAII,oBAAoB,GAAG;QACzBF,gBAAgBA,iBAAiBF,oBAAoBA,oBAAoB,IAAIE;QAC7E,MAAMG,kBAAkBH,gBAAgBE;QAExCV,sBAAsBA,oBAAoBS,KAAK,CAAC,GAAGD;QACnDP,gBAAgBE,MAAMM,KAAK,CAACD,eAAeG;QAC3C,IAAIA,kBAAkBP,YAAY;YAChCF,oBAAoBC,MAAMM,KAAK,CAACE,iBAAiBP;QACnD;IACF,OAAO,IAAII,gBAAgBJ,YAAY;QACrCF,oBAAoBC,MAAMM,KAAK,CAACD,eAAeJ;IACjD;IAEA,OAAO;QACLJ;QACAC;QACAC;IACF;AACF,EAAE;AAEF,SAASK,qBAAqBD,iBAAqC;IACjE,OAAOA,qBAAqBA,qBAAqB,IAAIA,oBAAoBT;AAC3E"}

View File

@@ -0,0 +1,37 @@
"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, {
isTruncatableBreadcrumbContent: function() {
return isTruncatableBreadcrumbContent;
},
truncateBreadcrumLongTooltip: function() {
return truncateBreadcrumLongTooltip;
},
truncateBreadcrumbLongName: function() {
return truncateBreadcrumbLongName;
}
});
const MAX_NAME_LENGTH = 30;
const MAX_TOOLTIP_LENGTH = 80;
const truncateBreadcrumb = (content, maxLength)=>{
return isTruncatableBreadcrumbContent(content, maxLength) ? content.trim().slice(0, maxLength).concat('...') : content;
};
const isTruncatableBreadcrumbContent = (content, maxLength)=>{
return content.length > maxLength;
};
const truncateBreadcrumbLongName = (content, maxLength)=>{
const truncateLength = maxLength || MAX_NAME_LENGTH;
return truncateBreadcrumb(content, truncateLength);
};
const truncateBreadcrumLongTooltip = (content, maxLength)=>{
const truncateLength = maxLength || MAX_TOOLTIP_LENGTH;
return truncateBreadcrumb(content, truncateLength);
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/utils/truncateBreadcrumb.ts"],"sourcesContent":["const MAX_NAME_LENGTH = 30;\nconst MAX_TOOLTIP_LENGTH = 80;\n\nconst truncateBreadcrumb = (content: string, maxLength: number): string => {\n return isTruncatableBreadcrumbContent(content, maxLength)\n ? content.trim().slice(0, maxLength).concat('...')\n : content;\n};\n\nexport const isTruncatableBreadcrumbContent = (content: string, maxLength: number): boolean => {\n return content.length > maxLength;\n};\n\nexport const truncateBreadcrumbLongName = (content: string, maxLength?: number): string => {\n const truncateLength = maxLength || MAX_NAME_LENGTH;\n return truncateBreadcrumb(content, truncateLength);\n};\n\nexport const truncateBreadcrumLongTooltip = (content: string, maxLength?: number): string => {\n const truncateLength = maxLength || MAX_TOOLTIP_LENGTH;\n return truncateBreadcrumb(content, truncateLength);\n};\n"],"names":["MAX_NAME_LENGTH","MAX_TOOLTIP_LENGTH","truncateBreadcrumb","content","maxLength","isTruncatableBreadcrumbContent","trim","slice","concat","length","truncateBreadcrumbLongName","truncateLength","truncateBreadcrumLongTooltip"],"mappings":";;;;;;;;;;;kCASaK;;;gCASAO;;;8BALAF;;;;AAbb,MAAMV,kBAAkB;AACxB,MAAMC,qBAAqB;AAE3B,MAAMC,qBAAqB,CAACC,SAAiBC;IAC3C,OAAOC,+BAA+BF,SAASC,aAC3CD,QAAQG,IAAI,GAAGC,KAAK,CAAC,GAAGH,WAAWI,MAAM,CAAC,SAC1CL;AACN;AAEO,MAAME,iCAAiC,CAACF,SAAiBC;IAC9D,OAAOD,QAAQM,MAAM,GAAGL;AAC1B,EAAE;AAEK,MAAMM,6BAA6B,CAACP,SAAiBC;IAC1D,MAAMO,iBAAiBP,aAAaJ;IACpC,OAAOE,mBAAmBC,SAASQ;AACrC,EAAE;AAEK,MAAMC,+BAA+B,CAACT,SAAiBC;IAC5D,MAAMO,iBAAiBP,aAAaH;IACpC,OAAOC,mBAAmBC,SAASQ;AACrC,EAAE"}