@univerjs/ui 1.0.0-rc.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/README.md +16 -0
  2. package/lib/cjs/facade.js +12 -6
  3. package/lib/cjs/index.js +1820 -635
  4. package/lib/cjs/locale/ar-SA.js +2 -1
  5. package/lib/cjs/locale/ca-ES.js +2 -1
  6. package/lib/cjs/locale/de-DE.js +2 -1
  7. package/lib/cjs/locale/en-US.js +2 -1
  8. package/lib/cjs/locale/es-ES.js +2 -1
  9. package/lib/cjs/locale/fa-IR.js +2 -1
  10. package/lib/cjs/locale/fr-FR.js +2 -1
  11. package/lib/cjs/locale/id-ID.js +2 -1
  12. package/lib/cjs/locale/it-IT.js +2 -1
  13. package/lib/cjs/locale/ja-JP.js +2 -1
  14. package/lib/cjs/locale/ko-KR.js +2 -1
  15. package/lib/cjs/locale/pl-PL.js +2 -1
  16. package/lib/cjs/locale/pt-BR.js +2 -1
  17. package/lib/cjs/locale/ru-RU.js +2 -1
  18. package/lib/cjs/locale/sk-SK.js +2 -1
  19. package/lib/cjs/locale/vi-VN.js +2 -1
  20. package/lib/cjs/locale/zh-CN.js +2 -1
  21. package/lib/cjs/locale/zh-HK.js +2 -1
  22. package/lib/cjs/locale/zh-TW.js +2 -1
  23. package/lib/es/facade.js +12 -6
  24. package/lib/es/index.js +1815 -638
  25. package/lib/es/locale/ar-SA.js +2 -0
  26. package/lib/es/locale/ca-ES.js +2 -0
  27. package/lib/es/locale/de-DE.js +2 -0
  28. package/lib/es/locale/en-US.js +2 -0
  29. package/lib/es/locale/es-ES.js +2 -0
  30. package/lib/es/locale/fa-IR.js +2 -0
  31. package/lib/es/locale/fr-FR.js +2 -0
  32. package/lib/es/locale/id-ID.js +2 -0
  33. package/lib/es/locale/it-IT.js +2 -0
  34. package/lib/es/locale/ja-JP.js +2 -0
  35. package/lib/es/locale/ko-KR.js +2 -0
  36. package/lib/es/locale/pl-PL.js +2 -0
  37. package/lib/es/locale/pt-BR.js +2 -0
  38. package/lib/es/locale/ru-RU.js +2 -0
  39. package/lib/es/locale/sk-SK.js +2 -0
  40. package/lib/es/locale/vi-VN.js +2 -0
  41. package/lib/es/locale/zh-CN.js +2 -0
  42. package/lib/es/locale/zh-HK.js +2 -0
  43. package/lib/es/locale/zh-TW.js +2 -0
  44. package/lib/facade.js +12 -6
  45. package/lib/index.css +102 -34
  46. package/lib/index.js +1815 -638
  47. package/lib/locale/ar-SA.js +2 -0
  48. package/lib/locale/ca-ES.js +2 -0
  49. package/lib/locale/de-DE.js +2 -0
  50. package/lib/locale/en-US.js +2 -0
  51. package/lib/locale/es-ES.js +2 -0
  52. package/lib/locale/fa-IR.js +2 -0
  53. package/lib/locale/fr-FR.js +2 -0
  54. package/lib/locale/id-ID.js +2 -0
  55. package/lib/locale/it-IT.js +2 -0
  56. package/lib/locale/ja-JP.js +2 -0
  57. package/lib/locale/ko-KR.js +2 -0
  58. package/lib/locale/pl-PL.js +2 -0
  59. package/lib/locale/pt-BR.js +2 -0
  60. package/lib/locale/ru-RU.js +2 -0
  61. package/lib/locale/sk-SK.js +2 -0
  62. package/lib/locale/vi-VN.js +2 -0
  63. package/lib/locale/zh-CN.js +2 -0
  64. package/lib/locale/zh-HK.js +2 -0
  65. package/lib/locale/zh-TW.js +2 -0
  66. package/lib/types/controllers/format-painter.controller.d.ts +25 -0
  67. package/lib/types/facade/f-menu-builder.d.ts +14 -1
  68. package/lib/types/facade/f-univer.d.ts +30 -5
  69. package/lib/types/index.d.ts +10 -0
  70. package/lib/types/locale/en-US.d.ts +2 -0
  71. package/lib/types/menu/format-painter.menu.d.ts +19 -0
  72. package/lib/types/services/contextmenu/contextmenu.service.d.ts +1 -0
  73. package/lib/types/services/format-painter/format-painter-canvas.d.ts +28 -0
  74. package/lib/types/services/format-painter/format-painter-session.service.d.ts +61 -0
  75. package/lib/types/services/menu/menu-manager.service.d.ts +13 -1
  76. package/lib/types/services/menu/menu.d.ts +6 -0
  77. package/lib/types/utils/mobile-canvas-gesture.d.ts +50 -0
  78. package/lib/types/views/components/context-menu/MobileContextMenu.d.ts +6 -0
  79. package/lib/types/views/components/dialog-part/MobileDialogPart.d.ts +5 -0
  80. package/lib/types/views/components/mobile-drawer/MobileDrawer.d.ts +2 -0
  81. package/lib/types/views/components/mobile-zoom-indicator/mobile-zoom-indicator.d.ts +26 -0
  82. package/lib/types/views/components/ribbon/ToolbarButton.d.ts +1 -1
  83. package/lib/types/views/components/sidebar/MobileSidebar.d.ts +5 -0
  84. package/lib/types/views/emoji-picker/emoji-picker-utils.d.ts +1 -1
  85. package/lib/types/views/font-family/MobileFontFamilyDropdown.d.ts +17 -0
  86. package/lib/types/views/menu/mobile/MobileMenu.d.ts +1 -1
  87. package/lib/types/views/mobile-workbench/MobileCanvasLayout.d.ts +42 -0
  88. package/lib/types/views/mobile-workbench/MobileWorkbench.d.ts +2 -0
  89. package/lib/types/views/notification/Notification.d.ts +6 -1
  90. package/lib/umd/facade.js +1 -1
  91. package/lib/umd/index.js +34 -16
  92. package/lib/umd/locale/ar-SA.js +1 -1
  93. package/lib/umd/locale/ca-ES.js +1 -1
  94. package/lib/umd/locale/de-DE.js +1 -1
  95. package/lib/umd/locale/en-US.js +1 -1
  96. package/lib/umd/locale/es-ES.js +1 -1
  97. package/lib/umd/locale/fa-IR.js +1 -1
  98. package/lib/umd/locale/fr-FR.js +1 -1
  99. package/lib/umd/locale/id-ID.js +1 -1
  100. package/lib/umd/locale/it-IT.js +1 -1
  101. package/lib/umd/locale/ja-JP.js +1 -1
  102. package/lib/umd/locale/ko-KR.js +1 -1
  103. package/lib/umd/locale/pl-PL.js +1 -1
  104. package/lib/umd/locale/pt-BR.js +1 -1
  105. package/lib/umd/locale/ru-RU.js +1 -1
  106. package/lib/umd/locale/sk-SK.js +1 -1
  107. package/lib/umd/locale/vi-VN.js +1 -1
  108. package/lib/umd/locale/zh-CN.js +1 -1
  109. package/lib/umd/locale/zh-HK.js +1 -1
  110. package/lib/umd/locale/zh-TW.js +1 -1
  111. package/package.json +12 -12
package/lib/umd/index.js CHANGED
@@ -1,23 +1,32 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("rxjs"),require("react"),require("@univerjs/design"),require("@univerjs/engine-render"),require("rxjs/operators"),require("@wendellhu/redi/react-bindings"),require("react/jsx-runtime"),require("react-dom"),require("@univerjs/protocol")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`rxjs`,`react`,`@univerjs/design`,`@univerjs/engine-render`,`rxjs/operators`,`@wendellhu/redi/react-bindings`,`react/jsx-runtime`,`react-dom`,`@univerjs/protocol`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverUi={},e.UniverCore,e.rxjs,e.React,e.UniverDesign,e.UniverEngineRender,e.rxjs.operators,e[`@wendellhu/redi/react-bindings`],e.React,e.ReactDOM,e.UniverProtocol))})(this,function(e,t,n,r,i,a,o,s,c,l,u){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let d=`data-embed-interaction-boundary-owner`,f=`data-embed-child-unit-id`;function p(e){if(!_(e))return;let t=e.closest(`[${d}]`);return v(e,`data-embed-interaction-boundary-owner`)??v(t,`data-embed-interaction-boundary-owner`)??void 0}function m(e){return _(e)&&e.closest(`[data-embed-interaction-boundary-owner]`)!=null}function h(e){if(!_(e))return;let t=e.closest(`[${f}]`);return v(e,`data-embed-child-unit-id`)??v(t,`data-embed-child-unit-id`)??void 0}function g(e){let t=p(e.currentTarget);t&&p(e.target)===t&&e.preventDefault()}function _(e){return!!e&&typeof e.closest==`function`}function v(e,t){let n=e==null?void 0:e.getAttribute;return typeof n==`function`?n.call(e,t)??void 0:void 0}function y(e){"@babel/helpers - typeof";return y=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},y(e)}function b(e,t){if(y(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(y(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function x(e){var t=b(e,`string`);return y(t)==`symbol`?t:t+``}function S(e,t,n){return(t=x(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e,t){return function(n,r){t(n,r,e)}}function w(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let T=`FOCUSING_UNIVER`,E=[`app-layout`,`button`,`sheet-bar-append-button`,`render-canvas`,`workbench-layout`],D=(0,t.createIdentifier)(`ui.layout-service`),O=class extends t.Disposable{get isFocused(){return this._isFocused}constructor(e,t){super(),this._contextService=e,this._univerInstanceService=t,S(this,`_rootContainerElement`,null),S(this,`_isFocused`,!1),S(this,`_focusHandlers`,new Map),S(this,`_contentElements`,[]),S(this,`_allContainers`,[]),this._initUniverFocusListener(),this._initEditorStatus()}get rootContainerElement(){return this._rootContainerElement}focus(e){let n=e===void 0?this._univerInstanceService.getFocusedUnit():this._univerInstanceService.getUnit(e);if(!n)return;let r;n instanceof t.Workbook?r=this._focusHandlers.get(t.UniverInstanceType.UNIVER_SHEET):n instanceof t.DocumentDataModel?r=this._focusHandlers.get(t.UniverInstanceType.UNIVER_DOC):(n==null?void 0:n.type)===t.UniverInstanceType.UNIVER_SLIDE&&(r=this._focusHandlers.get(t.UniverInstanceType.UNIVER_SLIDE)),r&&r(n.getUnitId())}registerFocusHandler(e,n){if(this._focusHandlers.has(e))throw Error(`[DesktopLayoutService]: handler of type ${e} bas been registered!`);return this._focusHandlers.set(e,n),(0,t.toDisposable)(()=>this._focusHandlers.delete(e))}registerContentElement(e){if(this._contentElements.indexOf(e)===-1)return this._contentElements.push(e),(0,t.toDisposable)(()=>(0,t.remove)(this._contentElements,e));throw Error(`[DesktopLayoutService]: content container already registered!`)}getContentElement(){return this._contentElements[0]}registerRootContainerElement(e){if(this._rootContainerElement)throw Error(`[DesktopLayoutService]: root container already registered!`);this._rootContainerElement=e;let n=this.registerContainerElement(e);return(0,t.toDisposable)(()=>{this._rootContainerElement=null,n.dispose()})}registerContainerElement(e){if(this._allContainers.indexOf(e)===-1)return this._allContainers.push(e),(0,t.toDisposable)(()=>(0,t.remove)(this._allContainers,e));throw Error(`[LayoutService]: container already registered!`)}checkElementInCurrentContainers(e){return this._allContainers.some(t=>t.contains(e))}checkContentIsFocused(){return this._contentElements.some(e=>e===document.activeElement||e.contains(document.activeElement))}_initUniverFocusListener(){this.disposeWithMe((0,n.fromEvent)(window,`focusin`).subscribe(e=>{var n;let r=e.target;if((n=this._rootContainerElement)!=null&&n.contains(r)&&E.some(e=>r.dataset.uComp===e)&&!m(r)){queueMicrotask(()=>{let e=A(r);e&&this._univerInstanceService.getUnit(e)&&this._univerInstanceService.focusUnit(e),this.focus(),this._isFocused=!0,this._contextService.setContextValue(T,this._isFocused),this._contextService.setContextValue(t.FOCUSING_UNIVER_EDITOR,k())});return}r&&this.checkElementInCurrentContainers(r)?this._isFocused=!0:this._isFocused=!1,this._contextService.setContextValue(T,this._isFocused),this._contextService.setContextValue(t.FOCUSING_UNIVER_EDITOR,k())}))}_initEditorStatus(){this._contextService.setContextValue(t.FOCUSING_UNIVER_EDITOR,k())}};O=w([C(0,t.IContextService),C(1,t.IUniverInstanceService)],O);function k(){var e;return((e=document.activeElement)==null?void 0:e.dataset.uComp)===`editor`}function A(e){return e.dataset.uUnitId}let j={id:`base-ui.operation.toggle-fullscreen`,type:t.CommandType.OPERATION,handler:e=>{let t=e.get(D).rootContainerElement;if(!t)return!1;let n=t.ownerDocument;try{if(n.fullscreenElement){if(!n.exitFullscreen)return!1;n.exitFullscreen().catch(()=>{})}else{if(!t.requestFullscreen)return!1;t.requestFullscreen().catch(()=>{})}return!0}catch{return!1}}};var M=class extends t.Disposable{constructor(...e){super(...e),S(this,`_open$`,new n.BehaviorSubject(!1)),S(this,`open$`,this._open$.pipe((0,n.distinctUntilChanged)()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}};let N=(0,t.createIdentifier)(`ui.left-sidebar.service`),P=(0,t.createIdentifier)(`ui.sidebar.service`),F=`ShortcutPanel`,I={id:`base-ui.operation.toggle-shortcut-panel`,type:t.CommandType.OPERATION,handler:e=>{let t=e.get(M),n=e.get(P);return t.isOpen?(t.close(),n.close()):(t.open(),n.open({header:{title:`ui.shortcut-panel.title`},children:{label:F}})),!0}},L=class extends t.Disposable{constructor(e){super(),this._logService=e,S(this,`_components`,new Map),S(this,`reactUtils`,{createElement:r.createElement,useEffect:r.useEffect,useRef:r.useRef}),S(this,`_handler`,{react:e=>e})}register(e,n,r){let{framework:i=`react`}=r||{};if(i===`vue3`&&!this._handler.vue3)throw Error(`[ComponentManager] Vue3 support is no longer built-in since v0.9.0, please install @univerjs/ui-adapter-vue3 plugin.`);if(this._components.has(e)){var a;(a=this._logService)==null||a.warn(`[ComponentManager]`,`Component ${e} already exists.`)}return this._components.set(e,{framework:i,component:n}),(0,t.toDisposable)(()=>{this._components.delete(e)})}setHandler(e,t){this._handler[e]=t}get(e){if(!e)return;let t=this._components.get(e);if(!t)return;let n=this._handler[t.framework];if(!n)throw Error(`[ComponentManager] No handler found for framework: ${t.framework}`);return n(t.component,e)}delete(e){this._components.delete(e)}};L=w([C(0,(0,t.Optional)(t.ILogService))],L);let R=()=>null,z=class extends t.Disposable{constructor(e){super(),this._logService=e,S(this,`_icons`,new Map)}has(e){return this._icons.has(e)}_register(e,n){let r=this._icons.get(e);return r===n?(0,t.toDisposable)(()=>{}):(r&&this._logService.warn(`[IconManager]`,`Icon ${e} already exists.`),this._icons.set(e,n),(0,t.toDisposable)(()=>{this._icons.delete(e)}))}register(e,n){if(typeof e==`string`)return this._register(e,n);let r=[];for(let t in e)r.push(this._register(t,e[t]));return(0,t.toDisposable)(()=>{r.forEach(e=>e.dispose())})}get(e){return this._icons.get(e)||(this._logService.warn(`[IconManager]`,`Icon ${e} does not exist.`),R)}delete(e){this._icons.delete(e)}};z=w([C(0,t.ILogService)],z);var B=class{constructor(){S(this,`_list`,new Map)}setIndex(e,t){this._list.set(e,t)}getIndex(e){return this._list.get(e)}removeIndex(e){this._list.delete(e)}getMaxIndex(){let e=-9999999;return this._list.forEach(t=>{+t>e&&(e=+t)}),e}};function V(e,r,i,a){let o=e.get(t.IUniverInstanceService),s=e=>t.SHEET_EDITOR_UNITS.includes(e)?t.UniverInstanceType.UNIVER_SHEET:o.getUnitType(e);return new n.Observable(e=>{let t=o.focused$.subscribe(t=>{if(t==null||i&&i!==t||a&&(Array.isArray(a)?a.includes(t):a===t))return e.next(!0);let n=s(t);e.next(n!==r)}),n=o.getFocusedUnit();if(n==null){let t=o.getCurrentUnitOfType(r);e.next(t==null)}else{let t=s(n.getUnitId());e.next(t!==r)}return()=>t.unsubscribe()})}function H(e){let r=e.get(t.IUniverInstanceService);return new n.Observable(e=>{let n=r.focused$.subscribe(n=>{if(n==null)return e.next(!0);let i=r.getUnit(n,t.UniverInstanceType.UNIVER_DOC),a=i==null?void 0:i.getSnapshot().documentStyle.documentFlavor;e.next(a!==t.DocumentFlavor.TRADITIONAL)}),i=r.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(i==null)e.next(!0);else{let n=i==null?void 0:i.getSnapshot().documentStyle.documentFlavor;e.next(n!==t.DocumentFlavor.TRADITIONAL)}return()=>n.unsubscribe()})}function U(e,t){return!t||!e?e:([`type`,`icon`,`title`,`tooltip`].forEach(n=>{t[n]!==void 0&&(e[n]=t[n])}),[`hidden`,`disabled`,`activated`].forEach(n=>{ee(e,`${n}$`,t[n])}),e)}function ee(e,t,r){r!==void 0&&(e[t]?e[t]=e[t].pipe((0,n.switchMap)(()=>new n.BehaviorSubject(r))):e[t]=new n.Observable(e=>{e.next(r)}))}let te=function(e){return e[e.BUTTON=0]=`BUTTON`,e[e.SELECTOR=1]=`SELECTOR`,e[e.BUTTON_SELECTOR=2]=`BUTTON_SELECTOR`,e[e.SUBITEMS=3]=`SUBITEMS`,e}({});function ne(e){return e.type===2}let W=(0,t.createIdentifier)(`univer.ui.workbench.service`),re=class extends t.Disposable{constructor(e){super(),S(this,`_tokens`,new Set),S(this,`_subscriptions`,new n.Subscription),S(this,`_rootUnitId`,null),S(this,`_rootUnitType$`,new n.BehaviorSubject(null)),S(this,`_skeletonVisible$`,new n.BehaviorSubject(!1)),S(this,`rootUnitType$`,this._rootUnitType$.asObservable()),S(this,`skeletonVisible$`,this._skeletonVisible$.asObservable()),this._subscriptions.add(e.unitAdded$.subscribe(({unit:e,options:t})=>{let n=e.getUnitId();(t==null?void 0:t.makeCurrent)===!1||!ie(n,t)||this._setRootUnit(n,e.type)})),this._subscriptions.add(e.focused$.subscribe(t=>{if(!t)return;let n=e.getUnit(t);n&&ie(t,e.getUnitCreateOptions(t)??void 0)&&this._setRootUnit(t,n.type)})),this._subscriptions.add(e.unitDisposed$.subscribe(e=>{let t=e.getUnitId();this._rootUnitId===t&&this._setRootUnit(null,null)}))}_setRootUnit(e,t){this._rootUnitId=e,this._rootUnitType$.getValue()!==t&&this._rootUnitType$.next(t)}acquireSkeleton(){let e=Symbol(`workbench-skeleton`);this._tokens.add(e),this._tokens.size===1&&this._skeletonVisible$.next(!0);let n=(0,t.toDisposable)(()=>{!this._tokens.delete(e)||this._tokens.size>0||this._skeletonVisible$.next(!1)});return this.disposeWithMe(n)}dispose(){this._subscriptions.unsubscribe(),this._tokens.clear(),this._rootUnitId=null,this._rootUnitType$.complete(),this._skeletonVisible$.complete(),super.dispose()}};re=w([C(0,(0,t.Inject)(t.IUniverInstanceService))],re);function ie(e,n){return!(0,t.isInternalEditorID)(e)&&!(n!=null&&n.skipAutoRender)&&!(n!=null&&n.embeddedRender)}function ae(e,r,i,a){let o=e.get(t.IUniverInstanceService),s=(0,n.combineLatest)([e.get(W).rootUnitType$,o.getCurrentTypeOfUnit$(i)]).pipe((0,n.switchMap)(([r,o])=>{if(r!==i||!o||(0,t.isInternalEditorID)(o.getUnitId()))return(0,n.of)({hidden:!0,disabled:!0});let s=e.get(t.ObjectPermissionService),c=o.getUnitId();return s.changed$.pipe((0,n.map)(()=>({disabled:!s.canView({unitId:c,objectId:c,objectType:a}),hidden:!s.supports({unitId:c,objectId:c,objectType:a})})))}));return{id:r,type:0,icon:`ProtectIcon`,title:`ui.objectPermission.title`,tooltip:`ui.objectPermission.title`,disabled$:s.pipe((0,n.map)(e=>e.disabled)),hidden$:s.pipe((0,n.map)(e=>e.hidden))}}let oe=`ui.config`,se={},G=`MOBILE_UI_MODE`,ce=(0,t.createIdentifier)(`ui.message.service`),le=`ui.permission-denied`,K=3e3,q=class extends t.Disposable{constructor(e,t,n,r){super(),this._errorService=e,this._messageService=t,this._permissionService=n,this._localeService=r,S(this,`_lastPermissionAttempt`,-1/0),S(this,`_lastPermissionTarget`,void 0),this.disposeWithMe(this._errorService.error$.subscribe(e=>{if(e.code===`PERMISSION_DENIED`){if(!this._permissionService.getShowComponents())return;let t=Date.now(),n=e.permissionTarget===this._lastPermissionTarget&&t-this._lastPermissionAttempt<K;this._lastPermissionAttempt=t,this._lastPermissionTarget=e.permissionTarget,n||this._messageService.show({id:le,content:this._localeService.t(`ui.objectPermission.operationDenied`),type:i.MessageType.Warning,duration:K});return}this._messageService.show({content:e.errorKey,type:i.MessageType.Error})}))}dispose(){this._messageService.remove(le),super.dispose()}};q=w([C(0,(0,t.Inject)(t.ErrorService)),C(1,ce),C(2,t.IPermissionService),C(3,(0,t.Inject)(t.LocaleService))],q);let ue=`univer.command.copy`,de={id:ue,name:ue,multi:!0,priority:0,type:t.CommandType.COMMAND,preconditions:()=>!1,handler:()=>!0},fe=`univer.command.cut`,pe={id:fe,name:fe,multi:!0,priority:0,type:t.CommandType.COMMAND,preconditions:()=>!1,handler:async()=>!0},me=`univer.command.paste`,he={id:me,name:me,multi:!0,priority:0,type:t.CommandType.COMMAND,preconditions:()=>!1,handler:()=>!0},ge=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.BACKSPACE=8]=`BACKSPACE`,e[e.TAB=9]=`TAB`,e[e.ENTER=13]=`ENTER`,e[e.SHIFT=16]=`SHIFT`,e[e.CTRL=17]=`CTRL`,e[e.ESC=27]=`ESC`,e[e.SPACE=32]=`SPACE`,e[e.END=35]=`END`,e[e.HOME=36]=`HOME`,e[e.ARROW_LEFT=37]=`ARROW_LEFT`,e[e.ARROW_UP=38]=`ARROW_UP`,e[e.ARROW_RIGHT=39]=`ARROW_RIGHT`,e[e.ARROW_DOWN=40]=`ARROW_DOWN`,e[e.INSERT=45]=`INSERT`,e[e.DELETE=46]=`DELETE`,e[e.Digit0=48]=`Digit0`,e[e.Digit1=49]=`Digit1`,e[e.Digit2=50]=`Digit2`,e[e.Digit3=51]=`Digit3`,e[e.Digit4=52]=`Digit4`,e[e.Digit5=53]=`Digit5`,e[e.Digit6=54]=`Digit6`,e[e.Digit7=55]=`Digit7`,e[e.Digit8=56]=`Digit8`,e[e.Digit9=57]=`Digit9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.NUM_LOCK=144]=`NUM_LOCK`,e[e.SCROLL_LOCK=145]=`SCROLL_LOCK`,e[e.EQUAL=187]=`EQUAL`,e[e.COMMA=188]=`COMMA`,e[e.MINUS=189]=`MINUS`,e[e.PERIOD=190]=`PERIOD`,e[e.BACK_SLASH=220]=`BACK_SLASH`,e}({}),_e={8:`Backspace`,9:`Tab`,13:`Enter`,46:`Del`,27:`Esc`,32:`Space`,36:`Home`,35:`End`,37:`←`,39:`→`,38:`↑`,40:`↓`,48:`0`,49:`1`,50:`2`,51:`3`,52:`4`,53:`5`,54:`6`,55:`7`,56:`8`,57:`9`,65:`A`,66:`B`,67:`C`,68:`D`,69:`E`,70:`F`,71:`G`,72:`H`,73:`I`,74:`J`,75:`K`,76:`L`,77:`M`,78:`N`,79:`O`,80:`P`,81:`Q`,82:`R`,83:`S`,84:`T`,85:`U`,86:`V`,87:`W`,88:`X`,89:`Y`,90:`Z`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,189:`-`,187:`=`,190:`.`,188:`,`,220:`\\`},ve=function(e){return e[e.SHIFT=1024]=`SHIFT`,e[e.ALT=2048]=`ALT`,e[e.CTRL_COMMAND=4096]=`CTRL_COMMAND`,e[e.MAC_CTRL=8192]=`MAC_CTRL`,e}({});function ye(e,n,r){return window.addEventListener(e,n,r),(0,t.toDisposable)(()=>window.removeEventListener(e,n,r))}let be=(0,t.createIdentifier)(`ui.platform.service`);var xe=class{get isMac(){return/Mac/.test(navigator.appVersion)}get isWindows(){return/Windows/.test(navigator.appVersion)}get isLinux(){return/Linux/.test(navigator.appVersion)}};let Se=(0,t.createIdentifier)(`ui.runtime-scope.service`);var Ce=class extends t.Disposable{constructor(...e){super(...e),S(this,`_scopes`,new Map)}register(e){return this._scopes.set(e.unitId,e),(0,t.toDisposable)(()=>{this._scopes.get(e.unitId)===e&&this._scopes.delete(e.unitId)})}get(e){return e?this._scopes.get(e):void 0}};let we=new Set([13,32,9,27,40,38,37,39,36,35]),Te=function(e){return e[e.ALLOW_NATIVE=0]=`ALLOW_NATIVE`,e[e.OVERRIDE_NATIVE=1]=`OVERRIDE_NATIVE`,e}({}),Ee=(0,t.createIdentifier)(`ui.shortcut.service`),De=class extends t.Disposable{constructor(e,t,r,i,a){super(),this._commandService=e,this._platformService=t,this._contextService=r,this._runtimeScopeService=i,this._layoutService=a,S(this,`_shortCutMapping`,new Map),S(this,`_commandIDMapping`,new Map),S(this,`_shortcutChanged$`,new n.Subject),S(this,`shortcutChanged$`,this._shortcutChanged$.asObservable()),S(this,`_forceEscapeCount`,0),S(this,`_forceDisabled`,!1),this.disposeWithMe(ye(`keydown`,e=>{this._resolveKeyboardEvent(e)},{capture:!0}))}getAllShortcuts(){return Array.from(this._shortCutMapping.values()).map(e=>Array.from(e.values())).flat()}registerShortcut(e){let n=this._getBindingFromItem(e);if(!n)return(0,t.toDisposable)(()=>{});let r=this._shortCutMapping.get(n);r?r.add(e):this._shortCutMapping.set(n,new Set([e]));let i=e.id,a=this._commandIDMapping.get(i);return a?a.add(e):this._commandIDMapping.set(i,new Set([e])),this._emitShortcutChanged(),(0,t.toDisposable)(()=>{var t,r,a,o;(t=this._shortCutMapping.get(n))==null||t.delete(e),((r=this._shortCutMapping.get(n))==null?void 0:r.size)===0&&this._shortCutMapping.delete(n),(a=this._commandIDMapping.get(i))==null||a.delete(e),((o=this._commandIDMapping.get(i))==null?void 0:o.size)===0&&this._commandIDMapping.delete(i),this._emitShortcutChanged()})}getShortcutDisplayOfCommand(e){let t=this._commandIDMapping.get(e);if(!t)return null;let n=t.values().next().value;return n?this.getShortcutDisplay(n):null}getShortcutDisplay(e){let t=this._getBindingFromItem(e);if(!t)return null;let n=t&4096,r=t&1024,i=t&2048,a=t&8192,o=_e[t&255]??`<->`;return this._platformService.isMac?`${n?`⌘+`:``}${r?`⇧+`:``}${i?`⌥+`:``}${a?`⌃+`:``}${o}`:`${n?`Ctrl+`:``}${r?`Shift+`:``}${i?`Alt+`:``}${o}`}_emitShortcutChanged(){this._shortcutChanged$.next()}forceEscape(){return this._forceEscapeCount+=1,(0,t.toDisposable)(()=>{this._forceEscapeCount=Math.max(0,this._forceEscapeCount-1)})}forceDisable(){return this._forceDisabled=!0,(0,t.toDisposable)(()=>{this._forceDisabled=!1})}_resolveKeyboardEvent(e){let n=this.dispatch(e);if(n){var r;((r=this._getRuntimeService(e,t.ICommandService))==null?void 0:r.executeCommand(n.id,n.staticParameters))??this._commandService.executeCommand(n.id,n.staticParameters),e.preventDefault()}}dispatch(e){if(e.isComposing||(e.keyCode===8||e.keyCode===46)&&e.target instanceof HTMLInputElement&&e.target.closest(`[data-u-command]`)||!e.ctrlKey&&!e.metaKey&&!e.altKey&&we.has(e.keyCode)&&e.target instanceof HTMLElement&&(e.target.matches(`button[data-u-command], [data-u-command][role="button"], [data-embed-floating-menu="true"] button, [data-u-command] input`)||e.target.closest(`[role="menu"]`))||this._forceEscapeCount>0||this._forceDisabled||this._layoutService&&!this._layoutService.checkElementInCurrentContainers(e.target))return;let n=this._deriveBindingFromEvent(e);if(n===null)return;let r=this._shortCutMapping.get(n);if(r===void 0)return;let i=this._getRuntimeService(e,t.IContextService)??this._contextService,a=Array.from(r).sort((e,t)=>(t.priority??0)-(e.priority??0)).find(t=>{var n,r;return(((n=t.eventPreconditions)==null?void 0:n.call(t,e))??!0)&&(((r=t.preconditions)==null?void 0:r.call(t,i))??!0)});if(!(this._shouldLetEmbedTextEditorHandleNativeShortcut(e,n)&&(a==null?void 0:a.nativeTextEditorBehavior)!==1))return a}_getBindingFromItem(e){return this._platformService.isMac&&e.mac?e.mac:this._platformService.isWindows&&e.win?e.win:this._platformService.isLinux&&e.linux?e.linux:e.binding}_deriveBindingFromEvent(e){let{shiftKey:t,metaKey:n,altKey:r,keyCode:i}=e,a=i;return t&&(a|=1024),r&&(a|=2048),(this._platformService.isMac?n:e.ctrlKey)&&(a|=4096),this._platformService.isMac&&e.ctrlKey&&(a|=8192),a}_shouldLetEmbedTextEditorHandleNativeShortcut(e,t){if(t!==4161)return!1;let n=e.target;return n instanceof HTMLElement&&(n.isContentEditable||n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&m(n)}_getRuntimeService(e,t){let n=h(e.target),r=this._runtimeScopeService.get(n);return r!=null&&r.has(t)?r.get(t):void 0}};De=w([C(0,t.ICommandService),C(1,be),C(2,t.IContextService),C(3,Se),C(4,(0,t.Optional)(D))],De);function Oe(e){return e.getContextValue(t.FOCUSING_UNIVER_EDITOR)}function ke(e){return e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!(e.getContextValue(t.EDITOR_ACTIVATED)||e.getContextValue(t.FOCUSING_FX_BAR_EDITOR))}let Ae={id:de.id,description:`ui.shortcut.copy`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4163,preconditions:Oe},je={id:pe.id,description:`ui.shortcut.cut`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4184,preconditions:Oe},Me={id:he.id,description:`ui.shortcut.paste`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4182,preconditions:()=>!1},Ne={id:t.UndoCommand.id,description:`ui.shortcut.undo`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4186,preconditions:ke},Pe={id:t.RedoCommand.id,description:`ui.shortcut.redo`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4185,preconditions:ke},Fe={...Pe,binding:void 0,mac:5210},Ie=class extends t.Disposable{constructor(e,t){super(),this._shortcutService=e,this._commandService=t,this.initialize()}initialize(){this._registerCommands(),this._registerShortcuts()}_registerCommands(){this.disposeWithMe(this._commandService.registerCommand(j)),[pe,de,he].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_registerShortcuts(){let e=[Ne,Pe,Fe];for(let n of e)this.disposeWithMe(this._shortcutService.registerShortcut({...n,eventPreconditions:e=>{let t=e.target;return t instanceof HTMLElement&&t===t.ownerDocument.activeElement&&!t.isContentEditable&&t.matches(`button[data-u-command], [data-u-command][role="button"], [data-embed-floating-menu="true"] button`)},preconditions:e=>!(e.getContextValue(t.EDITOR_ACTIVATED)||e.getContextValue(t.FOCUSING_FX_BAR_EDITOR))}));e.push(je,Ae,Me),e.forEach(e=>this.disposeWithMe(this._shortcutService.registerShortcut(e)))}};Ie=w([C(0,Ee),C(1,t.ICommandService)],Ie);let Le=function(e){return e.RIBBON=`ribbon`,e.CONTEXT_MENU=`contextMenu`,e}({}),Re=function(e){return e.SHEET=`floatingObjectToolbar.sheet`,e.DOC=`floatingObjectToolbar.doc`,e.SLIDE=`floatingObjectToolbar.slide`,e.BOARD=`floatingObjectToolbar.board`,e}({}),ze=function(e){return e.START=`ribbon.start`,e.INSERT=`ribbon.insert`,e.FORMULAS=`ribbon.formulas`,e.DATA=`ribbon.data`,e.VIEW=`ribbon.view`,e.OTHERS=`ribbon.others`,e}({}),Be=function(e){return e.HISTORY=`ribbon.start.history`,e.FORMAT=`ribbon.start.format`,e.LAYOUT=`ribbon.start.layout`,e.NUMBER=`ribbon.start.number`,e.OTHERS=`ribbon.start.others`,e}({}),Ve=function(e){return e.EDIT=`ribbon.insert.edit`,e.CELL=`ribbon.insert.cell`,e.MEDIA=`ribbon.insert.media`,e.OTHERS=`ribbon.insert.others`,e}({}),He=function(e){return e.BASIC=`ribbon.formulas.basic`,e.OTHERS=`ribbon.formulas.others`,e}({}),Ue=function(e){return e.FORMULAS=`ribbon.data.formulas`,e.RULES=`ribbon.data.rules`,e.ORGANIZATION=`ribbon.data.organization`,e.OTHERS=`ribbon.data.others`,e}({}),We=function(e){return e.DISPLAY=`ribbon.view.display`,e.VISIBILITY=`ribbon.view.Visibility`,e.OTHERS=`ribbon.view.others`,e}({}),Ge=function(e){return e.OTHERS=`ribbon.others.others`,e}({}),Ke=function(e){return e.MAIN_AREA=`contextMenu.mainArea`,e.COL_HEADER=`contextMenu.colHeader`,e.ROW_HEADER=`contextMenu.rowHeader`,e.FOOTER_TABS=`contextMenu.footerTabs`,e.FOOTER_MENU=`contextMenu.footerMenu`,e.PARAGRAPH=`contextMenu.paragraph`,e.DRAWING=`contextMenu.drawing`,e}({}),qe=function(e){return e.QUICK=`contextMenu.quick`,e.FORMAT=`contextMenu.format`,e.LAYOUT=`contextMenu.layout`,e.DATA=`contextMenu.data`,e.OTHERS=`contextMenu.others`,e}({});var Je;let J=(0,t.createIdentifier)(`univer.menu-manager-service`),Ye=Je=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._configService=t,S(this,`menuChanged$`,new n.Subject),S(this,`_menu`,{ribbon:{"ribbon.start":{order:0,title:`ui.ribbon.start`,"ribbon.start.history":{order:0},"ribbon.start.format":{order:1},"ribbon.start.layout":{order:2},"ribbon.start.number":{order:3},"ribbon.start.others":{order:4}},"ribbon.insert":{order:1,title:`ui.ribbon.insert`,"ribbon.insert.edit":{order:0},"ribbon.insert.media":{order:1},"ribbon.insert.cell":{order:2},"ribbon.insert.others":{order:3}},"ribbon.formulas":{order:2,title:`ui.ribbon.formulas`,"ribbon.formulas.basic":{order:0},"ribbon.formulas.others":{order:1}},"ribbon.data":{order:3,title:`ui.ribbon.data`,"ribbon.data.formulas":{order:0},"ribbon.data.rules":{order:1},"ribbon.data.organization":{order:2},"ribbon.data.others":{order:3}},"ribbon.view":{order:4,title:`ui.ribbon.view`,"ribbon.view.display":{order:0},"ribbon.view.Visibility":{order:0},"ribbon.view.others":{order:0}},"ribbon.others":{order:5,title:`ui.ribbon.others`,"ribbon.others.others":{order:0}}},contextMenu:{"contextMenu.mainArea":{order:0,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.paragraph":{order:0,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.colHeader":{order:1,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.rowHeader":{order:2,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.footerTabs":{order:3,"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.footerMenu":{order:4,"contextMenu.others":{order:3}},"contextMenu.drawing":{order:5,"contextMenu.others":{order:3}}},"floatingObjectToolbar.sheet":{},"floatingObjectToolbar.doc":{},"floatingObjectToolbar.slide":{},"floatingObjectToolbar.board":{}})}dispose(){this.menuChanged$.complete()}mergeMenu(e,t){let n=t??this._menu;for(let[t,r]of Object.entries(n))if(t in e){let r=n,i=e;r[t]=$e(r[t],i[t]),this.menuChanged$.next()}else Ze(r)&&this.mergeMenu(e,r)}appendRootMenu(e){this._menu=(0,t.merge)({},this._menu,e),this.menuChanged$.next()}createScoped(e){let t=this,n=()=>{let n=new Je(e,t._configService);return n._menu=t._menu,n};return{menuChanged$:t.menuChanged$,mergeMenu:(e,n)=>t.mergeMenu(e,n),appendRootMenu:e=>t.appendRootMenu(e),getMenuByPositionKey:e=>n().getMenuByPositionKey(e),getFlatMenuByPositionKey:e=>n().getFlatMenuByPositionKey(e)}}_buildMenuSchema(e){let t=[];for(let[n,r]of Object.entries(e)){if(n===`replace`)continue;let e={key:n,order:r.order,title:r.title,contextual:r.contextual,quickLayout:r.quickLayout,quickColumns:r.quickColumns,quickLayoutVariant:r.quickLayoutVariant,tiny:r.tiny,gridLayout:r.gridLayout};if(r.menuItemFactory){let t=this._injector.invoke(r.menuItemFactory);if(t){let n=this._configService.getConfig(`menu`);if(n&&t.id in n){let r=t.id;e.item=U(t,n[r])}else e.item=t}}if(r.headerActionMenuItemFactory&&(e.headerActionItem=this._injector.invoke(r.headerActionMenuItemFactory)),typeof r==`object`){let n=this._buildMenuSchema(r);n.length>0&&(e.children=n.sort((e,t)=>e.order-t.order)),(e.item||e.children)&&t.push(e)}}return t.sort((e,t)=>Xe(e.order)-Xe(t.order))}getMenuByPositionKey(e){let t=n=>{if(e in n)return this._buildMenuSchema(n[e]);for(let r in n){if(r===e)return this._buildMenuSchema(n[r]);if(typeof n[r]==`object`){let e=t(n[r]);if(e)return e}}};return t(this._menu)??[]}getFlatMenuByPositionKey(e){let t=this.getMenuByPositionKey(e);function n(e){return e.reduce((e,t)=>t.children?[...e,t,...n(t.children)]:[...e,t],[])}return n(t)}};Ye=Je=w([C(0,(0,t.Inject)(t.Injector)),C(1,t.IConfigService)],Ye);function Xe(e){return e??0}function Ze(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qe(e,t=!1){if(!Ze(e))return e;let n={};for(let[r,i]of Object.entries(e))r===`replace`&&!t||(n[r]=Qe(i,t));return n}function $e(e,n){if(!Ze(n)||!Ze(e))return Qe(n);if(n.replace===!0)return Qe(n,!0);if(e.replace===!0)return Qe(e,!0);let r=(0,t.merge)({},e);for(let[e,t]of Object.entries(n))e!==`replace`&&(r[e]=e in r?$e(r[e],t):Qe(t,!0));return r}let et={id:I.id,binding:4316,description:`ui.shortcut.shortcut-panel`,group:`10_global-shortcut`,groupTitle:`ui.global-shortcut`},tt=class extends t.Disposable{constructor(e,t,n){super(),this._menuManagerService=t,this.disposeWithMe(n.registerCommand(I)),this.disposeWithMe(e.registerShortcut(et))}};tt=w([C(0,Ee),C(1,J),C(2,t.ICommandService)],tt);let nt=(0,t.createIdentifier)(`univer.ui.dialog-service`),rt=(0,t.createIdentifier)(`univer.ribbon-service`);function it(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}let at=class extends t.Disposable{constructor(e,t){super(),this._menuManagerService=e,this._univerInstanceService=t,S(this,`_ribbon$`,new n.BehaviorSubject([])),S(this,`ribbon$`,this._ribbon$.asObservable()),S(this,`_activatedTab$`,new n.BehaviorSubject(`ribbon.start`)),S(this,`activatedTab$`,this._activatedTab$.asObservable()),S(this,`_collapsedIds$`,new n.BehaviorSubject([])),S(this,`collapsedIds$`,this._collapsedIds$.asObservable()),S(this,`_fakeToolbarVisible$`,new n.BehaviorSubject(!1)),S(this,`fakeToolbarVisible$`,this._fakeToolbarVisible$.asObservable()),S(this,`_visibleContextualTabs`,new Set),S(this,`_contextualTabs`,new Set),S(this,`_lastNonContextualActivatedTab`,`ribbon.start`),S(this,`_hiddenSubscription`,null),this._initRibbonSubscription()}setActivatedTab(e){this._isContextualTab(e)||(this._lastNonContextualActivatedTab=e),this._activatedTab$.next(e)}showContextualTab(e,t){this._visibleContextualTabs.add(e),this._updateRibbon(),t!=null&&t.activate&&this.setActivatedTab(e)}hideContextualTab(e){this._visibleContextualTabs.delete(e)&&this._updateRibbon()}hideAllContextualTabs(){this._visibleContextualTabs.size!==0&&(this._visibleContextualTabs.clear(),this._updateRibbon())}setCollapsedIds(e){this._collapsedIds$.next(e)}setFakeToolbarVisible(e){this._fakeToolbarVisible$.next(e)}_initRibbonSubscription(){this.disposeWithMe((0,n.combineLatest)([this._menuManagerService.menuChanged$.pipe((0,o.startWith)(void 0)),this._univerInstanceService.focused$.pipe((0,o.startWith)(void 0),(0,o.distinctUntilChanged)())]).subscribe(()=>{this._updateRibbon()}))}_updateRibbon(){var e;let t=this._filterContextualTabs(this._menuManagerService.getMenuByPositionKey(`ribbon`)),r=[],i=[];for(let e of t)if(e.children){for(let t of e.children)if(t.children)for(let e of t.children){var a;(a=e.item)!=null&&a.hidden$&&(r.push(e.item.hidden$),i.push(e.key))}}if((e=this._hiddenSubscription)==null||e.unsubscribe(),this._hiddenSubscription=null,r.length===0){this._setRibbon(t);return}this._hiddenSubscription=(0,n.combineLatest)(r.map(e=>e.pipe((0,o.startWith)(!1)))).pipe((0,o.distinctUntilChanged)(it)).subscribe(e=>{let n=[],r=e.map((e,t)=>e?i[t]:null).filter(e=>!!e);for(let e of t){var a,o;let t={...e,children:[]};if((a=e.children)!=null&&a.length)for(let n of e.children){var s;let e={...n,children:[]},i=!0;if((s=n.children)!=null&&s.length){var c;for(let t of n.children)if(!r.includes(t.key)){var l;(l=e.children)==null||l.push(t)}(c=e.children)!=null&&c.every(e=>{var t;return((t=e.children)==null?void 0:t.length)===0})&&(i=!1)}if(i){var u;(u=t.children)==null||u.push(e)}}(o=t.children)!=null&&o.length&&t.children.every(e=>{var t;return(t=e.children)==null?void 0:t.length})&&n.push(t)}this._setRibbon(n)})}_filterContextualTabs(e){return this._contextualTabs.clear(),e.forEach(e=>{e.contextual&&this._contextualTabs.add(e.key)}),e.filter(e=>!e.contextual||this._visibleContextualTabs.has(e.key))}_setRibbon(e){let t=this._activatedTab$.getValue(),n=e.find(e=>e.key===t);if(!n&&this._contextualTabs.has(t)){let t=e.find(e=>e.key===this._lastNonContextualActivatedTab&&!e.contextual)??e.find(e=>e.key===`ribbon.start`)??e[0];t&&this._activatedTab$.next(t.key)}else if(!n&&e.some(e=>e.key===`ribbon.start`)){let t=e.find(e=>e.key===`ribbon.start`);this._activatedTab$.next(t.key),t.contextual||(this._lastNonContextualActivatedTab=t.key)}else n&&!n.contextual&&(this._lastNonContextualActivatedTab=n.key);this._ribbon$.next(e)}_isContextualTab(e){return this._contextualTabs.has(e)||this._ribbon$.getValue().some(t=>t.key===e&&t.contextual)}dispose(){var e;(e=this._hiddenSubscription)==null||e.unsubscribe(),this._hiddenSubscription=null,this._ribbon$.next([]),this._ribbon$.complete(),this._activatedTab$.complete(),this._collapsedIds$.complete(),this._fakeToolbarVisible$.complete(),super.dispose()}};at=w([C(0,J),C(1,t.IUniverInstanceService)],at);function ot(e){return typeof e==`function`?e():e}function st(e,t){let n=(0,r.useRef)(t);return(0,r.useEffect)(()=>{if(e){let t=ot(e).subscribe(e=>{n.current=e});return()=>t.unsubscribe()}},[e]),n}let ct=`FeatureSearch`,lt=`FEATURE_SEARCH_DIALOG`;function ut(e,t){return(typeof e.params==`function`?e.params():e.params)??(t===void 0?void 0:{value:t})}function dt(e){return(typeof e.params==`function`?e.params(e.value):e.params)??(e.value===void 0?void 0:{value:e.value})}function ft(e){return e.filter((n,r)=>e.findIndex(e=>e.commandId===n.commandId&&t.Tools.diffValue(e.params,n.params))===r)}function pt(){let e=(0,s.useDependency)(J),a=(0,s.useDependency)(t.LocaleService),l=(0,s.useDependency)(t.ICommandService),u=(0,s.useDependency)(nt),d=(0,s.useDependency)(D),f=(0,s.useDependency)(rt),p=(0,s.useObservable)((0,r.useMemo)(()=>{function t(e){let t=e.title??e.tooltip??e.description;return t?a.t(t):``}function r(e,n,i,o=[],s){return e.flatMap((e,c)=>{let l=a.t(e.title??``),u=l?[...n,l]:n,d=[...i,`${e.key}:${c}`],f=[];return e.item&&f.push({key:`${d.join(`/`)}:item`,item:e.item,path:u,ancestors:o,parentTitle:s}),e.headerActionItem&&f.push({key:`${d.join(`/`)}:header`,item:e.headerActionItem,path:u,ancestors:o,parentTitle:s}),e.children&&f.push(...r(e.children,u,d,e.item?[...o,e.item]:o,e.item?t(e.item):s)),f})}function i(e){var r,i,s;let{item:c}=e,l=c.type===1||c.type===2,u=l?c.selections:void 0,d=(0,n.isObservable)(u)?u.pipe((0,o.startWith)([])):(0,n.of)(u??[]);return(0,n.combineLatest)([e.ancestors.length?(0,n.combineLatest)(e.ancestors.map(e=>{var t;return((t=e.hidden$)==null?void 0:t.pipe((0,o.startWith)(!0)))??(0,n.of)(!1)})).pipe((0,o.map)(e=>e.some(Boolean))):(0,n.of)(!1),e.ancestors.length?(0,n.combineLatest)(e.ancestors.map(e=>{var t;return((t=e.disabled$)==null?void 0:t.pipe((0,o.startWith)(!0)))??(0,n.of)(!1)})).pipe((0,o.map)(e=>e.some(Boolean))):(0,n.of)(!1),((r=c.hidden$)==null?void 0:r.pipe((0,o.startWith)(!0)))??(0,n.of)(!1),((i=c.disabled$)==null?void 0:i.pipe((0,o.startWith)(!0)))??(0,n.of)(!1),((s=c.value$)==null?void 0:s.pipe((0,o.startWith)(void 0)))??(0,n.of)(void 0),d]).pipe((0,o.map)(([n,r,i,o,s,u])=>{if(n||r||i||o)return[];let d=t(c),f=e.path.join(` / `),p=[];return d&&c.type!==1&&c.type!==3&&p.push({key:e.key,title:d,parentTitle:e.parentTitle,description:a.t(c.description??``),path:f,commandId:c.commandId??c.id,params:ut(c,s),getParams:()=>ut(c,s)}),l&&u.forEach((t,n)=>{if(t.disabled||typeof t.label!=`string`)return;let r=t.commandId??t.id??c.selectionsCommandId??c.commandId??c.id;p.push({key:`${e.key}:option:${t.id??t.commandId??t.value??n}`,title:a.t(t.label),parentTitle:d,description:``,path:f,commandId:r,params:dt(t),getParams:()=>dt(t)})}),p}))}return(0,n.combineLatest)([f.ribbon$,(0,n.merge)((0,n.of)(void 0),e.menuChanged$,a.localeChanged$)]).pipe((0,o.switchMap)(([t])=>{let s=[...r(t,[a.t(`ui.featureSearch.ribbon`)],[`ribbon`]),...r(e.getMenuByPositionKey(`contextMenu`),[a.t(`ui.featureSearch.contextMenu`)],[`contextMenu`])];return s.length===0?(0,n.of)([]):(0,n.combineLatest)(s.map(i)).pipe((0,o.map)(e=>ft(e.flat())))}))},[a,e,f]),[]);async function m(e){d.focus(),await l.executeCommand(e.commandId,e.getParams())&&u.close(lt)}return(0,c.jsxs)(i.Command,{label:a.t(`ui.featureSearch.title`),loop:!0,children:[(0,c.jsx)(i.CommandInput,{autoFocus:!0,placeholder:a.t(`ui.featureSearch.placeholder`)}),(0,c.jsxs)(i.CommandList,{children:[(0,c.jsx)(i.CommandEmpty,{children:a.t(`ui.featureSearch.empty`)}),(0,c.jsx)(i.CommandGroup,{children:p.map(e=>(0,c.jsxs)(i.CommandItem,{value:e.key,keywords:[e.parentTitle??``,e.title,e.description,e.path],onSelect:()=>m(e),children:[(0,c.jsxs)(`span`,{className:`univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-1`,children:[e.parentTitle&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{className:`univer-shrink-0`,children:e.parentTitle}),(0,c.jsx)(`span`,{className:`univer-text-gray-400`,children:`/`})]}),(0,c.jsx)(`span`,{className:`univer-truncate`,children:e.title})]}),e.path&&(0,c.jsx)(`span`,{className:`univer-max-w-1/2 univer-truncate univer-text-xs univer-text-gray-400`,children:e.path})]},e.key))})]})]})}let mt={id:`ui.operation.open-feature-search`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(nt),r=e.get(t.LocaleService);return n.open({id:lt,width:560,title:{title:r.t(`ui.featureSearch.title`)},children:{label:ct},onClose:()=>n.close(lt)}),!0}};function ht(){return{id:mt.id,title:`ui.featureSearch.title`,tooltip:`ui.featureSearch.title`,icon:`FeatureSearchIcon`,type:0}}let gt=(e,r)=>{let i=e.get(t.IUndoRedoService),a=e.get(t.IContextService);return(0,n.combineLatest)([i.undoRedoStatus$.pipe((0,o.map)(e=>r?e.undos<=0:e.redos<=0)),(0,n.merge)([(0,n.of)({}),a.contextChanged$])]).pipe((0,o.map)(([e])=>e||a.getContextValue(t.EDITOR_ACTIVATED)||a.getContextValue(t.FOCUSING_FX_BAR_EDITOR)))},_t=(e,n,r)=>e.get(t.LocaleService).direction$.pipe((0,o.map)(e=>e===`rtl`?r:n));function vt(e){return{id:t.UndoCommand.id,type:0,icon:_t(e,`UndoIcon`,`RedoIcon`),title:`ui.shortcut.undo`,tooltip:`ui.shortcut.undo`,disabled$:gt(e,!0)}}function yt(e){return{id:t.RedoCommand.id,type:0,icon:_t(e,`RedoIcon`,`UndoIcon`),title:`ui.shortcut.redo`,tooltip:`ui.shortcut.redo`,disabled$:gt(e,!1)}}function bt(){return{id:I.id,title:`ui.toggle-shortcut-panel`,tooltip:`ui.toggle-shortcut-panel`,icon:`KeyboardIcon`,type:0}}let xt={"ribbon.start.history":{[t.UndoCommand.id]:{order:0,gridLayout:{row:1,column:1,iconSize:18},menuItemFactory:vt},[t.RedoCommand.id]:{order:1,gridLayout:{row:2,column:1,iconSize:18},menuItemFactory:yt}},"ribbon.start.others":{[I.id]:{order:1,menuItemFactory:bt},[mt.id]:{order:2,menuItemFactory:ht}}},St=function(e){return e.GLOBAL=`global`,e.HEADER=`header`,e.HEADER_MENU=`header-menu`,e.CONTENT=`content`,e.FOOTER=`footer`,e.LEFT_SIDEBAR=`left-sidebar`,e.FLOATING=`floating`,e.UNIT=`unit`,e.CUSTOM_HEADER=`custom-header`,e.CUSTOM_LEFT=`custom-left`,e.CUSTOM_RIGHT=`custom-right`,e.CUSTOM_FOOTER=`custom-footer`,e.TOOLBAR=`toolbar`,e}({}),Y=(0,t.createIdentifier)(`ui.parts.service`);var Ct=class extends t.Disposable{constructor(...e){super(...e),S(this,`_componentsByPart`,new Map),S(this,`_disabledUIParts`,new Map),S(this,`_componentRegistered$`,new n.Subject),S(this,`componentRegistered$`,this._componentRegistered$.asObservable()),S(this,`_uiVisible`,new Map),S(this,`_uiVisibleChange$`,new n.Subject),S(this,`uiVisibleChange$`,this._uiVisibleChange$.asObservable())}dispose(){super.dispose(),this._componentsByPart.clear(),this._disabledUIParts.clear(),this._uiVisible.clear(),this._componentRegistered$.complete(),this._uiVisibleChange$.complete()}setUIVisible(e,t){let n=this.isUIVisible(e);this._uiVisible.set(e,t);let r=this.isUIVisible(e);n!==r&&this._uiVisibleChange$.next({ui:e,visible:r})}isUIVisible(e){var t;return(this._uiVisible.get(e)??!0)&&!((t=this._disabledUIParts.get(e))!=null&&t.size)}registerDisabledUIParts(e,n){let r=[...new Set(e)],i=Symbol(`disabled-ui-parts`),a=!1,o=e=>{a!==e&&(a=e,r.forEach(e=>{let t=this.isUIVisible(e),n=this._disabledUIParts.get(e)??new Set;a?(n.add(i),this._disabledUIParts.set(e,n)):(n.delete(i),n.size===0&&this._disabledUIParts.delete(e));let r=this.isUIVisible(e);t!==r&&this._uiVisibleChange$.next({ui:e,visible:r})}))},s=n.subscribe(o),c=(0,t.toDisposable)(()=>{s.unsubscribe(),o(!1)});return this.disposeWithMe(c)}registerComponent(e,n){let r=n(),i=(this._componentsByPart.get(e)||this._componentsByPart.set(e,new Set).get(e)).add(r);return this._componentRegistered$.next(e),(0,t.toDisposable)(()=>{i.delete(r),i.size===0&&this._componentsByPart.delete(e),this._componentRegistered$.next(e)})}getComponents(e){return new Set([...this._componentsByPart.get(e)||new Set])}};function wt(e){return e.eventPassThrough!==!1}function Tt(e,t){return e.unitId===t||e.preserveOnFocusChange===!0}var Et=class extends t.Disposable{constructor(...e){super(...e),S(this,`_domLayerMap`,new Map),S(this,`_scopedRenderRootCount`,new Map),S(this,`_domLayers$`,new n.BehaviorSubject([])),S(this,`domLayers$`,this._domLayers$.asObservable())}get domLayers(){return Array.from(this._domLayerMap.entries())}_notice(){this._domLayers$.next(Array.from(this._domLayerMap.entries()))}updateFloatDom(e,t){let n=this._domLayerMap.get(e);n&&(this._domLayerMap.set(e,{...n,...t}),this._notice())}addFloatDom(e){this._domLayerMap.set(e.id,e),this._notice()}hasScopedRenderRoot(e){return this._scopedRenderRootCount.has(e)}registerScopedRenderRoot(e){return this._scopedRenderRootCount.set(e,(this._scopedRenderRootCount.get(e)??0)+1),this._notice(),(0,t.toDisposable)(()=>{let t=this._scopedRenderRootCount.get(e);t!=null&&(t===1?this._scopedRenderRootCount.delete(e):this._scopedRenderRootCount.set(e,t-1),this._notice())})}removeFloatDom(e){this._domLayerMap.delete(e)&&this._notice()}removeAll(){this._domLayerMap.clear(),this._notice()}dispose(){this._domLayerMap.clear(),this._scopedRenderRootCount.clear(),this._domLayers$.next([]),this._domLayers$.complete(),super.dispose()}},Dt=class extends t.Disposable{constructor(...e){super(...e),S(this,`previewUpdated$`,new n.Subject),S(this,`previewRequested$`,new n.Subject),S(this,`_previewMap`,new Map),S(this,`_requestMap`,new Map)}getPreview(e){return this._previewMap.get(e)}getPendingRequests(){return Array.from(this._requestMap.values())}setPreview(e){this._previewMap.set(e.id,e),this._requestMap.delete(e.id),this.previewUpdated$.next(e)}removePreview(e){this._previewMap.delete(e),this._requestMap.delete(e)}requestPreview(e){this._requestMap.set(e.id,e),this.previewRequested$.next(e)}dispose(){this._previewMap.clear(),this._requestMap.clear(),this.previewUpdated$.complete(),this.previewRequested$.complete(),super.dispose()}};function Ot(e,t){let n=(t==null?void 0:t.wrapperInset)??2,r=(t==null?void 0:t.contentInset)??4;return{wrapper:{top:e.startY,left:e.startX,width:Math.max(e.endX-e.startX-n,0),height:Math.max(e.endY-e.startY-n,0),transform:`rotate(${e.rotate}deg)`,opacity:e.opacity??1},inner:{width:e.width-r,height:e.height-r,left:e.absolute.left?0:`auto`,top:e.absolute.top?0:`auto`,right:e.absolute.left?`auto`:0,bottom:e.absolute.top?`auto`:0}}}function kt(e,t,n){let{wrapper:r,inner:i}=n,a=e.style;a.top=`${r.top}px`,a.left=`${r.left}px`,a.width=`${r.width}px`,a.height=`${r.height}px`,a.transform=r.transform,a.opacity=`${r.opacity}`;let o=t.style;o.width=`${i.width}px`,o.height=`${i.height}px`,o.left=i.left===`auto`?`auto`:`${i.left}px`,o.top=i.top===`auto`?`auto`:`${i.top}px`,o.right=i.right===`auto`?`auto`:`${i.right}px`,o.bottom=i.bottom===`auto`?`auto`:`${i.bottom}px`}let At=(0,r.memo)(e=>{let{layer:t}=e;return typeof t.componentKey==`string`?(0,c.jsx)(jt,{...e,componentKey:t.componentKey}):(0,c.jsx)(Mt,{...e,Component:t.componentKey})});function jt(e){let t=(0,s.useDependency)(L);return(0,c.jsx)(Mt,{...e,Component:t.get(e.componentKey)})}function Mt(e){var i,a;let{layer:o,id:l,Component:u}=e,d=(0,s.useDependency)(t.IUniverInstanceService),f=(0,s.useObservable)((0,r.useMemo)(()=>o.position$.pipe((0,n.first)()),[o.position$])),p=(0,r.useRef)(null),m=(0,r.useRef)(null),h=(0,r.useMemo)(()=>({data:o.data,...o.props,hostFloatDomLayout$:o.position$}),[o.data,o.position$,o.props]),g=Ft(h),_=(i=o.contentBox)==null?void 0:i.wrapperInset,v=(a=o.contentBox)==null?void 0:a.contentInset,y=wt(o);(0,r.useEffect)(()=>{let e=o.position$.subscribe(e=>{p.current&&m.current&&kt(p.current,m.current,Ot(e,{wrapperInset:_,contentInset:v}))});return()=>{e.unsubscribe()}},[v,o.position$,_]);let b=d.getUnit(o.unitId),x=b instanceof t.DocumentDataModel?b.getDisabled():void 0,S=(0,r.useMemo)(()=>u?(0,c.jsx)(u,{...h,unitId:o.unitId,unit:b,floatDomId:o.id,context:{docDisabled:x,root:m}}):null,[u,h]);if(!f)return null;let C=Ot(f,o.contentBox);return(0,c.jsx)(`div`,{ref:p,className:`univer-absolute univer-z-10 univer-origin-center`,style:{...C.wrapper,overflow:g.outerOverflow,touchAction:y?`none`:void 0},onPointerMove:e=>{y&&o.onPointerMove(e.nativeEvent)},onPointerDown:e=>{if(y){if(e.target instanceof Element){var t,n;(t=(n=e.target).setPointerCapture)==null||t.call(n,e.pointerId)}o.onPointerDown(e.nativeEvent)}},onPointerUp:e=>{if(y)try{o.onPointerUp(e.nativeEvent)}finally{var t,n;if(e.target instanceof Element&&(t=(n=e.target).hasPointerCapture)!=null&&t.call(n,e.pointerId)){var r,i;(r=(i=e.target).releasePointerCapture)==null||r.call(i,e.pointerId)}}},onPointerCancel:e=>{if(y)try{o.onPointerUp(e.nativeEvent)}finally{var t,n;if(e.target instanceof Element&&(t=(n=e.target).hasPointerCapture)!=null&&t.call(n,e.pointerId)){var r,i;(r=(i=e.target).releasePointerCapture)==null||r.call(i,e.pointerId)}}},onWheel:e=>{y&&o.onWheel(e.nativeEvent)},children:(0,c.jsx)(`div`,{id:l,ref:m,className:`univer-absolute univer-overflow-hidden`,style:{...C.inner,overflow:g.innerOverflow},children:S})})}let Nt=({unitId:e})=>{let n=(0,s.useDependency)(t.IUniverInstanceService),i=(0,s.useDependency)(Et),a=(0,s.useObservable)(i.domLayers$),o=Pt(e,(0,s.useObservable)(n.focused$));(0,r.useEffect)(()=>{if(typeof e!=`string`)return;let t=i.registerScopedRenderRoot(e);return()=>t.dispose()},[i,e]);let l=typeof e==`string`?a==null?void 0:a.filter(t=>t[1].unitId===e):a==null?void 0:a.filter(e=>!i.hasScopedRenderRoot(e[1].unitId)&&Tt(e[1],o));return l==null?void 0:l.map(e=>(0,c.jsx)(At,{id:e[1].domId??e[0],layer:e[1]},e[0]))};function Pt(e,t){if(typeof e==`string`)return e;if(typeof t==`string`)return t;if(typeof t==`object`&&t&&`getUnitId`in t&&typeof t.getUnitId==`function`){let e=t.getUnitId();return typeof e==`string`?e:null}return null}function Ft(e){let t=e.customBlockRenderViewport;return Number.isFinite(t==null?void 0:t.bleedWidth)&&((t==null?void 0:t.bleedWidth)??0)>0?{outerOverflow:`visible`,innerOverflow:`visible`}:{outerOverflow:`hidden`,innerOverflow:`hidden`}}let It=(0,t.createIdentifier)(`ui.popup.service`);var Lt=class extends t.Disposable{constructor(...e){super(...e),S(this,`_popupMap`,new Map),S(this,`_popups$`,new n.BehaviorSubject([])),S(this,`popups$`,this._popups$.asObservable()),S(this,`_activePopupId`,null)}get popups(){return Array.from(this._popupMap.entries())}get activePopupId(){return this._activePopupId}_update(){this._popups$.next(Array.from(this._popupMap.entries()))}dispose(){super.dispose(),this._popups$.next([]),this._popups$.complete(),this._popupMap.clear()}addPopup(e){let n=(0,t.generateRandomId)();return this._popupMap.set(n,{...e,onActiveChange:e=>{e?this._activePopupId=n:this._activePopupId===n&&(this._activePopupId=null)}}),this._update(),n}removePopup(e){this._popupMap.delete(e)&&this._update()}removeAll(){this._popupMap.clear(),this._update()}};function Rt(e){let t=(0,r.useRef)(e);return t.current=e,(0,r.useCallback)(((...e)=>{var n;return(n=t.current)==null?void 0:n.call(t,...e)}),[])}let zt=(0,r.createContext)({current:void 0}),Bt=(0,r.createContext)(`vertical`);function Vt(e){var t;let n=e.direction??`vertical`,r=(e.containerTop??0)+(((t=e.boundaryInsets)==null?void 0:t.top)??0),i=e.position.top-r>=(e.containerTop??0)+e.containerHeight-e.position.bottom;switch(n){case`vertical-center`:return i?`top-center`:`bottom-center`;case`vertical-left`:return i?`top-left`:`bottom-left`;case`vertical-right`:return i?`top-right`:`bottom-right`;default:return n}}function Ht(e){var t,n;let{position:r,width:i,height:a,containerHeight:o,containerWidth:s,noPushMinimumGap:c=!1}=e,l=Vt(e),u=e.containerLeft??0,d=e.containerTop??0,f=u+(((t=e.boundaryInsets)==null?void 0:t.left)??0),p=d+(((n=e.boundaryInsets)==null?void 0:n.top)??0),m=u+s,h=d+o,g=c?-1/0:p+8,_=c?1/0:h-a-8,v=c?-1/0:f+8,y=c?1/0:m-i-8;if(l===`vertical`||l.indexOf(`top`)===0||l.indexOf(`bottom`)===0){let{left:e,top:t,right:n,bottom:o}=r,s=l===`vertical`&&o>_||l.indexOf(`top`)>-1?{top:Math.max(Math.min(t-a,_),g)}:{top:Math.max(Math.min(o,_),g)},c;if(l.includes(`center`)){let t=(n-e-i)/2;c=Math.max(e+t,v)+i>m?{left:Math.max(Math.min(y,n-i-t),v)}:{left:Math.max(v,Math.min(e+t,y))}}else c=l.includes(`right`)?{left:Math.max(Math.min(n-i,y),v)}:l.includes(`left`)?{left:Math.max(Math.min(e,y),v)}:e+i>m?Math.max(n-i,v)<8?{left:Math.max(Math.min(e,y),v)}:{left:Math.max(Math.min(n-i,y),v)}:{left:Math.max(Math.min(e,y),v)};return{...s,...c}}let{left:b,top:x,right:S,bottom:C}=r,w=l.includes(`left`)?{left:Math.max(Math.min(b-i,y),v)}:{left:Math.max(Math.min(S,y),v)},T;if(l.includes(`center`)){let e=(C-x-a)/2;T=Math.max(x+e,g)+a>h?{top:Math.max(Math.min(_,C-a-e),g)}:{top:Math.max(g,Math.min(x+e,_))}}else T=l.includes(`top`)?{top:Math.max(Math.min(x,_),g)}:l.includes(`bottom`)?{top:Math.max(Math.min(C-a,_),g)}:x+a>h?Math.max(C-a,g)<8?{top:Math.max(Math.min(x,_),g)}:{top:Math.max(Math.min(C-a,_),g)}:{top:Math.max(Math.min(x,_),g)};return{...T,...w}}function Ut(e){let{mask:n,portal:a,children:o,anchorRect$:u,direction:d=`vertical`,onClickOutside:f,excludeOutside:p,excludeRects:m,onPointerEnter:h,onPointerLeave:g,onClick:_,hidden:v,onContextMenu:y,zIndex:b=1020,maskZIndex:x=100,onMaskClick:S,noPushMinimumGap:C,autoRelayout:w=!0,boundaryElement:T,boundaryInsets:E}=e,D=(0,r.useRef)(null),O=Rt(f??(()=>{})),k=Rt(y??(()=>{})),A=(0,r.useRef)({top:-9999,left:-9999}),j=m,M=(0,s.useDependency)(t.IConfigService),N=(0,r.useRef)(void 0),[P,F]=(0,r.useState)(d),I=M.getConfig(`ui.config`)??se,L=(I==null?void 0:I.popupRootId)??`univer-popup-portal`,R=Rt(e=>{requestAnimationFrame(()=>{if(!D.current)return;let{clientWidth:t,clientHeight:n}=D.current,r=T==null?void 0:T.getBoundingClientRect(),i=Math.max((r==null?void 0:r.left)??0,0),a=Math.max((r==null?void 0:r.top)??0,0),o=Math.min((r==null?void 0:r.right)??window.innerWidth,window.innerWidth),s=Math.min((r==null?void 0:r.bottom)??window.innerHeight,window.innerHeight),c=Math.max(o-i,0),l=Math.max(s-a,0),u=C?0:16,f=T!=null&&(c<=0||l<=0||c<t+u||l<n+u);if(D.current.style.visibility=f?`hidden`:``,f)return;let p={position:e,width:t,height:n,containerLeft:i,containerTop:a,containerWidth:c,containerHeight:l,boundaryInsets:E,direction:d,noPushMinimumGap:C},m=Vt(p);F(e=>e===m?e:m),A.current=Ht({...p,direction:m}),D.current.style.top=`${A.current.top}px`,D.current.style.left=`${A.current.left}px`})});(0,r.useEffect)(()=>{let e;return D.current&&(e=new ResizeObserver(()=>{w&&N.current&&R(N.current)}),e.observe(D.current)),()=>{e==null||e.disconnect()}},[D.current,w]),(0,r.useEffect)(()=>{let e=u.subscribe(e=>{N.current=e,R(e)});return()=>e.unsubscribe()},[u,d]),(0,r.useEffect)(()=>{let e=e=>{if(p&&(p.indexOf(e.target)>-1||p.some(t=>t.contains(e.target))))return;let t=e.clientX,n=e.clientY,r=[...(j==null?void 0:j.current)??[]];N.current&&r.push(N.current);for(let e of r)if(t<=e.right&&t>=e.left&&n<=e.bottom&&n>=e.top)return;O(e)};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[O,p,j]),(0,r.useEffect)(()=>{let e=e=>{e.ctrlKey&&e.button===0||k()};return window.addEventListener(`contextmenu`,e),()=>{window.removeEventListener(`contextmenu`,e)}},[k]);let z=(0,s.useObservable)((0,s.useDependency)(t.LocaleService).direction$),B=(0,c.jsxs)(c.Fragment,{children:[n&&(0,c.jsx)(`div`,{"data-u-comp":`rect-popup-mask`,className:`univer-fixed univer-inset-0 univer-z-[100]`,style:{zIndex:x},onClick:S}),(0,c.jsx)(`section`,{"data-u-comp":`rect-popup`,ref:D,dir:z,className:(0,i.clsx)(`univer-pointer-events-auto univer-fixed univer-left-[-9999px] univer-top-[-9999px] univer-z-[1020]`,{"univer-hidden":v,"univer-animate-in univer-fade-in-70":!v}),style:{...A.current,zIndex:b},onPointerDown:e=>e.stopPropagation(),onClick:_,onPointerEnter:h,onPointerLeave:g,children:(0,c.jsx)(Bt.Provider,{value:P,children:(0,c.jsx)(zt.Provider,{value:N,children:o})})})]});return a?document.getElementById(L)?(0,l.createPortal)(B,document.getElementById(L)):null:B}Ut.calcPopupPosition=Ht,Ut.useContext=()=>(0,r.useContext)(zt),Ut.useDirection=()=>(0,r.useContext)(Bt);let Wt=({popup:e,children:t})=>{let i=(0,r.useMemo)(()=>e.anchorRect$.pipe((0,n.throttleTime)(0,n.animationFrameScheduler),(0,n.map)(t=>{let{bottom:n,left:r,right:i,top:a}=t,[o=0,s=0]=e.offset??[];return{left:r-o,right:i+o,top:a-s,bottom:n+s}})),[e.anchorRect$,e.offset]),a=(0,r.useMemo)(()=>{var t;return((t=e.hiddenRects$)==null?void 0:t.pipe((0,n.throttleTime)(0,n.animationFrameScheduler)))??(0,n.of)([])},[e.hiddenRects$]),o=st((0,r.useMemo)(()=>{var t;return(t=e.excludeRects$)==null?void 0:t.pipe((0,n.throttleTime)(0,n.animationFrameScheduler))},[e.excludeRects$]),e.excludeRects),{boundaryInsets:l,canvasElement:u,constrainToCanvas:d=!1,hideOnInvisible:f=!0,hiddenType:p=`destroy`}=e,m=(0,s.useObservable)(f?()=>(0,n.combineLatest)([i,a]).pipe((0,n.map)(([e,t])=>{let{top:n,left:r,bottom:i,right:a}=u.getBoundingClientRect(),o=d?(l==null?void 0:l.top)??0:0,s=d?(l==null?void 0:l.left)??0:0,c=e.bottom-e.top,f=e.right-e.left,p=t.some(t=>{let n=Math.min(.5*c,10),r=Math.min(.5*f,10);return e.top>=t.top-n&&e.bottom<=t.bottom+n&&e.left>=t.left-r&&e.right<=t.right+r});return e.bottom<n+o||e.top>i||e.right<r+s||e.left>a||p})):null,!1,!1,[i,l,u,d,a,f]);return m&&p===`destroy`?null:(0,c.jsx)(Ut,{...e,hidden:m,anchorRect$:i,boundaryElement:d?u:e.boundaryElement,direction:e.direction,onClickOutside:e.onClickOutside,excludeOutside:e.excludeOutside,excludeRects:o,...e.customActive?null:{onPointerEnter:()=>{var t;return(t=e.onActiveChange)==null?void 0:t.call(e,!0)},onPointerLeave:()=>{var t;return(t=e.onActiveChange)==null?void 0:t.call(e,!1)}},onClick:e.onClick,onContextMenu:e.onContextMenu,children:t})};function Gt(){let e=(0,s.useDependency)(It),t=(0,s.useDependency)(L);return(0,s.useObservable)(e.popups$,void 0,!0).map(e=>{let[n,r]=e,i=t.get(r.componentKey),a=i&&r.connectorInjector?(0,s.connectInjector)(i,r.connectorInjector):i;return(0,c.jsx)(Wt,{popup:r,children:a&&(0,c.jsx)(a,{popup:r})},n)})}function X({ref:e,...t}){let{preserveStrokeWidth:n,icon:i,id:a,className:o,extend:s,...c}=t,l=`univerjs-icon univerjs-icon-${a} ${o||``}`.trim(),u=`_${(0,r.useId)()}`,d=(0,r.useRef)(null);return(0,r.useImperativeHandle)(e,()=>d.current),(0,r.useLayoutEffect)(()=>{if(!(!n||!d.current||d.current.localName!==i.tag))return Yt(d.current)},[n,i]),Kt(i,`${a}`,{defIds:i.defIds,idSuffix:u},{ref:d,className:l,...c},s)}function Kt(e,t,n,i,a){return(0,r.createElement)(e.tag,{key:t,...qt(e,n,a),...i},(Jt(e,n).children||[]).map((r,i)=>Kt(r,`${t}-${e.tag}-${i}`,n,void 0,a)))}function qt(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function Jt(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function Yt(e){let t=e.viewBox.baseVal,n=Math.max(t.width,t.height);if(!Number.isFinite(n)||n<=0||t.width<=0||t.height<=0)return()=>void 0;let r=16/n,i=Array.from(e.querySelectorAll(`circle, ellipse, line, path, polygon, polyline, rect, text, textPath, tspan, use`)).flatMap(e=>{let t=getComputedStyle(e),n=Number.parseFloat(t.strokeWidth);return t.stroke===`none`||Number.parseFloat(t.strokeOpacity)===0||t.vectorEffect===`non-scaling-stroke`||!Number.isFinite(n)||n<=0?[]:[{element:e,hadStyleAttribute:e.hasAttribute(`style`),originalStrokeWidth:n,strokeWidth:Xt(e.style,`stroke-width`)}]}).map(e=>({appliedStrokeWidth:null,element:e.element,hadStyleAttribute:e.hadStyleAttribute,isReleased:!1,originalStrokeWidth:e.originalStrokeWidth,strokeWidth:e.strokeWidth}));if(i.length===0)return()=>void 0;let a=(e,n)=>{if(t.width<=0||t.height<=0||e<=0||n<=0)return;let a=Math.min(e/t.width,n/t.height);!Number.isFinite(a)||a<=0||i.forEach(e=>{if(e.isReleased)return;if(e.appliedStrokeWidth!==null&&(e.element.style.getPropertyValue(`stroke-width`)!==e.appliedStrokeWidth||e.element.style.getPropertyPriority(`stroke-width`)!==e.strokeWidth.priority)){e.appliedStrokeWidth=null,e.isReleased=!0;return}let t=e.originalStrokeWidth*r/a,n=`${Number(t.toFixed(12))}px`;e.element.style.setProperty(`stroke-width`,n,e.strokeWidth.priority),e.appliedStrokeWidth=n})},o=e.getBoundingClientRect();a(o.width,o.height);let s=typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{if(t.some(t=>t.target===e)){let t=e.getBoundingClientRect();a(t.width,t.height)}});return s==null||s.observe(e),()=>{s==null||s.disconnect(),i.forEach(e=>{e.appliedStrokeWidth!==null&&(Zt(e.element.style,`stroke-width`,e.appliedStrokeWidth,e.strokeWidth.priority,e.strokeWidth),!e.hadStyleAttribute&&e.element.style.length===0&&e.element.removeAttribute(`style`))})}}function Xt(e,t){return{priority:e.getPropertyPriority(t),value:e.getPropertyValue(t)}}function Zt(e,t,n,r,i){e.getPropertyValue(t)===n&&e.getPropertyPriority(t)===r&&(i.value?e.setProperty(t,i.value,i.priority):e.removeProperty(t))}X.displayName=`UniverIcon`;let Qt={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`circle`,attrs:{cx:8,cy:8,r:5.6,stroke:`currentColor`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.8 6.2C5.2 6.7 8.5 5.4 10.8 2.9`,strokeLinecap:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.1 12.6C5.5 10.4 8.3 7.8 13.2 7.7`,strokeLinecap:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.2 2.8C8.6 5.4 9.8 8.9 9.5 13.3`,strokeLinecap:`round`,strokeWidth:1.3}}]},$t=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`activity-icon`,ref:t,icon:Qt}))});$t.displayName=`ActivityIcon`;let en={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},tn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:en}))});tn.displayName=`CheckMarkIcon`;let nn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z`}}]},rn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`close-icon`,ref:t,icon:nn}))});rn.displayName=`CloseIcon`;let an={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 0.866961C5.018 0.866961 2 1.78296 2 3.53363V12.3675C2 14.1182 5.018 15.0342 8 15.0342C10.982 15.0342 14 14.1182 14 12.3675V3.53363C14 1.78296 10.982 0.866961 8 0.866961ZM12.6667 12.3675C12.6667 12.7542 11.0313 13.7008 8 13.7008C4.96867 13.7008 3.33333 12.7542 3.33333 12.3675V9.86434C4.49067 10.4797 6.24933 10.7977 8 10.7977C9.75067 10.7977 11.5093 10.4797 12.6667 9.86434V12.3675ZM12.6667 8.131C12.6667 8.51767 11.0313 9.46434 8 9.46434C4.96867 9.46434 3.33333 8.51767 3.33333 8.131L3.33333 5.26696C4.49067 5.88229 6.24933 6.20029 8 6.20029C9.75067 6.20029 11.5093 5.88229 12.6667 5.26696V8.131ZM8 4.86696C4.96867 4.86696 3.33333 3.92029 3.33333 3.53363C3.33333 3.14696 4.96867 2.20029 8 2.20029C11.0313 2.20029 12.6667 3.14696 12.6667 3.53363C12.6667 3.92029 11.0313 4.86696 8 4.86696Z`}}]},on=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`database-icon`,ref:t,icon:an}))});on.displayName=`DatabaseIcon`;let sn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M10 10L14 14M10 6L14 2M14 10.6667V14H10.6667M14 5.33333V2H10.6667M2 10.6667V14H5.33333M2 14L6 10M2 5.33333V2H5.33333M6 6L2 2`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},cn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`expand-icon`,ref:t,icon:sn}))});cn.displayName=`ExpandIcon`;let ln={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.46613 5.2614C7.99641 5.15377 8.54607 5.209 9.04566 5.42016C9.54527 5.63133 9.9725 5.98902 10.2732 6.44821C10.5739 6.90741 10.7345 7.44742 10.7345 7.99994C10.7345 8.74088 10.446 9.45122 9.93293 9.97475C9.41991 10.4982 8.72439 10.7921 7.99945 10.7921C7.45882 10.7921 6.93021 10.6285 6.48047 10.3219C6.03072 10.0152 5.67998 9.57922 5.47282 9.06887C5.26565 8.55852 5.21142 7.99686 5.31705 7.45498C5.42268 6.9131 5.68338 6.41554 6.06598 6.02513C6.44856 5.63474 6.93584 5.36903 7.46613 5.2614ZM7.99945 6.50637C7.70941 6.50637 7.42599 6.59414 7.18504 6.75842C6.94411 6.92269 6.75652 7.15604 6.64579 7.4288C6.53508 7.70156 6.50613 8.00161 6.56255 8.29108C6.61898 8.58055 6.7583 8.84663 6.96308 9.05559C7.16788 9.26456 7.42896 9.40703 7.7134 9.46476C7.99784 9.5225 8.29266 9.49286 8.56052 9.37964C8.82836 9.26643 9.05707 9.07481 9.21789 8.82922C9.3787 8.58364 9.46445 8.29505 9.46445 7.99994C9.46445 7.60424 9.31042 7.22449 9.03583 6.94429C8.76119 6.66405 8.38842 6.50637 7.99945 6.50637Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.06445 7.99994C1.06445 7.86432 1.111 7.68433 1.20506 7.46997C1.29865 7.25669 1.43723 7.01393 1.61634 6.75416C1.97451 6.23466 2.49209 5.65088 3.12753 5.10347C4.3995 4.00771 6.13495 3.06494 7.99945 3.06494C9.86395 3.06494 11.5994 4.00771 12.8714 5.10347C13.5068 5.65088 14.0244 6.23466 14.3826 6.75416C14.5617 7.01393 14.7003 7.25669 14.7938 7.46997C14.8879 7.68433 14.9345 7.86432 14.9345 7.99994C14.9345 8.29406 14.7859 8.75016 14.4847 9.27371C14.1847 9.79497 13.7374 10.3759 13.1495 10.9188C11.974 12.0042 10.2392 12.9349 7.99945 12.9349C5.75972 12.9349 4.02489 12.0042 2.84937 10.9188C2.26147 10.3759 1.81418 9.79497 1.51423 9.27371C1.21296 8.75016 1.06445 8.29406 1.06445 7.99994ZM7.99945 4.36351C6.48933 4.36351 5.14092 5.09788 4.14125 5.91406C3.64087 6.32258 3.22616 6.75295 2.92026 7.12521C2.61595 7.49554 2.415 7.81359 2.34753 7.99756L2.33827 8.0228L2.34954 8.0472C2.85275 9.13669 3.65354 10.055 4.65594 10.6918C5.65805 11.3283 6.81899 11.6563 7.99945 11.6364C9.17991 11.6563 10.3409 11.3283 11.343 10.6918C12.3454 10.055 13.1462 9.13669 13.6494 8.0472L13.6606 8.0228L13.6514 7.99756C13.5839 7.81359 13.383 7.49554 13.0786 7.12521C12.7727 6.75295 12.358 6.32258 11.8577 5.91406C10.858 5.09788 9.50957 4.36351 7.99945 4.36351Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},un=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`eye-icon`,ref:t,icon:ln}))});un.displayName=`EyeIcon`;let dn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.5 10.5H2.83299C2.43517 10.5 2.05364 10.342 1.77233 10.0607C1.49103 9.77935 1.33299 9.39782 1.33299 9V3.2C1.33299 2.80217 1.49103 2.42064 1.77233 2.13934C2.05364 1.85803 2.43517 1.7 2.83299 1.7H13.167C13.5648 1.7 13.9463 1.85803 14.2277 2.13934C14.509 2.42064 14.667 2.80217 14.667 3.2V5.5`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.84999 3.39999H3.74999C3.55669 3.39999 3.39999 3.55669 3.39999 3.74999V4.84999C3.39999 5.04329 3.55669 5.19999 3.74999 5.19999H4.84999C5.04329 5.19999 5.19999 5.04329 5.19999 4.84999V3.74999C5.19999 3.55669 5.04329 3.39999 4.84999 3.39999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8.45 3.39999H7.35C7.1567 3.39999 7 3.55669 7 3.74999V4.84999C7 5.04329 7.1567 5.19999 7.35 5.19999H8.45C8.6433 5.19999 8.8 5.04329 8.8 4.84999V3.74999C8.8 3.55669 8.6433 3.39999 8.45 3.39999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M12.45 3.39999H11.35C11.1567 3.39999 11 3.55669 11 3.74999V4.84999C11 5.04329 11.1567 5.19999 11.35 5.19999H12.45C12.6433 5.19999 12.8 5.04329 12.8 4.84999V3.74999C12.8 3.55669 12.6433 3.39999 12.45 3.39999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.84999 7H3.74999C3.55669 7 3.39999 7.1567 3.39999 7.35V8.45C3.39999 8.6433 3.55669 8.8 3.74999 8.8H4.84999C5.04329 8.8 5.19999 8.6433 5.19999 8.45V7.35C5.19999 7.1567 5.04329 7 4.84999 7Z`}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M10.9 11.8C12.5016 11.8 13.8 10.5016 13.8 8.9C13.8 7.29837 12.5016 6 10.9 6C9.29837 6 8 7.29837 8 8.9C8 10.5016 9.29837 11.8 10.9 11.8Z`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M12.95 10.95L15.15 13.15`,strokeLinecap:`round`,strokeWidth:1.2}}]},fn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`feature-search-icon`,ref:t,icon:dn}))});fn.displayName=`FeatureSearchIcon`;let pn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M8.4 4.3C9.1 3.3 10.1 2.7 11.3 2.6C11.2 3.8 10.5 4.8 9.4 5.3`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M7.8 4.7C6.8 3.9 5.1 4.1 4.1 5.2C2.8 6.6 2.8 9 3.6 10.9C4.3 12.6 5.4 13.7 6.4 13.7C7.1 13.7 7.4 13.3 8 13.3C8.6 13.3 8.9 13.7 9.6 13.7C10.7 13.7 11.8 12.5 12.4 10.9C13.2 8.8 12.8 6.5 11.7 5.3C10.6 4.1 8.9 3.9 7.8 4.7Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M7.8 4.7C7.8 3.7 7.5 3 6.8 2.4`,strokeLinecap:`round`,strokeWidth:1.3}}]},mn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`foods-icon`,ref:t,icon:pn}))});mn.displayName=`FoodsIcon`;let hn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M12.8325 3.00753L12.2725 2.44328C11.9909 2.15966 11.6076 1.9999 11.2079 1.9999H4.08689C3.55342 1.9999 3.28522 2.64412 3.66105 3.02295L7.78136 7.17471C8.25623 7.65323 8.25623 8.43812 7.78136 8.91664L3.66105 13.0684C3.28522 13.4473 3.55342 14.0915 4.08689 14.0915H11.2079C11.6076 14.0915 11.9909 13.9317 12.2725 13.648L12.8325 13.0838`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},gn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`function-icon`,ref:t,icon:hn}))});gn.displayName=`FunctionIcon`;let _n={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M0.811013 7.27739C0.533711 7.51821 0.50413 7.93822 0.744942 8.21552C0.985753 8.49283 1.40577 8.52241 1.68307 8.28159L1.89249 8.09973V13.0201C1.89249 13.9397 2.63793 14.6851 3.55749 14.6851H5.32136C6.24091 14.6851 6.98636 13.9397 6.98636 13.0201V9.84218C6.98636 9.65717 7.13634 9.50718 7.32136 9.50718H8.67823C8.86325 9.50718 9.01323 9.65716 9.01323 9.84218V13.0201C9.01323 13.9397 9.75868 14.6851 10.6782 14.6851H12.4421C13.3617 14.6851 14.1071 13.9397 14.1071 13.0201V8.09963L14.3165 8.28148C14.5938 8.52229 15.0138 8.49271 15.2546 8.21541C15.4954 7.93811 15.4659 7.51809 15.1886 7.27728L8.567 1.52707C8.24167 1.24456 7.75801 1.24455 7.43267 1.52708L0.811013 7.27739ZM12.7771 6.94465L7.99984 2.79605L3.22249 6.94475V13.0201C3.22249 13.2051 3.37247 13.3551 3.55749 13.3551H5.32136C5.50637 13.3551 5.65636 13.2051 5.65636 13.0201V9.84218C5.65636 8.92263 6.4018 8.17718 7.32136 8.17718H8.67823C9.59779 8.17718 10.3432 8.92263 10.3432 9.84218V13.0201C10.3432 13.2051 10.4932 13.3551 10.6782 13.3551H12.4421C12.6271 13.3551 12.7771 13.2051 12.7771 13.0201V6.94465Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},vn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`home-icon`,ref:t,icon:_n}))});vn.displayName=`HomeIcon`;let yn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z`}}]},bn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`increase-icon`,ref:t,icon:yn}))});bn.displayName=`IncreaseIcon`;let xn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z`}}]},Sn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`info-icon`,ref:t,icon:xn}))});Sn.displayName=`InfoIcon`;let Cn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M1.9999 1.3667C1.66853 1.3667 1.3999 1.63533 1.3999 1.9667C1.3999 2.29807 1.66853 2.5667 1.9999 2.5667H13.9999C14.3313 2.5667 14.5999 2.29807 14.5999 1.9667C14.5999 1.63533 14.3313 1.3667 13.9999 1.3667H1.9999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.9999 13.4334C1.66853 13.4334 1.3999 13.7021 1.3999 14.0334C1.3999 14.3648 1.66853 14.6334 1.9999 14.6334H13.9999C14.3313 14.6334 14.5999 14.3648 14.5999 14.0334C14.5999 13.7021 14.3313 13.4334 13.9999 13.4334H1.9999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.49336 10.4244C9.25905 10.19 9.25905 9.81015 9.49336 9.57583L10.4691 8.6001L4.08291 8.6001C3.75154 8.6001 3.48291 8.33147 3.48291 8.0001C3.48291 7.66873 3.75154 7.4001 4.08291 7.4001L10.4691 7.4001L9.49336 6.42436C9.25905 6.19005 9.25905 5.81015 9.49336 5.57583C9.72767 5.34152 10.1076 5.34152 10.3419 5.57583L12.3419 7.57583C12.5762 7.81015 12.5762 8.19005 12.3419 8.42436L10.3419 10.4244C10.1076 10.6587 9.72767 10.6587 9.49336 10.4244Z`}}]},wn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`insert-icon`,ref:t,icon:Cn}))});wn.displayName=`InsertIcon`;let Tn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.39986 6.33339C3.39986 6.00202 3.66849 5.73339 3.99986 5.73339H4.66652C4.99789 5.73339 5.26652 6.00202 5.26652 6.33339C5.26652 6.66476 4.99789 6.93339 4.66652 6.93339H3.99986C3.66849 6.93339 3.39986 6.66476 3.39986 6.33339Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M6.99986 5.73339C6.66849 5.73339 6.39986 6.00202 6.39986 6.33339C6.39986 6.66476 6.66849 6.93339 6.99986 6.93339H7.66652C7.99789 6.93339 8.26652 6.66476 8.26652 6.33339C8.26652 6.00202 7.99789 5.73339 7.66652 5.73339H6.99986Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.06636 6.33339C9.06636 6.00202 9.33499 5.73339 9.66636 5.73339H11.9997C12.3311 5.73339 12.5997 6.00202 12.5997 6.33339C12.5997 6.66476 12.3311 6.93339 11.9997 6.93339H9.66636C9.33499 6.93339 9.06636 6.66476 9.06636 6.33339Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.99986 8.73339C3.66849 8.73339 3.39986 9.00202 3.39986 9.33339C3.39986 9.66476 3.66849 9.93339 3.99986 9.93339H11.9999C12.3312 9.93339 12.5999 9.66476 12.5999 9.33339C12.5999 9.00202 12.3312 8.73339 11.9999 8.73339H3.99986Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.33338 1.73345L12.6667 1.7334C14.1026 1.73339 15.2667 2.89745 15.2667 4.3334V11C15.2667 12.4359 14.1027 13.6 12.6667 13.6H3.33355C1.89763 13.6 0.733583 12.4359 0.73355 11L0.733398 4.33351C0.733366 2.89755 1.89742 1.73346 3.33338 1.73345ZM12.6667 2.9334L3.33339 2.93345C2.56018 2.93346 1.93338 3.56028 1.9334 4.33348L1.93355 11C1.93357 11.7732 2.56036 12.4 3.33355 12.4H12.6667C13.4399 12.4 14.0667 11.7732 14.0667 11V4.3334C14.0667 3.5602 13.4399 2.93339 12.6667 2.9334Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},En=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`keyboard-icon`,ref:t,icon:Tn}))});En.displayName=`KeyboardIcon`;let Dn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},On=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-down-icon`,ref:t,icon:Dn}))});On.displayName=`MoreDownIcon`;let kn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3 9C3.55228 9 4 8.55228 4 8C4 7.44772 3.55228 7 3 7C2.44772 7 2 7.44772 2 8C2 8.55228 2.44772 9 3 9Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8 9C8.55228 9 9 8.55228 9 8C9 7.44772 8.55228 7 8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13 9C13.5523 9 14 8.55228 14 8C14 7.44772 13.5523 7 13 7C12.4477 7 12 7.44772 12 8C12 8.55228 12.4477 9 13 9Z`}}]},An=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-horizontal-icon`,ref:t,icon:kn}))});An.displayName=`MoreHorizontalIcon`;let jn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M10.3536 12.3536C10.1583 12.5488 9.84171 12.5488 9.64645 12.3536L6.64645 9.35355C6.45118 9.15829 6.45118 8.84171 6.64645 8.64645L9.64645 5.64645C9.84171 5.45118 10.1583 5.45118 10.3536 5.64645C10.5488 5.84171 10.5488 6.15829 10.3536 6.35355L7.70711 9L10.3536 11.6464C10.5488 11.8417 10.5488 12.1583 10.3536 12.3536Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Mn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-left-icon`,ref:t,icon:jn}))});Mn.displayName=`MoreLeftIcon`;let Nn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M6.14645 4.64645C6.34171 4.45118 6.65829 4.45118 6.85355 4.64645L9.85355 7.64645C10.0488 7.84171 10.0488 8.15829 9.85355 8.35355L6.85355 11.3536C6.65829 11.5488 6.34171 11.5488 6.14645 11.3536C5.95118 11.1583 5.95118 10.8417 6.14645 10.6464L8.79289 8L6.14645 5.35355C5.95118 5.15829 5.95118 4.84171 6.14645 4.64645Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Pn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-right-icon`,ref:t,icon:Nn}))});Pn.displayName=`MoreRightIcon`;let Fn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 3.30078C8.55228 3.30078 9 2.85307 9 2.30078C9 1.7485 8.55228 1.30078 8 1.30078C7.44772 1.30078 7 1.7485 7 2.30078C7 2.85307 7.44772 3.30078 8 3.30078Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8 9.00012C8.55228 9.00012 9 8.55241 9 8.00012C9 7.44784 8.55228 7.00012 8 7.00012C7.44772 7.00012 7 7.44784 7 8.00012C7 8.55241 7.44772 9.00012 8 9.00012Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9 13.6995C9 14.2517 8.55228 14.6995 8 14.6995C7.44772 14.6995 7 14.2517 7 13.6995C7 13.1472 7.44772 12.6995 8 12.6995C8.55228 12.6995 9 13.1472 9 13.6995Z`}}]},In=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-vertical-icon`,ref:t,icon:Fn}))});In.displayName=`MoreVerticalIcon`;let Ln={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M13.6 2.4C8.4 2.6 4.2 5.2 3.6 9.1C3.2 11.7 5.1 13.8 7.6 13.3C11.3 12.6 13.4 7.9 13.6 2.4Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M3.4 13.1C5.5 9.6 8.3 6.9 12.2 4.6`,strokeLinecap:`round`,strokeWidth:1.3}}]},Rn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`nature-icon`,ref:t,icon:Ln}))});Rn.displayName=`NatureIcon`;let zn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.5 10.2C4.4 9.4 3.8 8.1 3.8 6.8C3.8 4.5 5.7 2.7 8 2.7C10.3 2.7 12.2 4.5 12.2 6.8C12.2 8.1 11.6 9.4 10.5 10.2C9.9 10.7 9.7 11.1 9.7 11.8H6.3C6.3 11.1 6.1 10.7 5.5 10.2Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.4 13.4H9.6`,strokeLinecap:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.7 11.8H9.3`,strokeLinecap:`round`,strokeWidth:1.3}}]},Bn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`objects-icon`,ref:t,icon:zn}))});Bn.displayName=`ObjectsIcon`;let Vn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`circle`,attrs:{cx:8,cy:8,r:5.7,stroke:`currentColor`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.4 6.8H5.5`,strokeLinecap:`round`,strokeWidth:1.6}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M10.5 6.8H10.6`,strokeLinecap:`round`,strokeWidth:1.6}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.6 9.3C6.2 10.4 7 10.9 8 10.9C9 10.9 9.8 10.4 10.4 9.3`,strokeLinecap:`round`,strokeWidth:1.3}}]},Hn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`people-icon`,ref:t,icon:Vn}))});Hn.displayName=`PeopleIcon`;let Un={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M12.6 6.7C12.6 10.1 8 14.1 8 14.1C8 14.1 3.4 10.1 3.4 6.7C3.4 4.2 5.5 2.1 8 2.1C10.5 2.1 12.6 4.2 12.6 6.7Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`circle`,attrs:{cx:8,cy:6.7,r:1.6,stroke:`currentColor`,strokeWidth:1.3}}]},Wn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`places-icon`,ref:t,icon:Un}))});Wn.displayName=`PlacesIcon`;let Gn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M14.2638 7.63727V3.9999C14.2638 2.89533 13.3683 1.9999 12.2638 1.9999L3.56389 1.99999C2.45932 2 1.56392 2.89542 1.56392 3.99998L1.56387 11.6666C1.56386 12.7712 2.4593 13.6666 3.56387 13.6666H8.0542`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M1.5639 6.17762H14.2638M5.79725 1.99996V6.17762M10.0307 1.99993V6.17762`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M11.5223 11.2333V10.2333C11.5223 9.681 11.97 9.23328 12.5223 9.23328C13.0746 9.23328 13.5223 9.681 13.5223 10.2333V11.2333`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`rect`,attrs:{width:4,height:2.67,x:10.52,y:11.23,stroke:`currentColor`,rx:1,strokeWidth:1.2}}]},Kn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`protect-icon`,ref:t,icon:Gn}))});Kn.displayName=`ProtectIcon`;let qn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.5 4.5H4.3C5.4 4.5 6.2 5.1 7 6.2L9.2 9.2C10 10.3 10.8 10.9 11.9 10.9H13.5`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M11.5 8.9L13.5 10.9L11.5 12.9`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.5 10.9H4.3C5.4 10.9 6.2 10.3 7 9.2L9.2 6.2C10 5.1 10.8 4.5 11.9 4.5H13.5`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M11.5 2.5L13.5 4.5L11.5 6.5`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}}]},Jn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`random-icon`,ref:t,icon:qn}))});Jn.displayName=`RandomIcon`;let Yn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`circle`,attrs:{cx:8,cy:8,r:5.7,stroke:`currentColor`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M8 4.8V8.2L10.4 9.6`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}}]},Xn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`recent-icon`,ref:t,icon:Yn}))});Xn.displayName=`RecentIcon`;let Zn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M11.273 2.72206C11.0214 2.50641 10.9922 2.12763 11.2079 1.87603C11.4235 1.62444 11.8023 1.59531 12.0539 1.81097L14.3833 3.80761C14.5134 3.91733 14.5962 4.08137 14.5967 4.26477L14.5967 4.2665C14.5967 4.41745 14.541 4.55538 14.4489 4.66083C14.44 4.67109 14.4307 4.68108 14.421 4.69077L12.0877 7.02411C11.8534 7.25842 11.4735 7.25843 11.2392 7.02412C11.0049 6.78981 11.0049 6.40991 11.2392 6.17559L12.5482 4.8665H6.63324C4.40569 4.8665 2.5999 6.67229 2.5999 8.89984C2.5999 11.1274 4.40569 12.9332 6.63324 12.9332H11.9972C12.3286 12.9332 12.5972 13.2018 12.5972 13.5332C12.5972 13.8645 12.3286 14.1332 11.9972 14.1332H6.63324C3.74295 14.1332 1.3999 11.7901 1.3999 8.89984C1.3999 6.00955 3.74295 3.6665 6.63324 3.6665H12.3748L11.273 2.72206Z`}}]},Qn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`redo-icon`,ref:t,icon:Zn}))});Qn.displayName=`RedoIcon`;let $n={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M1.9999 7.9999H13.9999`,strokeLinecap:`round`,strokeWidth:1.2}}]},er=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`reduce-icon`,ref:t,icon:$n}))});er.displayName=`ReduceIcon`;let tr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.71899 1.36938C4.37604 1.36938 1.66602 4.07941 1.66602 7.42236C1.66602 10.7653 4.37604 13.4753 7.71899 13.4753C9.16744 13.4753 10.4971 12.9666 11.5389 12.118L13.6598 14.4109C13.8848 14.6542 14.2644 14.669 14.5077 14.444C14.7509 14.219 14.7657 13.8393 14.5407 13.5961L12.3906 11.2716C13.2536 10.2254 13.772 8.88442 13.772 7.42236C13.772 4.07941 11.0619 1.36938 7.71899 1.36938ZM2.86602 7.42236C2.86602 4.74215 5.03878 2.56938 7.71899 2.56938C10.3992 2.56938 12.572 4.74215 12.572 7.42236C12.572 10.1026 10.3992 12.2753 7.71899 12.2753C5.03878 12.2753 2.86602 10.1026 2.86602 7.42236Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},nr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`search-icon`,ref:t,icon:tr}))});nr.displayName=`SearchIcon`;let rr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.66628 8.66683C5.03447 8.66683 5.33294 8.36835 5.33294 8.00016C5.33294 7.63197 5.03447 7.3335 4.66628 7.3335C4.29809 7.3335 3.99961 7.63197 3.99961 8.00016C3.99961 8.36835 4.29809 8.66683 4.66628 8.66683Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M5.99935 10.0002C5.99935 10.3684 5.70087 10.6668 5.33268 10.6668C4.96449 10.6668 4.66602 10.3684 4.66602 10.0002C4.66602 9.63197 4.96449 9.3335 5.33268 9.3335C5.70087 9.3335 5.99935 9.63197 5.99935 10.0002Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.33268 10.6668C3.70087 10.6668 3.99935 10.3684 3.99935 10.0002C3.99935 9.63197 3.70087 9.3335 3.33268 9.3335C2.96449 9.3335 2.66602 9.63197 2.66602 10.0002C2.66602 10.3684 2.96449 10.6668 3.33268 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M7.33294 8.00016C7.33294 8.36835 7.03447 8.66683 6.66628 8.66683C6.29809 8.66683 5.99961 8.36835 5.99961 8.00016C5.99961 7.63197 6.29809 7.3335 6.66628 7.3335C7.03447 7.3335 7.33294 7.63197 7.33294 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M7.33268 10.6668C7.70087 10.6668 7.99935 10.3684 7.99935 10.0002C7.99935 9.63197 7.70087 9.3335 7.33268 9.3335C6.96449 9.3335 6.66602 9.63197 6.66602 10.0002C6.66602 10.3684 6.96449 10.6668 7.33268 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.33294 8.00016C9.33294 8.36835 9.03447 8.66683 8.66628 8.66683C8.29809 8.66683 7.99961 8.36835 7.99961 8.00016C7.99961 7.63197 8.29809 7.3335 8.66628 7.3335C9.03447 7.3335 9.33294 7.63197 9.33294 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.33268 10.6668C9.70087 10.6668 9.99935 10.3684 9.99935 10.0002C9.99935 9.63197 9.70087 9.3335 9.33268 9.3335C8.96449 9.3335 8.66602 9.63197 8.66602 10.0002C8.66602 10.3684 8.96449 10.6668 9.33268 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M11.3329 8.00016C11.3329 8.36835 11.0345 8.66683 10.6663 8.66683C10.2981 8.66683 9.99961 8.36835 9.99961 8.00016C9.99961 7.63197 10.2981 7.3335 10.6663 7.3335C11.0345 7.3335 11.3329 7.63197 11.3329 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M11.3327 10.6668C11.7009 10.6668 11.9993 10.3684 11.9993 10.0002C11.9993 9.63197 11.7009 9.3335 11.3327 9.3335C10.9645 9.3335 10.666 9.63197 10.666 10.0002C10.666 10.3684 10.9645 10.6668 11.3327 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13.3329 8.00016C13.3329 8.36835 13.0345 8.66683 12.6663 8.66683C12.2981 8.66683 11.9996 8.36835 11.9996 8.00016C11.9996 7.63197 12.2981 7.3335 12.6663 7.3335C13.0345 7.3335 13.3329 7.63197 13.3329 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.99961 12.0002C4.99961 11.632 5.29809 11.3335 5.66628 11.3335H10.3329C10.7011 11.3335 10.9996 11.632 10.9996 12.0002C10.9996 12.3684 10.7011 12.6668 10.3329 12.6668H5.66628C5.29809 12.6668 4.99961 12.3684 4.99961 12.0002Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13.9999 2.00016C13.9999 1.63197 13.7014 1.3335 13.3332 1.3335C12.965 1.3335 12.6665 1.63197 12.6665 2.00016V3.37516H11.3332C10.7809 3.37516 10.3332 3.82287 10.3332 4.37516V5.3335H1.99935C1.26297 5.3335 0.666016 5.93045 0.666016 6.66683V13.3335C0.666016 14.0699 1.26297 14.6668 1.99935 14.6668H13.9993C14.7357 14.6668 15.3327 14.0699 15.3327 13.3335V6.66683C15.3327 5.93045 14.7357 5.3335 13.9993 5.3335H11.6665V4.7085H12.9999C13.5522 4.7085 13.9999 4.26079 13.9999 3.7085V2.00016ZM1.99935 6.66683V13.3335H13.9993V6.66683H1.99935Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ir=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`shortcut-icon`,ref:t,icon:rr}))});ir.displayName=`ShortcutIcon`;let ar={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M10 10L14 14M10 10V13.2M10 10H13.2M6 13.2V10H2.8M6 10L2 14M10 2.8V6H13.2M10 6L14 2M6 2.8V6H2.8M6 6L2 2`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},or=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`shrink-icon`,ref:t,icon:ar}))});or.displayName=`ShrinkIcon`;let sr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M3 20H7.5A.5.5 0 0 0 8 19.5V19.218A.52.52 0 0 0 7.753 18.781A8 8 0 1 1 16.247 18.78A.52.52 0 0 0 16 19.218V19.5A.5.5 0 0 0 16.5 20H21`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2}}]},cr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`symbols-icon`,ref:t,icon:sr}))});cr.displayName=`SymbolsIcon`;let lr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.72365 2.72206C4.97524 2.50641 5.00437 2.12763 4.78872 1.87603C4.57306 1.62444 4.19428 1.59531 3.94269 1.81097L1.61333 3.80761C1.48281 3.91768 1.3999 4.08241 1.3999 4.2665C1.3999 4.41745 1.45564 4.55538 1.54766 4.66083C1.55661 4.67109 1.56594 4.68108 1.57563 4.69077L3.9089 7.02411C4.14321 7.25842 4.52311 7.25843 4.75743 7.02412C4.99175 6.78981 4.99175 6.40991 4.75744 6.17559L3.44839 4.8665H9.36337C11.5909 4.8665 13.3967 6.67229 13.3967 8.89984C13.3967 11.1274 11.5909 12.9332 9.36337 12.9332H3.99937C3.668 12.9332 3.39937 13.2018 3.39937 13.5332C3.39937 13.8645 3.668 14.1332 3.99937 14.1332H9.36337C12.2537 14.1332 14.5967 11.7901 14.5967 8.89984C14.5967 6.00955 12.2537 3.6665 9.36337 3.6665H3.62183L4.72365 2.72206Z`}}]},ur=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`undo-icon`,ref:t,icon:lr}))});ur.displayName=`UndoIcon`;let dr=(0,t.createIdentifier)(`univer.ribbon-override-service`);var fr=class extends t.Disposable{constructor(...e){super(...e),S(this,`_override$`,new n.BehaviorSubject(null)),S(this,`override$`,this._override$.asObservable())}getOverride(){return this._override$.getValue()}activate(e){this._override$.next(e)}clear(e){let t=this.getOverride();t&&(!e||t.id===e)&&this._override$.next(null)}dispose(){this._override$.next(null),this._override$.complete(),super.dispose()}};function Z(e){let{components:t,fallback:n,sharedProps:i}=e;return!t||t.size===0?n??null:Array.from(t.values()).map((e,t)=>(0,r.createElement)(e,{key:`${e.displayName??t}`,...i}))}function Q(e,t){let i=(0,s.useDependency)(Y),a=(t==null?void 0:t.get(Y))??i,o=(0,s.useObservable)((0,r.useMemo)(()=>a.uiVisibleChange$.pipe((0,n.filter)(t=>t.ui===e)),[e,a])),c=(0,r.useRef)(0);return(0,r.useMemo)(()=>a.isUIVisible(e)?a.getComponents(e):new Set,[(0,s.useObservable)(()=>a.componentRegistered$.pipe((0,n.filter)(t=>t===e),(0,n.debounceTime)(200),(0,n.map)(()=>c.current+=1),(0,n.startWith)(c.current+=1)),void 0,void 0,[a,e,o])])}function pr({ribbon:e,activatedTab:n,onSelectTab:r}){let a=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`div`,{className:`univer-flex univer-size-full univer-items-center univer-justify-center univer-gap-1 univer-overflow-x-auto univer-rounded-md univer-bg-gray-50 univer-px-3 dark:!univer-bg-gray-900`,role:`tablist`,children:e.map(e=>{let t=n===e.key;return(0,c.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,title:a.t(e.title||e.key),onClick:()=>r(e),className:(0,i.clsx)(`univer-focus:outline-none univer-focus:ring-2 univer-focus:ring-primary-500 dark:!univer-focus:ring-primary-300 univer-flex univer-cursor-pointer univer-appearance-none univer-items-center univer-gap-1 univer-rounded-sm univer-border-none univer-px-2 univer-py-1 univer-text-sm univer-transition-colors`,t?`univer-bg-primary-50 univer-font-semibold univer-text-primary-600 univer-shadow-sm dark:!univer-bg-primary-900 dark:!univer-text-primary-300`:`univer-hover:bg-gray-100 dark:!univer-hover:bg-gray-700 univer-bg-transparent univer-text-gray-700 dark:!univer-text-gray-200`),children:a.t(e.title||e.key)},e.key)})})}let mr={"ribbon.start":vn,"ribbon.insert":wn,"ribbon.formulas":gn,"ribbon.data":on,"ribbon.view":un,"ribbon.others":In};function hr({ribbon:e,activatedTab:n,onSelectTab:a}){var o;let l=(0,s.useDependency)(t.LocaleService),u=((o=e.find(e=>e.key===n))==null?void 0:o.title)||n,[d,f]=(0,r.useState)(!1);function p(e){a(e),f(!1)}return(0,c.jsx)(i.HoverCard,{className:`univer-max-w-96 !univer-rounded-xl`,align:`start`,open:d,overlay:(0,c.jsx)(`div`,{className:`univer-grid univer-gap-1 univer-px-2 univer-py-1`,children:e.map(e=>{let t=mr[e.key]??In;return(0,c.jsxs)(`a`,{"data-u-comp":`ribbon-group-btn`,className:`univer-box-border univer-flex univer-cursor-pointer univer-items-center univer-gap-2.5 univer-rounded-lg univer-px-2 univer-py-1.5 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,role:`button`,onClick:()=>p(e),children:[(0,c.jsx)(`span`,{className:(0,i.clsx)(`univer-box-border univer-flex univer-size-9 univer-flex-shrink-0 univer-items-center univer-justify-center univer-rounded-lg`,i.borderClassName),children:(0,c.jsx)(t,{className:`univer-text-gray-500 dark:!univer-text-gray-300`,preserveStrokeWidth:!0})}),(0,c.jsxs)(`span`,{className:`univer-flex univer-flex-col`,children:[(0,c.jsx)(`strong`,{className:`univer-text-sm univer-font-semibold univer-text-gray-800 dark:!univer-text-gray-200`,children:l.t(e.title||e.key)}),(0,c.jsx)(`span`,{className:`univer-text-xs univer-text-gray-400`,children:l.t(`${e.title||e.key}Desc`)})]})]},e.key)})}),onOpenChange:f,children:(0,c.jsxs)(`a`,{className:`univer-mr-2 univer-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1.5 univer-whitespace-nowrap !univer-rounded-full univer-bg-gray-700 univer-pl-3 univer-pr-2 univer-text-sm univer-text-gray-0 dark:!univer-bg-gray-200 dark:!univer-text-gray-800`,onClick:()=>f(!0),children:[l.t(u),(0,c.jsx)(On,{className:`univer-text-gray-200 dark:!univer-text-gray-500`,preserveStrokeWidth:!0})]})})}function gr({ribbon:e,activatedTab:n,onSelectTab:r}){let a=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`div`,{"data-testid":`ribbon-grid-menu`,"data-u-comp":`ribbon-grid-menu`,className:`univer-flex univer-h-full univer-items-end univer-justify-start univer-overflow-x-auto univer-bg-gray-50 univer-px-2 dark:!univer-bg-gray-900`,role:`tablist`,children:e.map(e=>{let t=n===e.key,o=a.t(e.title||e.key);return(0,c.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,title:o,onClick:()=>r(e),className:(0,i.clsx)(`univer-relative univer-flex univer-h-9 univer-cursor-pointer univer-items-center univer-whitespace-nowrap univer-border-0 univer-border-b-[3px] univer-bg-transparent univer-px-3 univer-text-base univer-font-semibold univer-text-gray-700 univer-transition-colors hover:univer-text-gray-900 focus-visible:univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 dark:!univer-text-gray-200 dark:hover:!univer-text-gray-0`,t?`univer-border-primary-600 univer-text-primary-700 dark:!univer-text-primary-300`:`univer-border-transparent`),children:o},e.key)})})}function _r(e){let t=new Set,n=new Map,r=[];for(let i of e){let e=i.gridLayout;if(!e){r.push({item:i});continue}let a=e.rowSpan??1,o=e.columnSpan??1,s=br(e.row,e.column,a,o);if(!vr(e,a,s)){r.push({item:i});continue}let c={item:i,row:e.row,column:e.column,rowSpan:a,columnSpan:o,showLabel:e.showLabel??!1,width:e.width,iconSize:e.iconSize};if(s.some(e=>t.has(e))){r.push({item:i,layout:c});continue}s.forEach(e=>t.add(e)),n.set(i,c)}for(let{item:e,layout:i}of r){let r=(i==null?void 0:i.rowSpan)??1,a=(i==null?void 0:i.columnSpan)??1,{row:o,column:s,cells:c}=yr(t,r,a);c.forEach(e=>t.add(e)),n.set(e,{item:e,row:o,column:s,rowSpan:r,columnSpan:a,showLabel:(i==null?void 0:i.showLabel)??!1,width:i==null?void 0:i.width,iconSize:i==null?void 0:i.iconSize})}return e.map(e=>n.get(e))}function vr(e,t,n){return n.length>0&&e.row+t-1<=2&&(e.width===void 0||Number.isFinite(e.width)&&e.width>0)&&(e.iconSize===void 0||Number.isFinite(e.iconSize)&&e.iconSize>0)}function yr(e,t,n){for(let r=1;;r++)for(let i=1;i+t-1<=2;i++){let a=br(i,r,t,n);if(a.every(t=>!e.has(t)))return{row:i,column:r,cells:a}}}function br(e,t,n,r){if(![e,t,n,r].every(Number.isInteger)||Math.min(e,t,n,r)<1)return[];let i=[];for(let a=e;a<e+n;a++)for(let e=t;e<t+r;e++)i.push(`${a}:${e}`);return i}function $(e){let{className:i,iconSize:a,preserveStrokeWidth:o,title:l,icon:u,label:d,value:f,value$:p}=e,m=(0,s.useDependency)(t.LocaleService),h=(0,s.useDependency)(L),g=(0,s.useDependency)(z),_=(0,s.useObservable)(p??null,f),v=(0,s.useObservable)((0,n.isObservable)(u)?u:null,``),y=(0,n.isObservable)(u)?v:u??``,b=[],x=0,S=(0,r.useMemo)(()=>f??_,[_,f]),C=(0,r.useMemo)(()=>S&&typeof S==`string`?new t.ColorKit(S).isValid:!1,[S]);if(y){let e=g.get(y);e&&b.push((0,c.jsx)(e,{className:`univer-text-base`,style:a?{width:a,height:a}:void 0,extend:{colorChannel1:C?String(S):`var(--univer-primary-600)`},preserveStrokeWidth:o},x++))}if(d){let t=typeof d==`string`,n=t?{...e}:{...d==null?void 0:d.props,...e},r=t?d:d==null?void 0:d.name,a=h.get(r);a?b.push((0,c.jsx)(a,{...n,className:i,value:S},x++)):b.push((0,c.jsx)(`span`,{className:i,children:m.t(r)},x++))}return l&&b.push((0,c.jsx)(`span`,{className:i,children:typeof l==`string`?m.t(l):l},x++)),(0,c.jsx)(c.Fragment,{children:b})}function xr(e){let{disabled$:t,hidden$:i,activated$:a,value$:o}=e,c;if(ne(e)){let{selections:t}=e;if(Array.isArray(t)){var l;c=t==null||(l=t[0])==null?void 0:l.value$}}let u=(0,s.useObservable)(t??null,!1),d=(0,s.useObservable)(a??null,!1),f=(0,s.useObservable)(i??null,!1);return{disabled:u,value:(0,s.useObservable)((0,r.useMemo)(()=>(0,n.merge)(o??n.EMPTY,c??n.EMPTY),[c,o])),activated:d,hidden:f,selectionsValue:(0,s.useObservable)(c??null)}}function Sr({id:e,commandId:t,shortcut:i}){let a=(0,s.useDependency)(Ee),o=t??e;return(0,s.useObservable)((0,r.useMemo)(()=>i?(0,n.of)(i):a.shortcutChanged$.pipe((0,n.map)(()=>a.getShortcutDisplayOfCommand(o)),(0,n.startWith)(a.getShortcutDisplayOfCommand(o))),[i,a,o]),null,!0)}let Cr=`
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("rxjs"),require("react"),require("@univerjs/design"),require("@univerjs/engine-render"),require("rxjs/operators"),require("@wendellhu/redi/react-bindings"),require("react/jsx-runtime"),require("react-dom"),require("@univerjs/protocol")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`rxjs`,`react`,`@univerjs/design`,`@univerjs/engine-render`,`rxjs/operators`,`@wendellhu/redi/react-bindings`,`react/jsx-runtime`,`react-dom`,`@univerjs/protocol`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverUi={},e.UniverCore,e.rxjs,e.React,e.UniverDesign,e.UniverEngineRender,e.rxjs.operators,e[`@wendellhu/redi/react-bindings`],e.React,e.ReactDOM,e.UniverProtocol))})(this,function(e,t,n,r,i,a,o,s,c,l,u){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let d=`data-embed-interaction-boundary-owner`,f=`data-embed-child-unit-id`;function p(e){if(!_(e))return;let t=e.closest(`[${d}]`);return v(e,`data-embed-interaction-boundary-owner`)??v(t,`data-embed-interaction-boundary-owner`)??void 0}function m(e){return _(e)&&e.closest(`[data-embed-interaction-boundary-owner]`)!=null}function h(e){if(!_(e))return;let t=e.closest(`[${f}]`);return v(e,`data-embed-child-unit-id`)??v(t,`data-embed-child-unit-id`)??void 0}function g(e){let t=p(e.currentTarget);t&&p(e.target)===t&&e.preventDefault()}function _(e){return!!e&&typeof e.closest==`function`}function v(e,t){let n=e==null?void 0:e.getAttribute;return typeof n==`function`?n.call(e,t)??void 0:void 0}function y(e){"@babel/helpers - typeof";return y=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},y(e)}function b(e,t){if(y(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(y(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function x(e){var t=b(e,`string`);return y(t)==`symbol`?t:t+``}function S(e,t,n){return(t=x(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e,t){return function(n,r){t(n,r,e)}}function w(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let T=`FOCUSING_UNIVER`,E=[`app-layout`,`button`,`sheet-bar-append-button`,`render-canvas`,`workbench-layout`],D=(0,t.createIdentifier)(`ui.layout-service`),O=class extends t.Disposable{get isFocused(){return this._isFocused}constructor(e,t){super(),this._contextService=e,this._univerInstanceService=t,S(this,`_rootContainerElement`,null),S(this,`_isFocused`,!1),S(this,`_focusHandlers`,new Map),S(this,`_contentElements`,[]),S(this,`_allContainers`,[]),this._initUniverFocusListener(),this._initEditorStatus()}get rootContainerElement(){return this._rootContainerElement}focus(e){let n=e===void 0?this._univerInstanceService.getFocusedUnit():this._univerInstanceService.getUnit(e);if(!n)return;let r;n instanceof t.Workbook?r=this._focusHandlers.get(t.UniverInstanceType.UNIVER_SHEET):n instanceof t.DocumentDataModel?r=this._focusHandlers.get(t.UniverInstanceType.UNIVER_DOC):(n==null?void 0:n.type)===t.UniverInstanceType.UNIVER_SLIDE&&(r=this._focusHandlers.get(t.UniverInstanceType.UNIVER_SLIDE)),r&&r(n.getUnitId())}registerFocusHandler(e,n){if(this._focusHandlers.has(e))throw Error(`[DesktopLayoutService]: handler of type ${e} bas been registered!`);return this._focusHandlers.set(e,n),(0,t.toDisposable)(()=>this._focusHandlers.delete(e))}registerContentElement(e){if(this._contentElements.indexOf(e)===-1)return this._contentElements.push(e),(0,t.toDisposable)(()=>(0,t.remove)(this._contentElements,e));throw Error(`[DesktopLayoutService]: content container already registered!`)}getContentElement(){return this._contentElements[0]}registerRootContainerElement(e){if(this._rootContainerElement)throw Error(`[DesktopLayoutService]: root container already registered!`);this._rootContainerElement=e;let n=this.registerContainerElement(e);return(0,t.toDisposable)(()=>{this._rootContainerElement=null,n.dispose()})}registerContainerElement(e){if(this._allContainers.indexOf(e)===-1)return this._allContainers.push(e),(0,t.toDisposable)(()=>(0,t.remove)(this._allContainers,e));throw Error(`[LayoutService]: container already registered!`)}checkElementInCurrentContainers(e){return this._allContainers.some(t=>t.contains(e))}checkContentIsFocused(){return this._contentElements.some(e=>e===document.activeElement||e.contains(document.activeElement))}_initUniverFocusListener(){this.disposeWithMe((0,n.fromEvent)(window,`focusin`).subscribe(e=>{var n;let r=e.target;if((n=this._rootContainerElement)!=null&&n.contains(r)&&E.some(e=>r.dataset.uComp===e)&&!m(r)){queueMicrotask(()=>{let e=A(r);e&&this._univerInstanceService.getUnit(e)&&this._univerInstanceService.focusUnit(e),this.focus(),this._isFocused=!0,this._contextService.setContextValue(T,this._isFocused),this._contextService.setContextValue(t.FOCUSING_UNIVER_EDITOR,k())});return}this._isFocused=!!(r&&this.checkElementInCurrentContainers(r)),this._contextService.setContextValue(T,this._isFocused),this._contextService.setContextValue(t.FOCUSING_UNIVER_EDITOR,k())}))}_initEditorStatus(){this._contextService.setContextValue(t.FOCUSING_UNIVER_EDITOR,k())}};O=w([C(0,t.IContextService),C(1,t.IUniverInstanceService)],O);function k(){var e;return((e=document.activeElement)==null?void 0:e.dataset.uComp)===`editor`}function A(e){return e.dataset.uUnitId}let j={id:`base-ui.operation.toggle-fullscreen`,type:t.CommandType.OPERATION,handler:e=>{let t=e.get(D).rootContainerElement;if(!t)return!1;let n=t.ownerDocument;try{if(n.fullscreenElement){if(!n.exitFullscreen)return!1;n.exitFullscreen().catch(()=>{})}else{if(!t.requestFullscreen)return!1;t.requestFullscreen().catch(()=>{})}return!0}catch{return!1}}};var M=class extends t.Disposable{constructor(...e){super(...e),S(this,`_open$`,new n.BehaviorSubject(!1)),S(this,`open$`,this._open$.pipe((0,n.distinctUntilChanged)()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}};let N=(0,t.createIdentifier)(`ui.left-sidebar.service`),P=(0,t.createIdentifier)(`ui.sidebar.service`),F=`ShortcutPanel`,I={id:`base-ui.operation.toggle-shortcut-panel`,type:t.CommandType.OPERATION,handler:e=>{let t=e.get(M),n=e.get(P);return t.isOpen?(t.close(),n.close()):(t.open(),n.open({header:{title:`ui.shortcut-panel.title`},children:{label:F}})),!0}},L=class extends t.Disposable{constructor(e){super(),this._logService=e,S(this,`_components`,new Map),S(this,`reactUtils`,{createElement:r.createElement,useEffect:r.useEffect,useRef:r.useRef}),S(this,`_handler`,{react:e=>e})}register(e,n,r){let{framework:i=`react`}=r||{};if(i===`vue3`&&!this._handler.vue3)throw Error(`[ComponentManager] Vue3 support is no longer built-in since v0.9.0, please install @univerjs/ui-adapter-vue3 plugin.`);if(this._components.has(e)){var a;(a=this._logService)==null||a.warn(`[ComponentManager]`,`Component ${e} already exists.`)}return this._components.set(e,{framework:i,component:n}),(0,t.toDisposable)(()=>{this._components.delete(e)})}setHandler(e,t){this._handler[e]=t}get(e){if(!e)return;let t=this._components.get(e);if(!t)return;let n=this._handler[t.framework];if(!n)throw Error(`[ComponentManager] No handler found for framework: ${t.framework}`);return n(t.component,e)}delete(e){this._components.delete(e)}};L=w([C(0,(0,t.Optional)(t.ILogService))],L);let R=()=>null,z=class extends t.Disposable{constructor(e){super(),this._logService=e,S(this,`_icons`,new Map)}has(e){return this._icons.has(e)}_register(e,n){let r=this._icons.get(e);return r===n?(0,t.toDisposable)(()=>{}):(r&&this._logService.warn(`[IconManager]`,`Icon ${e} already exists.`),this._icons.set(e,n),(0,t.toDisposable)(()=>{this._icons.delete(e)}))}register(e,n){if(typeof e==`string`)return this._register(e,n);let r=[];for(let t in e)r.push(this._register(t,e[t]));return(0,t.toDisposable)(()=>{r.forEach(e=>e.dispose())})}get(e){return this._icons.get(e)||(this._logService.warn(`[IconManager]`,`Icon ${e} does not exist.`),R)}delete(e){this._icons.delete(e)}};z=w([C(0,t.ILogService)],z);var B=class{constructor(){S(this,`_list`,new Map)}setIndex(e,t){this._list.set(e,t)}getIndex(e){return this._list.get(e)}removeIndex(e){this._list.delete(e)}getMaxIndex(){let e=-9999999;return this._list.forEach(t=>{+t>e&&(e=+t)}),e}};function V(e,r,i,a){let o=e.get(t.IUniverInstanceService),s=e=>t.SHEET_EDITOR_UNITS.includes(e)?t.UniverInstanceType.UNIVER_SHEET:o.getUnitType(e);return new n.Observable(e=>{let t=o.focused$.subscribe(t=>{if(t==null||i&&i!==t||a&&(Array.isArray(a)?a.includes(t):a===t))return e.next(!0);let n=s(t);e.next(n!==r)}),n=o.getFocusedUnit();if(n==null){let t=o.getCurrentUnitOfType(r);e.next(t==null)}else{let t=s(n.getUnitId());e.next(t!==r)}return()=>t.unsubscribe()})}function H(e){let r=e.get(t.IUniverInstanceService);return new n.Observable(e=>{let n=r.focused$.subscribe(n=>{if(n==null)return e.next(!0);let i=r.getUnit(n,t.UniverInstanceType.UNIVER_DOC),a=i==null?void 0:i.getSnapshot().documentStyle.documentFlavor;e.next(a!==t.DocumentFlavor.TRADITIONAL)}),i=r.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(i==null)e.next(!0);else{let n=i==null?void 0:i.getSnapshot().documentStyle.documentFlavor;e.next(n!==t.DocumentFlavor.TRADITIONAL)}return()=>n.unsubscribe()})}function U(e,t){return!t||!e?e:([`type`,`icon`,`title`,`tooltip`].forEach(n=>{t[n]!==void 0&&(e[n]=t[n])}),[`hidden`,`disabled`,`activated`].forEach(n=>{ee(e,`${n}$`,t[n])}),e)}function ee(e,t,r){r!==void 0&&(e[t]=e[t]?e[t].pipe((0,n.switchMap)(()=>new n.BehaviorSubject(r))):new n.Observable(e=>{e.next(r)}))}let te=function(e){return e[e.BUTTON=0]=`BUTTON`,e[e.SELECTOR=1]=`SELECTOR`,e[e.BUTTON_SELECTOR=2]=`BUTTON_SELECTOR`,e[e.SUBITEMS=3]=`SUBITEMS`,e}({});function ne(e){return e.type===2}let W=(0,t.createIdentifier)(`univer.ui.workbench.service`),re=class extends t.Disposable{constructor(e){super(),S(this,`_tokens`,new Set),S(this,`_subscriptions`,new n.Subscription),S(this,`_rootUnitId`,null),S(this,`_rootUnitType$`,new n.BehaviorSubject(null)),S(this,`_skeletonVisible$`,new n.BehaviorSubject(!1)),S(this,`rootUnitType$`,this._rootUnitType$.asObservable()),S(this,`skeletonVisible$`,this._skeletonVisible$.asObservable()),this._subscriptions.add(e.unitAdded$.subscribe(({unit:e,options:t})=>{let n=e.getUnitId();(t==null?void 0:t.makeCurrent)!==!1&&ie(n,t)&&this._setRootUnit(n,e.type)})),this._subscriptions.add(e.focused$.subscribe(t=>{if(!t)return;let n=e.getUnit(t);n&&ie(t,e.getUnitCreateOptions(t)??void 0)&&this._setRootUnit(t,n.type)})),this._subscriptions.add(e.unitDisposed$.subscribe(e=>{let t=e.getUnitId();this._rootUnitId===t&&this._setRootUnit(null,null)}))}_setRootUnit(e,t){this._rootUnitId=e,this._rootUnitType$.getValue()!==t&&this._rootUnitType$.next(t)}acquireSkeleton(){let e=Symbol(`workbench-skeleton`);this._tokens.add(e),this._tokens.size===1&&this._skeletonVisible$.next(!0);let n=(0,t.toDisposable)(()=>{!this._tokens.delete(e)||this._tokens.size>0||this._skeletonVisible$.next(!1)});return this.disposeWithMe(n)}dispose(){this._subscriptions.unsubscribe(),this._tokens.clear(),this._rootUnitId=null,this._rootUnitType$.complete(),this._skeletonVisible$.complete(),super.dispose()}};re=w([C(0,(0,t.Inject)(t.IUniverInstanceService))],re);function ie(e,n){return!(0,t.isInternalEditorID)(e)&&!(n!=null&&n.skipAutoRender)&&!(n!=null&&n.embeddedRender)}function ae(e,r,i,a){let o=e.get(t.IUniverInstanceService),s=(0,n.combineLatest)([e.get(W).rootUnitType$,o.getCurrentTypeOfUnit$(i)]).pipe((0,n.switchMap)(([r,o])=>{if(r!==i||!o||(0,t.isInternalEditorID)(o.getUnitId()))return(0,n.of)({hidden:!0,disabled:!0});let s=e.get(t.ObjectPermissionService),c=o.getUnitId();return s.changed$.pipe((0,n.map)(()=>({disabled:!s.canView({unitId:c,objectId:c,objectType:a}),hidden:!s.supports({unitId:c,objectId:c,objectType:a})})))}));return{id:r,type:0,icon:`ProtectIcon`,title:`ui.objectPermission.title`,tooltip:`ui.objectPermission.title`,disabled$:s.pipe((0,n.map)(e=>e.disabled)),hidden$:s.pipe((0,n.map)(e=>e.hidden))}}let oe=`ui.config`,se={},G=`MOBILE_UI_MODE`,K=(0,t.createIdentifier)(`ui.message.service`),ce=`ui.permission-denied`,le=3e3,q=class extends t.Disposable{constructor(e,t,n,r){super(),this._errorService=e,this._messageService=t,this._permissionService=n,this._localeService=r,S(this,`_lastPermissionAttempt`,-1/0),S(this,`_lastPermissionTarget`,void 0),this.disposeWithMe(this._errorService.error$.subscribe(e=>{if(e.code===`PERMISSION_DENIED`){if(!this._permissionService.getShowComponents())return;let t=Date.now(),n=e.permissionTarget===this._lastPermissionTarget&&t-this._lastPermissionAttempt<le;this._lastPermissionAttempt=t,this._lastPermissionTarget=e.permissionTarget,n||this._messageService.show({id:ce,content:this._localeService.t(`ui.objectPermission.operationDenied`),type:i.MessageType.Warning,duration:le});return}this._messageService.show({content:e.errorKey,type:i.MessageType.Error})}))}dispose(){this._messageService.remove(ce),super.dispose()}};q=w([C(0,(0,t.Inject)(t.ErrorService)),C(1,K),C(2,t.IPermissionService),C(3,(0,t.Inject)(t.LocaleService))],q);let ue=`univer.command.copy`,de={id:ue,name:ue,multi:!0,priority:0,type:t.CommandType.COMMAND,preconditions:()=>!1,handler:()=>!0},fe=`univer.command.cut`,pe={id:fe,name:fe,multi:!0,priority:0,type:t.CommandType.COMMAND,preconditions:()=>!1,handler:async()=>!0},me=`univer.command.paste`,he={id:me,name:me,multi:!0,priority:0,type:t.CommandType.COMMAND,preconditions:()=>!1,handler:()=>!0},ge=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.BACKSPACE=8]=`BACKSPACE`,e[e.TAB=9]=`TAB`,e[e.ENTER=13]=`ENTER`,e[e.SHIFT=16]=`SHIFT`,e[e.CTRL=17]=`CTRL`,e[e.ESC=27]=`ESC`,e[e.SPACE=32]=`SPACE`,e[e.END=35]=`END`,e[e.HOME=36]=`HOME`,e[e.ARROW_LEFT=37]=`ARROW_LEFT`,e[e.ARROW_UP=38]=`ARROW_UP`,e[e.ARROW_RIGHT=39]=`ARROW_RIGHT`,e[e.ARROW_DOWN=40]=`ARROW_DOWN`,e[e.INSERT=45]=`INSERT`,e[e.DELETE=46]=`DELETE`,e[e.Digit0=48]=`Digit0`,e[e.Digit1=49]=`Digit1`,e[e.Digit2=50]=`Digit2`,e[e.Digit3=51]=`Digit3`,e[e.Digit4=52]=`Digit4`,e[e.Digit5=53]=`Digit5`,e[e.Digit6=54]=`Digit6`,e[e.Digit7=55]=`Digit7`,e[e.Digit8=56]=`Digit8`,e[e.Digit9=57]=`Digit9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.NUM_LOCK=144]=`NUM_LOCK`,e[e.SCROLL_LOCK=145]=`SCROLL_LOCK`,e[e.EQUAL=187]=`EQUAL`,e[e.COMMA=188]=`COMMA`,e[e.MINUS=189]=`MINUS`,e[e.PERIOD=190]=`PERIOD`,e[e.BACK_SLASH=220]=`BACK_SLASH`,e}({}),_e={8:`Backspace`,9:`Tab`,13:`Enter`,46:`Del`,27:`Esc`,32:`Space`,36:`Home`,35:`End`,37:`←`,39:`→`,38:`↑`,40:`↓`,48:`0`,49:`1`,50:`2`,51:`3`,52:`4`,53:`5`,54:`6`,55:`7`,56:`8`,57:`9`,65:`A`,66:`B`,67:`C`,68:`D`,69:`E`,70:`F`,71:`G`,72:`H`,73:`I`,74:`J`,75:`K`,76:`L`,77:`M`,78:`N`,79:`O`,80:`P`,81:`Q`,82:`R`,83:`S`,84:`T`,85:`U`,86:`V`,87:`W`,88:`X`,89:`Y`,90:`Z`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,189:`-`,187:`=`,190:`.`,188:`,`,220:`\\`},ve=function(e){return e[e.SHIFT=1024]=`SHIFT`,e[e.ALT=2048]=`ALT`,e[e.CTRL_COMMAND=4096]=`CTRL_COMMAND`,e[e.MAC_CTRL=8192]=`MAC_CTRL`,e}({});function ye(e,n,r){return window.addEventListener(e,n,r),(0,t.toDisposable)(()=>window.removeEventListener(e,n,r))}let be=(0,t.createIdentifier)(`ui.platform.service`);var xe=class{get isMac(){return/Mac/.test(navigator.appVersion)}get isWindows(){return/Windows/.test(navigator.appVersion)}get isLinux(){return/Linux/.test(navigator.appVersion)}};let Se=(0,t.createIdentifier)(`ui.runtime-scope.service`);var Ce=class extends t.Disposable{constructor(...e){super(...e),S(this,`_scopes`,new Map)}register(e){return this._scopes.set(e.unitId,e),(0,t.toDisposable)(()=>{this._scopes.get(e.unitId)===e&&this._scopes.delete(e.unitId)})}get(e){return e?this._scopes.get(e):void 0}};let we=new Set([13,32,9,27,40,38,37,39,36,35]),Te=function(e){return e[e.ALLOW_NATIVE=0]=`ALLOW_NATIVE`,e[e.OVERRIDE_NATIVE=1]=`OVERRIDE_NATIVE`,e}({}),Ee=(0,t.createIdentifier)(`ui.shortcut.service`),De=class extends t.Disposable{constructor(e,t,r,i,a){super(),this._commandService=e,this._platformService=t,this._contextService=r,this._runtimeScopeService=i,this._layoutService=a,S(this,`_shortCutMapping`,new Map),S(this,`_commandIDMapping`,new Map),S(this,`_shortcutChanged$`,new n.Subject),S(this,`shortcutChanged$`,this._shortcutChanged$.asObservable()),S(this,`_forceEscapeCount`,0),S(this,`_forceDisabled`,!1),this.disposeWithMe(ye(`keydown`,e=>{this._resolveKeyboardEvent(e)},{capture:!0}))}getAllShortcuts(){return Array.from(this._shortCutMapping.values()).map(e=>Array.from(e.values())).flat()}registerShortcut(e){let n=this._getBindingFromItem(e);if(!n)return(0,t.toDisposable)(()=>{});let r=this._shortCutMapping.get(n);r?r.add(e):this._shortCutMapping.set(n,new Set([e]));let i=e.id,a=this._commandIDMapping.get(i);return a?a.add(e):this._commandIDMapping.set(i,new Set([e])),this._emitShortcutChanged(),(0,t.toDisposable)(()=>{var t,r,a,o;(t=this._shortCutMapping.get(n))==null||t.delete(e),((r=this._shortCutMapping.get(n))==null?void 0:r.size)===0&&this._shortCutMapping.delete(n),(a=this._commandIDMapping.get(i))==null||a.delete(e),((o=this._commandIDMapping.get(i))==null?void 0:o.size)===0&&this._commandIDMapping.delete(i),this._emitShortcutChanged()})}getShortcutDisplayOfCommand(e){let t=this._commandIDMapping.get(e);if(!t)return null;let n=t.values().next().value;return n?this.getShortcutDisplay(n):null}getShortcutDisplay(e){let t=this._getBindingFromItem(e);if(!t)return null;let n=t&4096,r=t&1024,i=t&2048,a=t&8192,o=_e[t&255]??`<->`;return this._platformService.isMac?`${n?`⌘+`:``}${r?`⇧+`:``}${i?`⌥+`:``}${a?`⌃+`:``}${o}`:`${n?`Ctrl+`:``}${r?`Shift+`:``}${i?`Alt+`:``}${o}`}_emitShortcutChanged(){this._shortcutChanged$.next()}forceEscape(){return this._forceEscapeCount+=1,(0,t.toDisposable)(()=>{this._forceEscapeCount=Math.max(0,this._forceEscapeCount-1)})}forceDisable(){return this._forceDisabled=!0,(0,t.toDisposable)(()=>{this._forceDisabled=!1})}_resolveKeyboardEvent(e){let n=this.dispatch(e);if(n){var r;((r=this._getRuntimeService(e,t.ICommandService))==null?void 0:r.executeCommand(n.id,n.staticParameters))??this._commandService.executeCommand(n.id,n.staticParameters),e.preventDefault()}}dispatch(e){if(e.isComposing||e.target instanceof HTMLInputElement&&e.target.closest(`[data-u-command]`)||!e.ctrlKey&&!e.metaKey&&!e.altKey&&we.has(e.keyCode)&&e.target instanceof HTMLElement&&(e.target.matches(`button[data-u-command], [data-u-command][role="button"], [data-embed-floating-menu="true"] button, [data-u-command] input`)||e.target.closest(`[role="menu"]`))||this._forceEscapeCount>0||this._forceDisabled||this._layoutService&&!this._layoutService.checkElementInCurrentContainers(e.target))return;let n=this._deriveBindingFromEvent(e);if(n===null)return;let r=this._shortCutMapping.get(n);if(r===void 0)return;let i=this._getRuntimeService(e,t.IContextService)??this._contextService,a=Array.from(r).sort((e,t)=>(t.priority??0)-(e.priority??0)).find(t=>{var n,r;return(((n=t.eventPreconditions)==null?void 0:n.call(t,e))??!0)&&(((r=t.preconditions)==null?void 0:r.call(t,i))??!0)});if(!(this._shouldLetEmbedTextEditorHandleNativeShortcut(e,n)&&(a==null?void 0:a.nativeTextEditorBehavior)!==1))return a}_getBindingFromItem(e){return this._platformService.isMac&&e.mac?e.mac:this._platformService.isWindows&&e.win?e.win:this._platformService.isLinux&&e.linux?e.linux:e.binding}_deriveBindingFromEvent(e){let{shiftKey:t,metaKey:n,altKey:r,keyCode:i}=e,a=i;return t&&(a|=1024),r&&(a|=2048),(this._platformService.isMac?n:e.ctrlKey)&&(a|=4096),this._platformService.isMac&&e.ctrlKey&&(a|=8192),a}_shouldLetEmbedTextEditorHandleNativeShortcut(e,t){if(t!==4161)return!1;let n=e.target;return n instanceof HTMLElement&&(n.isContentEditable||n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&m(n)}_getRuntimeService(e,t){let n=h(e.target),r=this._runtimeScopeService.get(n);return r!=null&&r.has(t)?r.get(t):void 0}};De=w([C(0,t.ICommandService),C(1,be),C(2,t.IContextService),C(3,Se),C(4,(0,t.Optional)(D))],De);function Oe(e){return e.getContextValue(t.FOCUSING_UNIVER_EDITOR)}function ke(e){return e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!(e.getContextValue(t.EDITOR_ACTIVATED)||e.getContextValue(t.FOCUSING_FX_BAR_EDITOR))}let Ae={id:de.id,description:`ui.shortcut.copy`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4163,preconditions:Oe},je={id:pe.id,description:`ui.shortcut.cut`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4184,preconditions:Oe},Me={id:he.id,description:`ui.shortcut.paste`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4182,preconditions:()=>!1},Ne={id:t.UndoCommand.id,description:`ui.shortcut.undo`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4186,preconditions:ke},Pe={id:t.RedoCommand.id,description:`ui.shortcut.redo`,group:`1_common-edit`,groupTitle:`ui.common-edit`,binding:4185,preconditions:ke},Fe={...Pe,binding:void 0,mac:5210},Ie=class extends t.Disposable{constructor(e,t){super(),this._shortcutService=e,this._commandService=t,this.initialize()}initialize(){this._registerCommands(),this._registerShortcuts()}_registerCommands(){this.disposeWithMe(this._commandService.registerCommand(j)),[pe,de,he].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_registerShortcuts(){let e=[Ne,Pe,Fe];for(let n of e)this.disposeWithMe(this._shortcutService.registerShortcut({...n,eventPreconditions:e=>{let t=e.target;return t instanceof HTMLElement&&t===t.ownerDocument.activeElement&&!t.isContentEditable&&t.matches(`button[data-u-command], [data-u-command][role="button"], [data-embed-floating-menu="true"] button`)},preconditions:e=>!(e.getContextValue(t.EDITOR_ACTIVATED)||e.getContextValue(t.FOCUSING_FX_BAR_EDITOR))}));e.push(je,Ae,Me),e.forEach(e=>this.disposeWithMe(this._shortcutService.registerShortcut(e)))}};Ie=w([C(0,Ee),C(1,t.ICommandService)],Ie);let Le=function(e){return e.RIBBON=`ribbon`,e.CONTEXT_MENU=`contextMenu`,e}({}),Re=function(e){return e.SHEET=`floatingObjectToolbar.sheet`,e.DOC=`floatingObjectToolbar.doc`,e.SLIDE=`floatingObjectToolbar.slide`,e.BOARD=`floatingObjectToolbar.board`,e}({}),ze=function(e){return e.START=`ribbon.start`,e.INSERT=`ribbon.insert`,e.FORMULAS=`ribbon.formulas`,e.DATA=`ribbon.data`,e.VIEW=`ribbon.view`,e.OTHERS=`ribbon.others`,e}({}),Be=function(e){return e.HISTORY=`ribbon.start.history`,e.FORMAT=`ribbon.start.format`,e.LAYOUT=`ribbon.start.layout`,e.NUMBER=`ribbon.start.number`,e.OTHERS=`ribbon.start.others`,e}({}),Ve=function(e){return e.EDIT=`ribbon.insert.edit`,e.CELL=`ribbon.insert.cell`,e.MEDIA=`ribbon.insert.media`,e.OTHERS=`ribbon.insert.others`,e}({}),He=function(e){return e.BASIC=`ribbon.formulas.basic`,e.OTHERS=`ribbon.formulas.others`,e}({}),Ue=function(e){return e.FORMULAS=`ribbon.data.formulas`,e.RULES=`ribbon.data.rules`,e.ORGANIZATION=`ribbon.data.organization`,e.OTHERS=`ribbon.data.others`,e}({}),We=function(e){return e.DISPLAY=`ribbon.view.display`,e.VISIBILITY=`ribbon.view.Visibility`,e.OTHERS=`ribbon.view.others`,e}({}),Ge=function(e){return e.OTHERS=`ribbon.others.others`,e}({}),Ke=function(e){return e.MAIN_AREA=`contextMenu.mainArea`,e.COL_HEADER=`contextMenu.colHeader`,e.ROW_HEADER=`contextMenu.rowHeader`,e.FOOTER_TABS=`contextMenu.footerTabs`,e.FOOTER_MENU=`contextMenu.footerMenu`,e.PARAGRAPH=`contextMenu.paragraph`,e.DRAWING=`contextMenu.drawing`,e}({}),qe=function(e){return e.QUICK=`contextMenu.quick`,e.FORMAT=`contextMenu.format`,e.LAYOUT=`contextMenu.layout`,e.DATA=`contextMenu.data`,e.OTHERS=`contextMenu.others`,e}({});var Je;let J=(0,t.createIdentifier)(`univer.menu-manager-service`),Ye=Je=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._configService=t,S(this,`menuChanged$`,new n.Subject),S(this,`_menu`,{ribbon:{"ribbon.start":{order:0,title:`ui.ribbon.start`,"ribbon.start.history":{order:0},"ribbon.start.format":{order:1},"ribbon.start.layout":{order:2},"ribbon.start.number":{order:3},"ribbon.start.others":{order:4}},"ribbon.insert":{order:1,title:`ui.ribbon.insert`,"ribbon.insert.edit":{order:0},"ribbon.insert.media":{order:1},"ribbon.insert.cell":{order:2},"ribbon.insert.others":{order:3}},"ribbon.formulas":{order:2,title:`ui.ribbon.formulas`,"ribbon.formulas.basic":{order:0},"ribbon.formulas.others":{order:1}},"ribbon.data":{order:3,title:`ui.ribbon.data`,"ribbon.data.formulas":{order:0},"ribbon.data.rules":{order:1},"ribbon.data.organization":{order:2},"ribbon.data.others":{order:3}},"ribbon.view":{order:4,title:`ui.ribbon.view`,"ribbon.view.display":{order:0},"ribbon.view.Visibility":{order:0},"ribbon.view.others":{order:0}},"ribbon.others":{order:5,title:`ui.ribbon.others`,"ribbon.others.others":{order:0}}},contextMenu:{"contextMenu.mainArea":{order:0,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.paragraph":{order:0,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.colHeader":{order:1,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.rowHeader":{order:2,"contextMenu.quick":{order:-1,quickLayout:`icon`},"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.footerTabs":{order:3,"contextMenu.format":{order:0},"contextMenu.layout":{order:1},"contextMenu.data":{order:2},"contextMenu.others":{order:3}},"contextMenu.footerMenu":{order:4,"contextMenu.others":{order:3}},"contextMenu.drawing":{order:5,"contextMenu.others":{order:3}}},"floatingObjectToolbar.sheet":{},"floatingObjectToolbar.doc":{},"floatingObjectToolbar.slide":{},"floatingObjectToolbar.board":{}})}dispose(){this.menuChanged$.complete(),super.dispose()}mergeMenu(e,t){let n=t??this._menu;for(let[t,r]of Object.entries(n))if(t in e){let r=n,i=e;r[t]=$e(r[t],i[t]),this.menuChanged$.next()}else Ze(r)&&this.mergeMenu(e,r)}appendRootMenu(e){this._menu=(0,t.merge)({},this._menu,e),this.menuChanged$.next()}updateMenuConfig(e){this._configService.setConfig(`menu`,e,{merge:!0}),this.menuChanged$.next()}createScoped(e){let t=()=>{let t=new Je(e,this._configService);return t._menu=this._menu,t};return{menuChanged$:this.menuChanged$,mergeMenu:(e,t)=>this.mergeMenu(e,t),appendRootMenu:e=>this.appendRootMenu(e),updateMenuConfig:e=>this.updateMenuConfig(e),getMenuByPositionKey:e=>t().getMenuByPositionKey(e),getFlatMenuByPositionKey:e=>t().getFlatMenuByPositionKey(e)}}_buildMenuSchema(e){let t=[],n=this._configService.getConfig(`menu`);for(let[r,i]of Object.entries(e)){if(r===`replace`)continue;let e=i.menuItemFactory?this._injector.invoke(i.menuItemFactory):void 0,a=n==null?void 0:n[(e==null?void 0:e.id)??r],o={key:r,order:(a==null?void 0:a.order)??i.order,title:i.title,contextual:i.contextual,quickLayout:i.quickLayout,quickColumns:i.quickColumns,quickLayoutVariant:i.quickLayoutVariant,mobileLayout:i.mobileLayout,tiny:i.tiny,gridLayout:a!=null&&a.gridLayout?{...i.gridLayout,...a.gridLayout}:i.gridLayout};if(e&&(o.item=a?U(e,a):e),i.headerActionMenuItemFactory&&(o.headerActionItem=this._injector.invoke(i.headerActionMenuItemFactory)),typeof i==`object`){let e=this._buildMenuSchema(i);e.length>0&&(o.children=e.sort((e,t)=>e.order-t.order)),(o.item||o.children)&&t.push(o)}}return t.sort((e,t)=>Xe(e.order)-Xe(t.order))}getMenuByPositionKey(e){let t=n=>{if(e in n)return this._buildMenuSchema(n[e]);for(let r in n){if(r===e)return this._buildMenuSchema(n[r]);if(typeof n[r]==`object`){let e=t(n[r]);if(e)return e}}};return t(this._menu)??[]}getFlatMenuByPositionKey(e){let t=this.getMenuByPositionKey(e);function n(e){return e.reduce((e,t)=>t.children?[...e,t,...n(t.children)]:[...e,t],[])}return n(t)}};Ye=Je=w([C(0,(0,t.Inject)(t.Injector)),C(1,t.IConfigService)],Ye);function Xe(e){return e??0}function Ze(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qe(e,t=!1){if(!Ze(e))return e;let n={};for(let[r,i]of Object.entries(e))(r!==`replace`||t)&&(n[r]=Qe(i,t));return n}function $e(e,n){if(!Ze(n)||!Ze(e))return Qe(n);if(n.replace===!0)return Qe(n,!0);if(e.replace===!0)return Qe(e,!0);let r=(0,t.merge)({},e);for(let[e,t]of Object.entries(n))e!==`replace`&&(r[e]=e in r?$e(r[e],t):Qe(t,!0));return r}let et={id:I.id,binding:4316,description:`ui.shortcut.shortcut-panel`,group:`10_global-shortcut`,groupTitle:`ui.global-shortcut`},tt=class extends t.Disposable{constructor(e,t,n){super(),this._menuManagerService=t,this.disposeWithMe(n.registerCommand(I)),this.disposeWithMe(e.registerShortcut(et))}};tt=w([C(0,Ee),C(1,J),C(2,t.ICommandService)],tt);let nt=(0,t.createIdentifier)(`univer.ui.dialog-service`),rt=(0,t.createIdentifier)(`univer.ribbon-service`);function it(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}let at=class extends t.Disposable{constructor(e,t){super(),this._menuManagerService=e,this._univerInstanceService=t,S(this,`_ribbon$`,new n.BehaviorSubject([])),S(this,`ribbon$`,this._ribbon$.asObservable()),S(this,`_activatedTab$`,new n.BehaviorSubject(`ribbon.start`)),S(this,`activatedTab$`,this._activatedTab$.asObservable()),S(this,`_collapsedIds$`,new n.BehaviorSubject([])),S(this,`collapsedIds$`,this._collapsedIds$.asObservable()),S(this,`_fakeToolbarVisible$`,new n.BehaviorSubject(!1)),S(this,`fakeToolbarVisible$`,this._fakeToolbarVisible$.asObservable()),S(this,`_visibleContextualTabs`,new Set),S(this,`_contextualTabs`,new Set),S(this,`_lastNonContextualActivatedTab`,`ribbon.start`),S(this,`_hiddenSubscription`,null),this._initRibbonSubscription()}setActivatedTab(e){this._isContextualTab(e)||(this._lastNonContextualActivatedTab=e),this._activatedTab$.next(e)}showContextualTab(e,t){this._visibleContextualTabs.add(e),this._updateRibbon(),t!=null&&t.activate&&this.setActivatedTab(e)}hideContextualTab(e){this._visibleContextualTabs.delete(e)&&this._updateRibbon()}hideAllContextualTabs(){this._visibleContextualTabs.size!==0&&(this._visibleContextualTabs.clear(),this._updateRibbon())}setCollapsedIds(e){this._collapsedIds$.next(e)}setFakeToolbarVisible(e){this._fakeToolbarVisible$.next(e)}_initRibbonSubscription(){this.disposeWithMe((0,n.combineLatest)([this._menuManagerService.menuChanged$.pipe((0,o.startWith)(void 0)),this._univerInstanceService.focused$.pipe((0,o.startWith)(void 0),(0,o.distinctUntilChanged)())]).subscribe(()=>{this._updateRibbon()}))}_updateRibbon(){var e;let t=this._filterContextualTabs(this._menuManagerService.getMenuByPositionKey(`ribbon`)),r=[],i=[];for(let e of t)if(e.children){for(let t of e.children)if(t.children)for(let e of t.children){var a;(a=e.item)!=null&&a.hidden$&&(r.push(e.item.hidden$),i.push(e.key))}}if((e=this._hiddenSubscription)==null||e.unsubscribe(),this._hiddenSubscription=null,r.length===0){this._setRibbon(t);return}this._hiddenSubscription=(0,n.combineLatest)(r.map(e=>e.pipe((0,o.startWith)(!1)))).pipe((0,o.distinctUntilChanged)(it)).subscribe(e=>{let n=[],r=e.map((e,t)=>e?i[t]:null).filter(e=>!!e);for(let e of t){var a,o;let t={...e,children:[]};if((a=e.children)!=null&&a.length)for(let n of e.children){var s;let e={...n,children:[]},i=!0;if((s=n.children)!=null&&s.length){var c;for(let t of n.children)if(!r.includes(t.key)){var l;(l=e.children)==null||l.push(t)}(c=e.children)!=null&&c.every(e=>{var t;return((t=e.children)==null?void 0:t.length)===0})&&(i=!1)}if(i){var u;(u=t.children)==null||u.push(e)}}(o=t.children)!=null&&o.length&&t.children.every(e=>{var t;return(t=e.children)==null?void 0:t.length})&&n.push(t)}this._setRibbon(n)})}_filterContextualTabs(e){return this._contextualTabs.clear(),e.forEach(e=>{e.contextual&&this._contextualTabs.add(e.key)}),e.filter(e=>!e.contextual||this._visibleContextualTabs.has(e.key))}_setRibbon(e){let t=this._activatedTab$.getValue(),n=e.find(e=>e.key===t);if(!n&&this._contextualTabs.has(t)){let t=e.find(e=>e.key===this._lastNonContextualActivatedTab&&!e.contextual)??e.find(e=>e.key===`ribbon.start`)??e[0];t&&this._activatedTab$.next(t.key)}else if(!n&&e.some(e=>e.key===`ribbon.start`)){let t=e.find(e=>e.key===`ribbon.start`);this._activatedTab$.next(t.key),t.contextual||(this._lastNonContextualActivatedTab=t.key)}else n&&!n.contextual&&(this._lastNonContextualActivatedTab=n.key);this._ribbon$.next(e)}_isContextualTab(e){return this._contextualTabs.has(e)||this._ribbon$.getValue().some(t=>t.key===e&&t.contextual)}dispose(){var e;(e=this._hiddenSubscription)==null||e.unsubscribe(),this._hiddenSubscription=null,this._ribbon$.next([]),this._ribbon$.complete(),this._activatedTab$.complete(),this._collapsedIds$.complete(),this._fakeToolbarVisible$.complete(),super.dispose()}};at=w([C(0,J),C(1,t.IUniverInstanceService)],at);function ot(e){return typeof e==`function`?e():e}function st(e,t){let n=(0,r.useRef)(t);return(0,r.useEffect)(()=>{if(e){let t=ot(e).subscribe(e=>{n.current=e});return()=>t.unsubscribe()}},[e]),n}let ct=`FeatureSearch`,lt=`FEATURE_SEARCH_DIALOG`;function ut(e,t){return(typeof e.params==`function`?e.params():e.params)??(t===void 0?void 0:{value:t})}function dt(e){return(typeof e.params==`function`?e.params(e.value):e.params)??(e.value===void 0?void 0:{value:e.value})}function ft(e){return e.filter((n,r)=>e.findIndex(e=>e.commandId===n.commandId&&t.Tools.diffValue(e.params,n.params))===r)}function pt(){let e=(0,s.useDependency)(J),a=(0,s.useDependency)(t.LocaleService),l=(0,s.useDependency)(t.ICommandService),u=(0,s.useDependency)(nt),d=(0,s.useDependency)(D),f=(0,s.useDependency)(rt),p=(0,r.useMemo)(()=>{function t(e){let t=e.title??e.tooltip??e.description;return t?a.t(t):``}function r(e,n,i,o=[],s){return e.flatMap((e,c)=>{let l=a.t(e.title??``),u=l?[...n,l]:n,d=[...i,`${e.key}:${c}`],f=[];return e.item&&f.push({key:`${d.join(`/`)}:item`,item:e.item,path:u,ancestors:o,parentTitle:s}),e.headerActionItem&&f.push({key:`${d.join(`/`)}:header`,item:e.headerActionItem,path:u,ancestors:o,parentTitle:s}),e.children&&f.push(...r(e.children,u,d,e.item?[...o,e.item]:o,e.item?t(e.item):s)),f})}function i(e){var r,i,s;let{item:c}=e,l=c.type===1||c.type===2,u=l?c.selections:void 0,d=(0,n.isObservable)(u)?u.pipe((0,o.startWith)([])):(0,n.of)(u??[]),f=e.ancestors.length?(0,n.combineLatest)(e.ancestors.map(e=>{var t;return((t=e.hidden$)==null?void 0:t.pipe((0,o.startWith)(!0)))??(0,n.of)(!1)})).pipe((0,o.map)(e=>e.some(Boolean))):(0,n.of)(!1),p=e.ancestors.length?(0,n.combineLatest)(e.ancestors.map(e=>{var t;return((t=e.disabled$)==null?void 0:t.pipe((0,o.startWith)(!0)))??(0,n.of)(!1)})).pipe((0,o.map)(e=>e.some(Boolean))):(0,n.of)(!1);return(0,n.combineLatest)([f,p,((r=c.hidden$)==null?void 0:r.pipe((0,o.startWith)(!0)))??(0,n.of)(!1),((i=c.disabled$)==null?void 0:i.pipe((0,o.startWith)(!0)))??(0,n.of)(!1),((s=c.value$)==null?void 0:s.pipe((0,o.startWith)(void 0)))??(0,n.of)(void 0),d]).pipe((0,o.map)(([n,r,i,o,s,u])=>{if(n||r||i||o)return[];let d=t(c),f=e.path.join(` / `),p=[];return d&&c.type!==1&&c.type!==3&&p.push({key:e.key,title:d,parentTitle:e.parentTitle,description:a.t(c.description??``),path:f,commandId:c.commandId??c.id,params:ut(c,s),getParams:()=>ut(c,s)}),l&&u.forEach((t,n)=>{if(t.disabled||typeof t.label!=`string`)return;let r=t.commandId??t.id??c.selectionsCommandId??c.commandId??c.id;p.push({key:`${e.key}:option:${t.id??t.commandId??t.value??n}`,title:a.t(t.label),parentTitle:d,description:``,path:f,commandId:r,params:dt(t),getParams:()=>dt(t)})}),p}))}return(0,n.combineLatest)([f.ribbon$,(0,n.merge)((0,n.of)(void 0),e.menuChanged$,a.localeChanged$)]).pipe((0,o.switchMap)(([t])=>{let s=[...r(t,[a.t(`ui.featureSearch.ribbon`)],[`ribbon`]),...r(e.getMenuByPositionKey(`contextMenu`),[a.t(`ui.featureSearch.contextMenu`)],[`contextMenu`])];return s.length===0?(0,n.of)([]):(0,n.combineLatest)(s.map(i)).pipe((0,o.map)(e=>ft(e.flat())))}))},[a,e,f]),m=(0,s.useObservable)(p,[]);async function h(e){d.focus(),await l.executeCommand(e.commandId,e.getParams())&&u.close(lt)}return(0,c.jsxs)(i.Command,{label:a.t(`ui.featureSearch.title`),loop:!0,children:[(0,c.jsx)(i.CommandInput,{autoFocus:!0,placeholder:a.t(`ui.featureSearch.placeholder`)}),(0,c.jsxs)(i.CommandList,{children:[(0,c.jsx)(i.CommandEmpty,{children:a.t(`ui.featureSearch.empty`)}),(0,c.jsx)(i.CommandGroup,{children:m.map(e=>(0,c.jsxs)(i.CommandItem,{value:e.key,keywords:[e.parentTitle??``,e.title,e.description,e.path],onSelect:()=>h(e),children:[(0,c.jsxs)(`span`,{className:`univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-1`,children:[e.parentTitle&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{className:`univer-shrink-0`,children:e.parentTitle}),(0,c.jsx)(`span`,{className:`univer-text-gray-400`,children:`/`})]}),(0,c.jsx)(`span`,{className:`univer-truncate`,children:e.title})]}),e.path&&(0,c.jsx)(`span`,{className:`univer-max-w-1/2 univer-truncate univer-text-xs univer-text-gray-400`,children:e.path})]},e.key))})]})]})}let mt={id:`ui.operation.open-feature-search`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(nt),r=e.get(t.LocaleService);return n.open({id:lt,width:560,title:{title:r.t(`ui.featureSearch.title`)},children:{label:ct},onClose:()=>n.close(lt)}),!0}};function ht(e,t,n){let r=!1,i,a=()=>{var e;return t.isActive(n.adapterId)&&t.unitId===(((e=n.getUnitId)==null?void 0:e.call(n))??n.unitId)},o=t=>{a()&&(e.dataset.formatPainter=t&&!n.getTarget(t)?`unavailable`:`available`)},s=t.state$.subscribe(()=>{a()?o():t.mode===`off`&&(delete e.dataset.formatPainter,r=!1,clearTimeout(i))}),c=t=>{a()&&t.button===0&&(r=!!n.getTarget(t),(n.intercept||!r)&&(e.focus(),t.preventDefault(),t.stopImmediatePropagation()))},l=e=>{a()&&r&&e.button===0&&(r=!1,n.intercept&&(e.preventDefault(),e.stopImmediatePropagation()),clearTimeout(i),i=setTimeout(()=>{let r=a()?n.getTarget(e):null;r&&t.apply(n.adapterId,r).catch(e=>console.error(`[FormatPainter]`,e))},0))},u=()=>{r=!1},d=e=>{a()&&n.intercept&&(e.preventDefault(),e.stopImmediatePropagation())};return e.addEventListener(`pointerdown`,c,!0),e.addEventListener(`pointerup`,l,!0),e.addEventListener(`pointermove`,o,!0),e.addEventListener(`pointercancel`,u,!0),e.addEventListener(`pointerleave`,u,!0),e.addEventListener(`dblclick`,d,!0),{dispose:()=>{clearTimeout(i),s.unsubscribe(),e.removeEventListener(`pointerdown`,c,!0),e.removeEventListener(`pointerup`,l,!0),e.removeEventListener(`pointermove`,o,!0),e.removeEventListener(`pointercancel`,u,!0),e.removeEventListener(`pointerleave`,u,!0),e.removeEventListener(`dblclick`,d,!0),delete e.dataset.formatPainter}}}var gt=class extends t.Disposable{constructor(...e){super(...e),S(this,`_adapters`,[]),S(this,`_state$`,new n.BehaviorSubject(`off`)),S(this,`state$`,this._state$.asObservable()),S(this,`_session`,null),S(this,`_applying`,!1)}get mode(){return this._state$.value}get unitId(){var e;return(e=this._session)==null?void 0:e.source.unitId}register(e){this._adapters.push(e),this._adapters.sort((e,t)=>t.priority-e.priority);let t=e.changes$.subscribe(()=>this.refresh());return this.refresh(),this.disposeWithMe(()=>{t.unsubscribe();let n=this._adapters.indexOf(e);n>=0&&this._adapters.splice(n,1),this.isActive(e.id)&&this.cancel(),this.refresh()})}refresh(){this._state$.next(this.mode)}canStart(){var e;return((e=this._adapters.find(e=>e.isActive()))==null?void 0:e.canStart())??!1}isActive(e){var t;return((t=this._session)==null?void 0:t.adapterId)===e}canClear(){let e=this._adapters.find(e=>e.isActive());return!!(e!=null&&e.clear)&&e.canStart()}async clearFormatting(){let e=this._adapters.find(e=>e.isActive());if(!(e!=null&&e.clear)||!e.canStart()||this._applying)return!1;this.cancel(),this._applying=!0;try{return await e.clear()}finally{this._applying=!1,this.refresh()}}activate(e=!1){if(this._session)return e?this._setMode(`continuous`):this.cancel(),!0;let t=this._adapters.find(e=>e.isActive());if(!(t!=null&&t.canStart()))return!1;let n=t.capture();return n?(this._session={adapterId:t.id,source:n},this._setMode(e?`continuous`:`once`),!0):!1}async apply(e,t){let n=this._session;if(!n||n.adapterId!==e||t.unitId!==n.source.unitId||this._applying)return!1;this._applying=!0;try{let e=await n.source.apply(t);return e&&this._session===n&&this.mode===`once`&&this.cancel(),e}finally{this._applying=!1}}cancel(){var e,t;let n=this._session;this._session=null,n==null||(t=(e=n.source).onModeChange)==null||t.call(e,`off`),this._state$.next(`off`)}_setMode(e){var t,n,r;(t=this._session)==null||(r=(n=t.source).onModeChange)==null||r.call(n,e),this._state$.next(e)}dispose(){this.cancel(),this._adapters.length=0,this._state$.complete(),super.dispose()}};let _t={id:`ui.operation.activate-format-painter`,type:t.CommandType.OPERATION,handler:e=>e.get(gt).activate()},vt={id:`ui.operation.continuous-format-painter`,type:t.CommandType.OPERATION,handler:e=>e.get(gt).activate(!0)},yt={id:`ui.command.clear-formatting`,type:t.CommandType.COMMAND,handler:e=>e.get(gt).clearFormatting()},bt={id:`ui.operation.cancel-format-painter`,type:t.CommandType.OPERATION,handler:e=>(e.get(gt).cancel(),!0)},xt=class extends t.Disposable{constructor(e,t,n,r){super();let i=document.createElement(`style`);i.textContent=`
2
+ /* Keep the brush visible while the render engine updates its usual object/text cursors. */
3
+ canvas[data-format-painter="available"] {
4
+ cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M2 1v18l4-4 3 7 3-2-3-6h6z' fill='white' stroke='black'/%3E%3Cpath d='m17 13 8-10 2 2-8 10z' fill='white' stroke='black'/%3E%3Cpath d='M17 14c-4 0-2 5-6 6 5 2 10-1 8-5z' fill='black' stroke='white'/%3E%3C/svg%3E") 2 1, crosshair !important;
5
+ }
6
+ canvas[data-format-painter="unavailable"] {
7
+ cursor: not-allowed !important;
8
+ }
9
+ `,document.head.appendChild(i),this.disposeWithMe({dispose:()=>i.remove()});for(let e of[_t,vt,bt,yt])this.disposeWithMe(t.registerCommand(e));this.disposeWithMe(n.registerShortcut({id:bt.id,binding:27,priority:1e3,preconditions:()=>e.mode!==`off`})),this.disposeWithMe(ye(`keydown`,n=>{n.key===`Escape`&&e.mode!==`off`&&n.target instanceof HTMLElement&&n.target.closest(`[data-u-command="${_t.id}"]`)&&(t.syncExecuteCommand(bt.id),n.preventDefault(),n.stopPropagation())},{capture:!0})),this.disposeWithMe(r.unitDisposed$.subscribe(t=>{t.getUnitId()===e.unitId&&e.cancel()})),this.disposeWithMe(r.focused$.subscribe(t=>{t&&e.unitId&&t!==e.unitId&&e.cancel(),e.refresh()}))}};xt=w([C(0,(0,t.Inject)(gt)),C(1,t.ICommandService),C(2,Ee),C(3,t.IUniverInstanceService)],xt);function St(){return{id:mt.id,title:`ui.featureSearch.title`,tooltip:`ui.featureSearch.title`,icon:`FeatureSearchIcon`,type:0}}function Ct(e){let t=e.get(gt);return{id:_t.id,subId:vt.id,type:0,icon:`BrushIcon`,title:`ui.formatPainter`,tooltip:`ui.formatPainter`,activated$:t.state$.pipe((0,n.map)(e=>e!==`off`)),disabled$:t.state$.pipe((0,n.map)(e=>e===`off`&&!t.canStart()))}}function wt(e){let t=e.get(gt);return{id:yt.id,type:0,icon:`ClearFormatDoubleIcon`,title:`ui.clearFormatting`,tooltip:`ui.clearFormatting`,disabled$:t.state$.pipe((0,n.map)(()=>!t.canClear()))}}let Tt=(e,r)=>{let i=e.get(t.IUndoRedoService),a=e.get(t.IContextService);return(0,n.combineLatest)([i.undoRedoStatus$.pipe((0,o.map)(e=>r?e.undos<=0:e.redos<=0)),(0,n.merge)([(0,n.of)({}),a.contextChanged$])]).pipe((0,o.map)(([e])=>e||a.getContextValue(t.EDITOR_ACTIVATED)||a.getContextValue(t.FOCUSING_FX_BAR_EDITOR)))},Et=(e,n,r)=>e.get(t.LocaleService).direction$.pipe((0,o.map)(e=>e===`rtl`?r:n));function Dt(e){return{id:t.UndoCommand.id,type:0,icon:Et(e,`UndoIcon`,`RedoIcon`),title:`ui.shortcut.undo`,tooltip:`ui.shortcut.undo`,disabled$:Tt(e,!0)}}function Ot(e){return{id:t.RedoCommand.id,type:0,icon:Et(e,`RedoIcon`,`UndoIcon`),title:`ui.shortcut.redo`,tooltip:`ui.shortcut.redo`,disabled$:Tt(e,!1)}}function kt(){return{id:I.id,title:`ui.toggle-shortcut-panel`,tooltip:`ui.toggle-shortcut-panel`,icon:`KeyboardIcon`,type:0}}let At={"ribbon.start.history":{[_t.id]:{order:2,gridLayout:{row:1,column:2,showLabel:!1},menuItemFactory:Ct},[yt.id]:{order:3,gridLayout:{row:2,column:2,showLabel:!1},menuItemFactory:wt},[t.UndoCommand.id]:{order:0,gridLayout:{row:1,column:1,iconSize:18},menuItemFactory:Dt},[t.RedoCommand.id]:{order:1,gridLayout:{row:2,column:1,iconSize:18},menuItemFactory:Ot}},"ribbon.start.others":{[I.id]:{order:1,menuItemFactory:kt},[mt.id]:{order:2,menuItemFactory:St}}},jt=function(e){return e.GLOBAL=`global`,e.HEADER=`header`,e.HEADER_MENU=`header-menu`,e.CONTENT=`content`,e.FOOTER=`footer`,e.LEFT_SIDEBAR=`left-sidebar`,e.FLOATING=`floating`,e.UNIT=`unit`,e.CUSTOM_HEADER=`custom-header`,e.CUSTOM_LEFT=`custom-left`,e.CUSTOM_RIGHT=`custom-right`,e.CUSTOM_FOOTER=`custom-footer`,e.TOOLBAR=`toolbar`,e}({}),Y=(0,t.createIdentifier)(`ui.parts.service`);var Mt=class extends t.Disposable{constructor(...e){super(...e),S(this,`_componentsByPart`,new Map),S(this,`_disabledUIParts`,new Map),S(this,`_componentRegistered$`,new n.Subject),S(this,`componentRegistered$`,this._componentRegistered$.asObservable()),S(this,`_uiVisible`,new Map),S(this,`_uiVisibleChange$`,new n.Subject),S(this,`uiVisibleChange$`,this._uiVisibleChange$.asObservable())}dispose(){super.dispose(),this._componentsByPart.clear(),this._disabledUIParts.clear(),this._uiVisible.clear(),this._componentRegistered$.complete(),this._uiVisibleChange$.complete()}setUIVisible(e,t){let n=this.isUIVisible(e);this._uiVisible.set(e,t);let r=this.isUIVisible(e);n!==r&&this._uiVisibleChange$.next({ui:e,visible:r})}isUIVisible(e){var t;return(this._uiVisible.get(e)??!0)&&!((t=this._disabledUIParts.get(e))!=null&&t.size)}registerDisabledUIParts(e,n){let r=[...new Set(e)],i=Symbol(`disabled-ui-parts`),a=!1,o=e=>{a!==e&&(a=e,r.forEach(e=>{let t=this.isUIVisible(e),n=this._disabledUIParts.get(e)??new Set;a?(n.add(i),this._disabledUIParts.set(e,n)):(n.delete(i),n.size===0&&this._disabledUIParts.delete(e));let r=this.isUIVisible(e);t!==r&&this._uiVisibleChange$.next({ui:e,visible:r})}))},s=n.subscribe(o),c=(0,t.toDisposable)(()=>{s.unsubscribe(),o(!1)});return this.disposeWithMe(c)}registerComponent(e,n){let r=n(),i=(this._componentsByPart.get(e)||this._componentsByPart.set(e,new Set).get(e)).add(r);return this._componentRegistered$.next(e),(0,t.toDisposable)(()=>{i.delete(r),i.size===0&&this._componentsByPart.delete(e),this._componentRegistered$.next(e)})}getComponents(e){return new Set([...this._componentsByPart.get(e)||new Set])}};function Nt(e){return e.eventPassThrough!==!1}function Pt(e,t){return e.unitId===t||e.preserveOnFocusChange===!0}var Ft=class extends t.Disposable{constructor(...e){super(...e),S(this,`_domLayerMap`,new Map),S(this,`_scopedRenderRootCount`,new Map),S(this,`_domLayers$`,new n.BehaviorSubject([])),S(this,`domLayers$`,this._domLayers$.asObservable())}get domLayers(){return Array.from(this._domLayerMap.entries())}_notice(){this._domLayers$.next(Array.from(this._domLayerMap.entries()))}updateFloatDom(e,t){let n=this._domLayerMap.get(e);n&&(this._domLayerMap.set(e,{...n,...t}),this._notice())}addFloatDom(e){this._domLayerMap.set(e.id,e),this._notice()}hasScopedRenderRoot(e){return this._scopedRenderRootCount.has(e)}registerScopedRenderRoot(e){return this._scopedRenderRootCount.set(e,(this._scopedRenderRootCount.get(e)??0)+1),this._notice(),(0,t.toDisposable)(()=>{let t=this._scopedRenderRootCount.get(e);t!=null&&(t===1?this._scopedRenderRootCount.delete(e):this._scopedRenderRootCount.set(e,t-1),this._notice())})}removeFloatDom(e){this._domLayerMap.delete(e)&&this._notice()}removeAll(){this._domLayerMap.clear(),this._notice()}dispose(){this._domLayerMap.clear(),this._scopedRenderRootCount.clear(),this._domLayers$.next([]),this._domLayers$.complete(),super.dispose()}},It=class extends t.Disposable{constructor(...e){super(...e),S(this,`previewUpdated$`,new n.Subject),S(this,`previewRequested$`,new n.Subject),S(this,`_previewMap`,new Map),S(this,`_requestMap`,new Map)}getPreview(e){return this._previewMap.get(e)}getPendingRequests(){return Array.from(this._requestMap.values())}setPreview(e){this._previewMap.set(e.id,e),this._requestMap.delete(e.id),this.previewUpdated$.next(e)}removePreview(e){this._previewMap.delete(e),this._requestMap.delete(e)}requestPreview(e){this._requestMap.set(e.id,e),this.previewRequested$.next(e)}dispose(){this._previewMap.clear(),this._requestMap.clear(),this.previewUpdated$.complete(),this.previewRequested$.complete(),super.dispose()}};function Lt(e,t){let n=(t==null?void 0:t.wrapperInset)??2,r=(t==null?void 0:t.contentInset)??4;return{wrapper:{top:e.startY,left:e.startX,width:Math.max(e.endX-e.startX-n,0),height:Math.max(e.endY-e.startY-n,0),transform:`rotate(${e.rotate}deg)`,opacity:e.opacity??1},inner:{width:e.width-r,height:e.height-r,left:e.absolute.left?0:`auto`,top:e.absolute.top?0:`auto`,right:e.absolute.left?`auto`:0,bottom:e.absolute.top?`auto`:0}}}function Rt(e,t,n){let{wrapper:r,inner:i}=n,a=e.style;a.top=`${r.top}px`,a.left=`${r.left}px`,a.width=`${r.width}px`,a.height=`${r.height}px`,a.transform=r.transform,a.opacity=`${r.opacity}`;let o=t.style;o.width=`${i.width}px`,o.height=`${i.height}px`,o.left=i.left===`auto`?`auto`:`${i.left}px`,o.top=i.top===`auto`?`auto`:`${i.top}px`,o.right=i.right===`auto`?`auto`:`${i.right}px`,o.bottom=i.bottom===`auto`?`auto`:`${i.bottom}px`}let zt=(0,r.memo)(e=>{let{layer:t}=e;return typeof t.componentKey==`string`?(0,c.jsx)(Bt,{...e,componentKey:t.componentKey}):(0,c.jsx)(Vt,{...e,Component:t.componentKey})});function Bt(e){let t=(0,s.useDependency)(L);return(0,c.jsx)(Vt,{...e,Component:t.get(e.componentKey)})}function Vt(e){var i,a;let{layer:o,id:l,Component:u}=e,d=(0,s.useDependency)(t.IUniverInstanceService),f=(0,s.useObservable)((0,r.useMemo)(()=>o.position$.pipe((0,n.first)()),[o.position$])),p=(0,r.useRef)(null),m=(0,r.useRef)(null),h=(0,r.useMemo)(()=>({data:o.data,...o.props,hostFloatDomLayout$:o.position$}),[o.data,o.position$,o.props]),g=Wt(h),_=(i=o.contentBox)==null?void 0:i.wrapperInset,v=(a=o.contentBox)==null?void 0:a.contentInset,y=Nt(o);(0,r.useEffect)(()=>{let e=o.position$.subscribe(e=>{p.current&&m.current&&Rt(p.current,m.current,Lt(e,{wrapperInset:_,contentInset:v}))});return()=>{e.unsubscribe()}},[v,o.position$,_]);let b=d.getUnit(o.unitId),x=b instanceof t.DocumentDataModel?b.getDisabled():void 0,S=(0,r.useMemo)(()=>u?(0,c.jsx)(u,{...h,unitId:o.unitId,unit:b,floatDomId:o.id,context:{docDisabled:x,root:m}}):null,[u,h]);if(!f)return null;let C=Lt(f,o.contentBox);return(0,c.jsx)(`div`,{ref:p,className:`univer-absolute univer-z-10 univer-origin-center`,style:{...C.wrapper,overflow:g.outerOverflow,touchAction:y?`none`:void 0},onPointerMove:e=>{y&&o.onPointerMove(e.nativeEvent)},onPointerDown:e=>{if(y){if(e.target instanceof Element){var t,n;(t=(n=e.target).setPointerCapture)==null||t.call(n,e.pointerId)}o.onPointerDown(e.nativeEvent)}},onPointerUp:e=>{if(y)try{o.onPointerUp(e.nativeEvent)}finally{var t,n;if(e.target instanceof Element&&(t=(n=e.target).hasPointerCapture)!=null&&t.call(n,e.pointerId)){var r,i;(r=(i=e.target).releasePointerCapture)==null||r.call(i,e.pointerId)}}},onPointerCancel:e=>{if(y)try{o.onPointerUp(e.nativeEvent)}finally{var t,n;if(e.target instanceof Element&&(t=(n=e.target).hasPointerCapture)!=null&&t.call(n,e.pointerId)){var r,i;(r=(i=e.target).releasePointerCapture)==null||r.call(i,e.pointerId)}}},onWheel:e=>{y&&o.onWheel(e.nativeEvent)},children:(0,c.jsx)(`div`,{id:l,ref:m,className:`univer-absolute univer-overflow-hidden`,style:{...C.inner,overflow:g.innerOverflow},children:S})})}let Ht=({unitId:e})=>{let n=(0,s.useDependency)(t.IUniverInstanceService),i=(0,s.useDependency)(Ft),a=(0,s.useObservable)(i.domLayers$),o=Ut(e,(0,s.useObservable)(n.focused$));(0,r.useEffect)(()=>{if(typeof e!=`string`)return;let t=i.registerScopedRenderRoot(e);return()=>t.dispose()},[i,e]);let l=typeof e==`string`?a==null?void 0:a.filter(t=>t[1].unitId===e):a==null?void 0:a.filter(e=>!i.hasScopedRenderRoot(e[1].unitId)&&Pt(e[1],o));return l==null?void 0:l.map(e=>(0,c.jsx)(zt,{id:e[1].domId??e[0],layer:e[1]},e[0]))};function Ut(e,t){if(typeof e==`string`)return e;if(typeof t==`string`)return t;if(typeof t==`object`&&t&&`getUnitId`in t&&typeof t.getUnitId==`function`){let e=t.getUnitId();return typeof e==`string`?e:null}return null}function Wt(e){let t=e.customBlockRenderViewport;return Number.isFinite(t==null?void 0:t.bleedWidth)&&((t==null?void 0:t.bleedWidth)??0)>0?{outerOverflow:`visible`,innerOverflow:`visible`}:{outerOverflow:`hidden`,innerOverflow:`hidden`}}let Gt=(0,t.createIdentifier)(`ui.popup.service`);var Kt=class extends t.Disposable{constructor(...e){super(...e),S(this,`_popupMap`,new Map),S(this,`_popups$`,new n.BehaviorSubject([])),S(this,`popups$`,this._popups$.asObservable()),S(this,`_activePopupId`,null)}get popups(){return Array.from(this._popupMap.entries())}get activePopupId(){return this._activePopupId}_update(){this._popups$.next(Array.from(this._popupMap.entries()))}dispose(){super.dispose(),this._popups$.next([]),this._popups$.complete(),this._popupMap.clear()}addPopup(e){let n=(0,t.generateRandomId)();return this._popupMap.set(n,{...e,onActiveChange:e=>{e?this._activePopupId=n:this._activePopupId===n&&(this._activePopupId=null)}}),this._update(),n}removePopup(e){this._popupMap.delete(e)&&this._update()}removeAll(){this._popupMap.clear(),this._update()}};function qt(e){let t=(0,r.useRef)(e);return t.current=e,(0,r.useCallback)(((...e)=>{var n;return(n=t.current)==null?void 0:n.call(t,...e)}),[])}let Jt=(0,r.createContext)({current:void 0}),Yt=(0,r.createContext)(`vertical`);function Xt(e){var t;let n=e.direction??`vertical`,r=(e.containerTop??0)+(((t=e.boundaryInsets)==null?void 0:t.top)??0),i=e.position.top-r>=(e.containerTop??0)+e.containerHeight-e.position.bottom;switch(n){case`vertical-center`:return i?`top-center`:`bottom-center`;case`vertical-left`:return i?`top-left`:`bottom-left`;case`vertical-right`:return i?`top-right`:`bottom-right`;default:return n}}function Zt(e){var t,n;let{position:r,width:i,height:a,containerHeight:o,containerWidth:s,noPushMinimumGap:c=!1}=e,l=Xt(e),u=e.containerLeft??0,d=e.containerTop??0,f=u+(((t=e.boundaryInsets)==null?void 0:t.left)??0),p=d+(((n=e.boundaryInsets)==null?void 0:n.top)??0),m=u+s,h=d+o,g=c?-1/0:p+8,_=c?1/0:h-a-8,v=c?-1/0:f+8,y=c?1/0:m-i-8;if(l===`vertical`||l.indexOf(`top`)===0||l.indexOf(`bottom`)===0){let{left:e,top:t,right:n,bottom:o}=r,s=l===`vertical`&&o>_||l.indexOf(`top`)>-1?{top:Math.max(Math.min(t-a,_),g)}:{top:Math.max(Math.min(o,_),g)},c;if(l.includes(`center`)){let t=(n-e-i)/2;c=Math.max(e+t,v)+i>m?{left:Math.max(Math.min(y,n-i-t),v)}:{left:Math.max(v,Math.min(e+t,y))}}else c=l.includes(`right`)?{left:Math.max(Math.min(n-i,y),v)}:l.includes(`left`)?{left:Math.max(Math.min(e,y),v)}:e+i>m?Math.max(n-i,v)<8?{left:Math.max(Math.min(e,y),v)}:{left:Math.max(Math.min(n-i,y),v)}:{left:Math.max(Math.min(e,y),v)};return{...s,...c}}let{left:b,top:x,right:S,bottom:C}=r,w=l.includes(`left`)?{left:Math.max(Math.min(b-i,y),v)}:{left:Math.max(Math.min(S,y),v)},T;if(l.includes(`center`)){let e=(C-x-a)/2;T=Math.max(x+e,g)+a>h?{top:Math.max(Math.min(_,C-a-e),g)}:{top:Math.max(g,Math.min(x+e,_))}}else T=l.includes(`top`)?{top:Math.max(Math.min(x,_),g)}:l.includes(`bottom`)?{top:Math.max(Math.min(C-a,_),g)}:x+a>h?Math.max(C-a,g)<8?{top:Math.max(Math.min(x,_),g)}:{top:Math.max(Math.min(C-a,_),g)}:{top:Math.max(Math.min(x,_),g)};return{...T,...w}}function Qt(e){let{mask:n,portal:a,children:o,anchorRect$:u,direction:d=`vertical`,onClickOutside:f,excludeOutside:p,excludeRects:m,onPointerEnter:h,onPointerLeave:g,onClick:_,hidden:v,onContextMenu:y,zIndex:b=1020,maskZIndex:x=100,onMaskClick:S,noPushMinimumGap:C,autoRelayout:w=!0,boundaryElement:T,boundaryInsets:E}=e,D=(0,r.useRef)(null),O=qt(f??(()=>{})),k=qt(y??(()=>{})),A=(0,r.useRef)({top:-9999,left:-9999}),j=m,M=(0,s.useDependency)(t.IConfigService),N=(0,r.useRef)(void 0),[P,F]=(0,r.useState)(d),I=M.getConfig(`ui.config`)??se,L=(I==null?void 0:I.popupRootId)??`univer-popup-portal`,R=qt(e=>{requestAnimationFrame(()=>{if(!D.current)return;let{clientWidth:t,clientHeight:n}=D.current,r=T==null?void 0:T.getBoundingClientRect(),i=Math.max((r==null?void 0:r.left)??0,0),a=Math.max((r==null?void 0:r.top)??0,0),o=Math.min((r==null?void 0:r.right)??window.innerWidth,window.innerWidth),s=Math.min((r==null?void 0:r.bottom)??window.innerHeight,window.innerHeight),c=Math.max(o-i,0),l=Math.max(s-a,0),u=C?0:16,f=T!=null&&(c<=0||l<=0||c<t+u||l<n+u);if(D.current.style.visibility=f?`hidden`:``,f)return;let p={position:e,width:t,height:n,containerLeft:i,containerTop:a,containerWidth:c,containerHeight:l,boundaryInsets:E,direction:d,noPushMinimumGap:C},m=Xt(p);F(e=>e===m?e:m),A.current=Zt({...p,direction:m}),D.current.style.top=`${A.current.top}px`,D.current.style.left=`${A.current.left}px`})});(0,r.useEffect)(()=>{let e;return D.current&&(e=new ResizeObserver(()=>{w&&N.current&&R(N.current)}),e.observe(D.current)),()=>{e==null||e.disconnect()}},[D.current,w]),(0,r.useEffect)(()=>{let e=u.subscribe(e=>{N.current=e,R(e)});return()=>e.unsubscribe()},[u,d]),(0,r.useEffect)(()=>{let e=e=>{if(p&&(p.indexOf(e.target)>-1||p.some(t=>t.contains(e.target))))return;let t=e.clientX,n=e.clientY,r=[...(j==null?void 0:j.current)??[]];N.current&&r.push(N.current);for(let e of r)if(t<=e.right&&t>=e.left&&n<=e.bottom&&n>=e.top)return;O(e)};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[O,p,j]),(0,r.useEffect)(()=>{let e=e=>{e.ctrlKey&&e.button===0||k()};return window.addEventListener(`contextmenu`,e),()=>{window.removeEventListener(`contextmenu`,e)}},[k]);let z=(0,s.useDependency)(t.LocaleService),B=(0,s.useObservable)(z.direction$),V=(0,c.jsxs)(c.Fragment,{children:[n&&(0,c.jsx)(`div`,{"data-u-comp":`rect-popup-mask`,className:`univer-fixed univer-inset-0 univer-z-[100]`,style:{zIndex:x},onClick:S}),(0,c.jsx)(`section`,{"data-u-comp":`rect-popup`,ref:D,dir:B,className:(0,i.clsx)(`univer-pointer-events-auto univer-fixed univer-left-[-9999px] univer-top-[-9999px] univer-z-[1020]`,{"univer-hidden":v,"univer-animate-in univer-fade-in-70":!v}),style:{...A.current,zIndex:b},onPointerDown:e=>e.stopPropagation(),onClick:_,onPointerEnter:h,onPointerLeave:g,children:(0,c.jsx)(Yt.Provider,{value:P,children:(0,c.jsx)(Jt.Provider,{value:N,children:o})})})]});return a?document.getElementById(L)?(0,l.createPortal)(V,document.getElementById(L)):null:V}Qt.calcPopupPosition=Zt,Qt.useContext=()=>(0,r.useContext)(Jt),Qt.useDirection=()=>(0,r.useContext)(Yt);let $t=({popup:e,children:t})=>{let i=(0,r.useMemo)(()=>e.anchorRect$.pipe((0,n.throttleTime)(0,n.animationFrameScheduler),(0,n.map)(t=>{let{bottom:n,left:r,right:i,top:a}=t,[o=0,s=0]=e.offset??[];return{left:r-o,right:i+o,top:a-s,bottom:n+s}})),[e.anchorRect$,e.offset]),a=(0,r.useMemo)(()=>{var t;return((t=e.hiddenRects$)==null?void 0:t.pipe((0,n.throttleTime)(0,n.animationFrameScheduler)))??(0,n.of)([])},[e.hiddenRects$]),o=st((0,r.useMemo)(()=>{var t;return(t=e.excludeRects$)==null?void 0:t.pipe((0,n.throttleTime)(0,n.animationFrameScheduler))},[e.excludeRects$]),e.excludeRects),{boundaryInsets:l,canvasElement:u,constrainToCanvas:d=!1,hideOnInvisible:f=!0,hiddenType:p=`destroy`}=e,m=(0,s.useObservable)(f?()=>(0,n.combineLatest)([i,a]).pipe((0,n.map)(([e,t])=>{let{top:n,left:r,bottom:i,right:a}=u.getBoundingClientRect(),o=d?(l==null?void 0:l.top)??0:0,s=d?(l==null?void 0:l.left)??0:0,c=e.bottom-e.top,f=e.right-e.left,p=t.some(t=>{let n=Math.min(.5*c,10),r=Math.min(.5*f,10);return e.top>=t.top-n&&e.bottom<=t.bottom+n&&e.left>=t.left-r&&e.right<=t.right+r});return e.bottom<n+o||e.top>i||e.right<r+s||e.left>a||p})):null,!1,!1,[i,l,u,d,a,f]);return m&&p===`destroy`?null:(0,c.jsx)(Qt,{...e,hidden:m,anchorRect$:i,boundaryElement:d?u:e.boundaryElement,direction:e.direction,onClickOutside:e.onClickOutside,excludeOutside:e.excludeOutside,excludeRects:o,...e.customActive?null:{onPointerEnter:()=>{var t;return(t=e.onActiveChange)==null?void 0:t.call(e,!0)},onPointerLeave:()=>{var t;return(t=e.onActiveChange)==null?void 0:t.call(e,!1)}},onClick:e.onClick,onContextMenu:e.onContextMenu,children:t})};function en(){let e=(0,s.useDependency)(Gt);return(0,s.useObservable)(e.popups$,void 0,!0).map(([e,t])=>(0,c.jsx)($t,{popup:t,children:(0,c.jsx)(tn,{popup:t})},e))}function tn({popup:e}){let t=(0,s.useDependency)(L).get(e.componentKey),n=(0,r.useMemo)(()=>({injector:e.connectorInjector??null}),[e.connectorInjector]);if(!t)return null;let i=(0,c.jsx)(t,{popup:e});return e.connectorInjector?(0,c.jsx)(s.RediContext.Provider,{value:n,children:i}):i}function X({ref:e,...t}){let{preserveStrokeWidth:n,icon:i,id:a,className:o,extend:s,...c}=t,l=`univerjs-icon univerjs-icon-${a} ${o||``}`.trim(),u=`_${(0,r.useId)()}`,d=(0,r.useRef)(null);return(0,r.useImperativeHandle)(e,()=>d.current),(0,r.useLayoutEffect)(()=>{if(n&&d.current&&d.current.localName===i.tag)return on(d.current)},[n,i]),nn(i,`${a}`,{defIds:i.defIds,idSuffix:u},{ref:d,className:l,...c},s)}function nn(e,t,n,i,a){return(0,r.createElement)(e.tag,{key:t,...rn(e,n,a),...i},(an(e,n).children||[]).map((r,i)=>nn(r,`${t}-${e.tag}-${i}`,n,void 0,a)))}function rn(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function an(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function on(e){let t=e.viewBox.baseVal,n=Math.max(t.width,t.height);if(!Number.isFinite(n)||n<=0||t.width<=0||t.height<=0)return()=>void 0;let r=16/n,i=Array.from(e.querySelectorAll(`circle, ellipse, line, path, polygon, polyline, rect, text, textPath, tspan, use`)).flatMap(e=>{let t=getComputedStyle(e),n=Number.parseFloat(t.strokeWidth);return t.stroke===`none`||Number.parseFloat(t.strokeOpacity)===0||t.vectorEffect===`non-scaling-stroke`||!Number.isFinite(n)||n<=0?[]:[{element:e,hadStyleAttribute:e.hasAttribute(`style`),originalStrokeWidth:n,strokeWidth:sn(e.style,`stroke-width`)}]}).map(e=>({appliedStrokeWidth:null,element:e.element,hadStyleAttribute:e.hadStyleAttribute,isReleased:!1,originalStrokeWidth:e.originalStrokeWidth,strokeWidth:e.strokeWidth}));if(i.length===0)return()=>void 0;let a=(e,n)=>{if(t.width<=0||t.height<=0||e<=0||n<=0)return;let a=Math.min(e/t.width,n/t.height);!Number.isFinite(a)||a<=0||i.forEach(e=>{if(e.isReleased)return;if(e.appliedStrokeWidth!==null&&(e.element.style.getPropertyValue(`stroke-width`)!==e.appliedStrokeWidth||e.element.style.getPropertyPriority(`stroke-width`)!==e.strokeWidth.priority)){e.appliedStrokeWidth=null,e.isReleased=!0;return}let t=e.originalStrokeWidth*r/a,n=`${Number(t.toFixed(12))}px`;e.element.style.setProperty(`stroke-width`,n,e.strokeWidth.priority),e.appliedStrokeWidth=n})},o=e.getBoundingClientRect();a(o.width,o.height);let s=typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{if(t.some(t=>t.target===e)){let t=e.getBoundingClientRect();a(t.width,t.height)}});return s==null||s.observe(e),()=>{s==null||s.disconnect(),i.forEach(e=>{e.appliedStrokeWidth!==null&&(cn(e.element.style,`stroke-width`,e.appliedStrokeWidth,e.strokeWidth.priority,e.strokeWidth),!e.hadStyleAttribute&&e.element.style.length===0&&e.element.removeAttribute(`style`))})}}function sn(e,t){return{priority:e.getPropertyPriority(t),value:e.getPropertyValue(t)}}function cn(e,t,n,r,i){e.getPropertyValue(t)===n&&e.getPropertyPriority(t)===r&&(i.value?e.setProperty(t,i.value,i.priority):e.removeProperty(t))}X.displayName=`UniverIcon`;let ln={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`circle`,attrs:{cx:8,cy:8,r:5.6,stroke:`currentColor`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.8 6.2C5.2 6.7 8.5 5.4 10.8 2.9`,strokeLinecap:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.1 12.6C5.5 10.4 8.3 7.8 13.2 7.7`,strokeLinecap:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.2 2.8C8.6 5.4 9.8 8.9 9.5 13.3`,strokeLinecap:`round`,strokeWidth:1.3}}]},un=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`activity-icon`,ref:t,icon:ln}))});un.displayName=`ActivityIcon`;let dn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M2.59219 1.3667C1.70853 1.3667 0.992188 2.08304 0.992188 2.9667V4.9667C0.992188 5.85036 1.70853 6.5667 2.59219 6.5667H11.2694C12.1531 6.5667 12.8694 5.85036 12.8694 4.9667V4.79985H13.8075V8.18642C13.8075 8.38777 13.6579 8.55773 13.4581 8.58321L7.10511 9.39341C6.30618 9.4953 5.70752 10.1752 5.70752 10.9806V14.0332C5.70752 14.3646 5.97615 14.6332 6.30752 14.6332C6.63889 14.6332 6.90752 14.3646 6.90752 14.0332V10.9806C6.90752 10.7792 7.05718 10.6092 7.25692 10.5838L13.6099 9.77356C14.4089 9.67168 15.0075 8.99182 15.0075 8.18642V4.19985C15.0075 3.86848 14.7389 3.59985 14.4075 3.59985H12.8694V2.9667C12.8694 2.08304 12.1531 1.3667 11.2694 1.3667H2.59219ZM2.19219 2.9667C2.19219 2.74579 2.37127 2.5667 2.59219 2.5667H11.2694C11.4903 2.5667 11.6694 2.74579 11.6694 2.9667V4.9667C11.6694 5.18761 11.4903 5.3667 11.2694 5.3667H2.59219C2.37127 5.3667 2.19219 5.18761 2.19219 4.9667V2.9667Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},fn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`brush-icon`,ref:t,icon:dn}))});fn.displayName=`BrushIcon`;let pn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},mn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:pn}))});mn.displayName=`CheckMarkIcon`;let hn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z`}}]},gn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`close-icon`,ref:t,icon:hn}))});gn.displayName=`CloseIcon`;let _n={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 0.866961C5.018 0.866961 2 1.78296 2 3.53363V12.3675C2 14.1182 5.018 15.0342 8 15.0342C10.982 15.0342 14 14.1182 14 12.3675V3.53363C14 1.78296 10.982 0.866961 8 0.866961ZM12.6667 12.3675C12.6667 12.7542 11.0313 13.7008 8 13.7008C4.96867 13.7008 3.33333 12.7542 3.33333 12.3675V9.86434C4.49067 10.4797 6.24933 10.7977 8 10.7977C9.75067 10.7977 11.5093 10.4797 12.6667 9.86434V12.3675ZM12.6667 8.131C12.6667 8.51767 11.0313 9.46434 8 9.46434C4.96867 9.46434 3.33333 8.51767 3.33333 8.131L3.33333 5.26696C4.49067 5.88229 6.24933 6.20029 8 6.20029C9.75067 6.20029 11.5093 5.88229 12.6667 5.26696V8.131ZM8 4.86696C4.96867 4.86696 3.33333 3.92029 3.33333 3.53363C3.33333 3.14696 4.96867 2.20029 8 2.20029C11.0313 2.20029 12.6667 3.14696 12.6667 3.53363C12.6667 3.92029 11.0313 4.86696 8 4.86696Z`}}]},vn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`database-icon`,ref:t,icon:_n}))});vn.displayName=`DatabaseIcon`;let yn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M10 10L14 14M10 6L14 2M14 10.6667V14H10.6667M14 5.33333V2H10.6667M2 10.6667V14H5.33333M2 14L6 10M2 5.33333V2H5.33333M6 6L2 2`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},bn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`expand-icon`,ref:t,icon:yn}))});bn.displayName=`ExpandIcon`;let xn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.46613 5.2614C7.99641 5.15377 8.54607 5.209 9.04566 5.42016C9.54527 5.63133 9.9725 5.98902 10.2732 6.44821C10.5739 6.90741 10.7345 7.44742 10.7345 7.99994C10.7345 8.74088 10.446 9.45122 9.93293 9.97475C9.41991 10.4982 8.72439 10.7921 7.99945 10.7921C7.45882 10.7921 6.93021 10.6285 6.48047 10.3219C6.03072 10.0152 5.67998 9.57922 5.47282 9.06887C5.26565 8.55852 5.21142 7.99686 5.31705 7.45498C5.42268 6.9131 5.68338 6.41554 6.06598 6.02513C6.44856 5.63474 6.93584 5.36903 7.46613 5.2614ZM7.99945 6.50637C7.70941 6.50637 7.42599 6.59414 7.18504 6.75842C6.94411 6.92269 6.75652 7.15604 6.64579 7.4288C6.53508 7.70156 6.50613 8.00161 6.56255 8.29108C6.61898 8.58055 6.7583 8.84663 6.96308 9.05559C7.16788 9.26456 7.42896 9.40703 7.7134 9.46476C7.99784 9.5225 8.29266 9.49286 8.56052 9.37964C8.82836 9.26643 9.05707 9.07481 9.21789 8.82922C9.3787 8.58364 9.46445 8.29505 9.46445 7.99994C9.46445 7.60424 9.31042 7.22449 9.03583 6.94429C8.76119 6.66405 8.38842 6.50637 7.99945 6.50637Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.06445 7.99994C1.06445 7.86432 1.111 7.68433 1.20506 7.46997C1.29865 7.25669 1.43723 7.01393 1.61634 6.75416C1.97451 6.23466 2.49209 5.65088 3.12753 5.10347C4.3995 4.00771 6.13495 3.06494 7.99945 3.06494C9.86395 3.06494 11.5994 4.00771 12.8714 5.10347C13.5068 5.65088 14.0244 6.23466 14.3826 6.75416C14.5617 7.01393 14.7003 7.25669 14.7938 7.46997C14.8879 7.68433 14.9345 7.86432 14.9345 7.99994C14.9345 8.29406 14.7859 8.75016 14.4847 9.27371C14.1847 9.79497 13.7374 10.3759 13.1495 10.9188C11.974 12.0042 10.2392 12.9349 7.99945 12.9349C5.75972 12.9349 4.02489 12.0042 2.84937 10.9188C2.26147 10.3759 1.81418 9.79497 1.51423 9.27371C1.21296 8.75016 1.06445 8.29406 1.06445 7.99994ZM7.99945 4.36351C6.48933 4.36351 5.14092 5.09788 4.14125 5.91406C3.64087 6.32258 3.22616 6.75295 2.92026 7.12521C2.61595 7.49554 2.415 7.81359 2.34753 7.99756L2.33827 8.0228L2.34954 8.0472C2.85275 9.13669 3.65354 10.055 4.65594 10.6918C5.65805 11.3283 6.81899 11.6563 7.99945 11.6364C9.17991 11.6563 10.3409 11.3283 11.343 10.6918C12.3454 10.055 13.1462 9.13669 13.6494 8.0472L13.6606 8.0228L13.6514 7.99756C13.5839 7.81359 13.383 7.49554 13.0786 7.12521C12.7727 6.75295 12.358 6.32258 11.8577 5.91406C10.858 5.09788 9.50957 4.36351 7.99945 4.36351Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Sn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`eye-icon`,ref:t,icon:xn}))});Sn.displayName=`EyeIcon`;let Cn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.5 10.5H2.83299C2.43517 10.5 2.05364 10.342 1.77233 10.0607C1.49103 9.77935 1.33299 9.39782 1.33299 9V3.2C1.33299 2.80217 1.49103 2.42064 1.77233 2.13934C2.05364 1.85803 2.43517 1.7 2.83299 1.7H13.167C13.5648 1.7 13.9463 1.85803 14.2277 2.13934C14.509 2.42064 14.667 2.80217 14.667 3.2V5.5`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.84999 3.39999H3.74999C3.55669 3.39999 3.39999 3.55669 3.39999 3.74999V4.84999C3.39999 5.04329 3.55669 5.19999 3.74999 5.19999H4.84999C5.04329 5.19999 5.19999 5.04329 5.19999 4.84999V3.74999C5.19999 3.55669 5.04329 3.39999 4.84999 3.39999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8.45 3.39999H7.35C7.1567 3.39999 7 3.55669 7 3.74999V4.84999C7 5.04329 7.1567 5.19999 7.35 5.19999H8.45C8.6433 5.19999 8.8 5.04329 8.8 4.84999V3.74999C8.8 3.55669 8.6433 3.39999 8.45 3.39999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M12.45 3.39999H11.35C11.1567 3.39999 11 3.55669 11 3.74999V4.84999C11 5.04329 11.1567 5.19999 11.35 5.19999H12.45C12.6433 5.19999 12.8 5.04329 12.8 4.84999V3.74999C12.8 3.55669 12.6433 3.39999 12.45 3.39999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.84999 7H3.74999C3.55669 7 3.39999 7.1567 3.39999 7.35V8.45C3.39999 8.6433 3.55669 8.8 3.74999 8.8H4.84999C5.04329 8.8 5.19999 8.6433 5.19999 8.45V7.35C5.19999 7.1567 5.04329 7 4.84999 7Z`}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M10.9 11.8C12.5016 11.8 13.8 10.5016 13.8 8.9C13.8 7.29837 12.5016 6 10.9 6C9.29837 6 8 7.29837 8 8.9C8 10.5016 9.29837 11.8 10.9 11.8Z`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M12.95 10.95L15.15 13.15`,strokeLinecap:`round`,strokeWidth:1.2}}]},wn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`feature-search-icon`,ref:t,icon:Cn}))});wn.displayName=`FeatureSearchIcon`;let Tn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M8.4 4.3C9.1 3.3 10.1 2.7 11.3 2.6C11.2 3.8 10.5 4.8 9.4 5.3`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M7.8 4.7C6.8 3.9 5.1 4.1 4.1 5.2C2.8 6.6 2.8 9 3.6 10.9C4.3 12.6 5.4 13.7 6.4 13.7C7.1 13.7 7.4 13.3 8 13.3C8.6 13.3 8.9 13.7 9.6 13.7C10.7 13.7 11.8 12.5 12.4 10.9C13.2 8.8 12.8 6.5 11.7 5.3C10.6 4.1 8.9 3.9 7.8 4.7Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M7.8 4.7C7.8 3.7 7.5 3 6.8 2.4`,strokeLinecap:`round`,strokeWidth:1.3}}]},En=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`foods-icon`,ref:t,icon:Tn}))});En.displayName=`FoodsIcon`;let Dn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M12.8325 3.00753L12.2725 2.44328C11.9909 2.15966 11.6076 1.9999 11.2079 1.9999H4.08689C3.55342 1.9999 3.28522 2.64412 3.66105 3.02295L7.78136 7.17471C8.25623 7.65323 8.25623 8.43812 7.78136 8.91664L3.66105 13.0684C3.28522 13.4473 3.55342 14.0915 4.08689 14.0915H11.2079C11.6076 14.0915 11.9909 13.9317 12.2725 13.648L12.8325 13.0838`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},On=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`function-icon`,ref:t,icon:Dn}))});On.displayName=`FunctionIcon`;let kn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M0.811013 7.27739C0.533711 7.51821 0.50413 7.93822 0.744942 8.21552C0.985753 8.49283 1.40577 8.52241 1.68307 8.28159L1.89249 8.09973V13.0201C1.89249 13.9397 2.63793 14.6851 3.55749 14.6851H5.32136C6.24091 14.6851 6.98636 13.9397 6.98636 13.0201V9.84218C6.98636 9.65717 7.13634 9.50718 7.32136 9.50718H8.67823C8.86325 9.50718 9.01323 9.65716 9.01323 9.84218V13.0201C9.01323 13.9397 9.75868 14.6851 10.6782 14.6851H12.4421C13.3617 14.6851 14.1071 13.9397 14.1071 13.0201V8.09963L14.3165 8.28148C14.5938 8.52229 15.0138 8.49271 15.2546 8.21541C15.4954 7.93811 15.4659 7.51809 15.1886 7.27728L8.567 1.52707C8.24167 1.24456 7.75801 1.24455 7.43267 1.52708L0.811013 7.27739ZM12.7771 6.94465L7.99984 2.79605L3.22249 6.94475V13.0201C3.22249 13.2051 3.37247 13.3551 3.55749 13.3551H5.32136C5.50637 13.3551 5.65636 13.2051 5.65636 13.0201V9.84218C5.65636 8.92263 6.4018 8.17718 7.32136 8.17718H8.67823C9.59779 8.17718 10.3432 8.92263 10.3432 9.84218V13.0201C10.3432 13.2051 10.4932 13.3551 10.6782 13.3551H12.4421C12.6271 13.3551 12.7771 13.2051 12.7771 13.0201V6.94465Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},An=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`home-icon`,ref:t,icon:kn}))});An.displayName=`HomeIcon`;let jn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z`}}]},Mn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`increase-icon`,ref:t,icon:jn}))});Mn.displayName=`IncreaseIcon`;let Nn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.00016 1.33203C6.68162 1.33203 5.39269 1.72302 4.29636 2.45557C3.20004 3.18811 2.34555 4.2293 1.84097 5.44747C1.33638 6.66565 1.20436 8.00609 1.4616 9.2993C1.71883 10.5925 2.35377 11.7804 3.28612 12.7127C4.21847 13.6451 5.40636 14.28 6.69956 14.5373C7.99277 14.7945 9.33321 14.6625 10.5514 14.1579C11.7696 13.6533 12.8108 12.7988 13.5433 11.7025C14.2758 10.6062 14.6668 9.31724 14.6668 7.9987C14.6649 6.23118 13.9619 4.53662 12.7121 3.2868C11.4622 2.03697 9.76768 1.33397 8.00016 1.33203ZM7.66683 3.9987C7.86461 3.9987 8.05795 4.05735 8.2224 4.16723C8.38685 4.27711 8.51502 4.43329 8.59071 4.61601C8.6664 4.79874 8.6862 4.99981 8.64762 5.19379C8.60903 5.38777 8.51379 5.56595 8.37394 5.7058C8.23409 5.84566 8.0559 5.9409 7.86192 5.97948C7.66794 6.01807 7.46687 5.99826 7.28415 5.92258C7.10142 5.84689 6.94524 5.71872 6.83536 5.55427C6.72548 5.38982 6.66683 5.19648 6.66683 4.9987C6.66683 4.73348 6.77219 4.47913 6.95972 4.29159C7.14726 4.10405 7.40162 3.9987 7.66683 3.9987ZM9.3335 11.332H6.66683C6.49002 11.332 6.32045 11.2618 6.19543 11.1368C6.0704 11.0117 6.00016 10.8422 6.00016 10.6654C6.00016 10.4886 6.0704 10.319 6.19543 10.194C6.32045 10.0689 6.49002 9.9987 6.66683 9.9987H7.3335V7.9987H6.66683C6.49002 7.9987 6.32045 7.92846 6.19543 7.80343C6.0704 7.67841 6.00016 7.50884 6.00016 7.33203C6.00016 7.15522 6.0704 6.98565 6.19543 6.86063C6.32045 6.7356 6.49002 6.66536 6.66683 6.66536H8.00016C8.17698 6.66536 8.34655 6.7356 8.47157 6.86063C8.59659 6.98565 8.66683 7.15522 8.66683 7.33203V9.9987H9.3335C9.51031 9.9987 9.67988 10.0689 9.8049 10.194C9.92993 10.319 10.0002 10.4886 10.0002 10.6654C10.0002 10.8422 9.92993 11.0117 9.8049 11.1368C9.67988 11.2618 9.51031 11.332 9.3335 11.332Z`}}]},Pn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`info-icon`,ref:t,icon:Nn}))});Pn.displayName=`InfoIcon`;let Fn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M1.9999 1.3667C1.66853 1.3667 1.3999 1.63533 1.3999 1.9667C1.3999 2.29807 1.66853 2.5667 1.9999 2.5667H13.9999C14.3313 2.5667 14.5999 2.29807 14.5999 1.9667C14.5999 1.63533 14.3313 1.3667 13.9999 1.3667H1.9999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.9999 13.4334C1.66853 13.4334 1.3999 13.7021 1.3999 14.0334C1.3999 14.3648 1.66853 14.6334 1.9999 14.6334H13.9999C14.3313 14.6334 14.5999 14.3648 14.5999 14.0334C14.5999 13.7021 14.3313 13.4334 13.9999 13.4334H1.9999Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.49336 10.4244C9.25905 10.19 9.25905 9.81015 9.49336 9.57583L10.4691 8.6001L4.08291 8.6001C3.75154 8.6001 3.48291 8.33147 3.48291 8.0001C3.48291 7.66873 3.75154 7.4001 4.08291 7.4001L10.4691 7.4001L9.49336 6.42436C9.25905 6.19005 9.25905 5.81015 9.49336 5.57583C9.72767 5.34152 10.1076 5.34152 10.3419 5.57583L12.3419 7.57583C12.5762 7.81015 12.5762 8.19005 12.3419 8.42436L10.3419 10.4244C10.1076 10.6587 9.72767 10.6587 9.49336 10.4244Z`}}]},In=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`insert-icon`,ref:t,icon:Fn}))});In.displayName=`InsertIcon`;let Ln={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.39986 6.33339C3.39986 6.00202 3.66849 5.73339 3.99986 5.73339H4.66652C4.99789 5.73339 5.26652 6.00202 5.26652 6.33339C5.26652 6.66476 4.99789 6.93339 4.66652 6.93339H3.99986C3.66849 6.93339 3.39986 6.66476 3.39986 6.33339Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M6.99986 5.73339C6.66849 5.73339 6.39986 6.00202 6.39986 6.33339C6.39986 6.66476 6.66849 6.93339 6.99986 6.93339H7.66652C7.99789 6.93339 8.26652 6.66476 8.26652 6.33339C8.26652 6.00202 7.99789 5.73339 7.66652 5.73339H6.99986Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.06636 6.33339C9.06636 6.00202 9.33499 5.73339 9.66636 5.73339H11.9997C12.3311 5.73339 12.5997 6.00202 12.5997 6.33339C12.5997 6.66476 12.3311 6.93339 11.9997 6.93339H9.66636C9.33499 6.93339 9.06636 6.66476 9.06636 6.33339Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.99986 8.73339C3.66849 8.73339 3.39986 9.00202 3.39986 9.33339C3.39986 9.66476 3.66849 9.93339 3.99986 9.93339H11.9999C12.3312 9.93339 12.5999 9.66476 12.5999 9.33339C12.5999 9.00202 12.3312 8.73339 11.9999 8.73339H3.99986Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.33338 1.73345L12.6667 1.7334C14.1026 1.73339 15.2667 2.89745 15.2667 4.3334V11C15.2667 12.4359 14.1027 13.6 12.6667 13.6H3.33355C1.89763 13.6 0.733583 12.4359 0.73355 11L0.733398 4.33351C0.733366 2.89755 1.89742 1.73346 3.33338 1.73345ZM12.6667 2.9334L3.33339 2.93345C2.56018 2.93346 1.93338 3.56028 1.9334 4.33348L1.93355 11C1.93357 11.7732 2.56036 12.4 3.33355 12.4H12.6667C13.4399 12.4 14.0667 11.7732 14.0667 11V4.3334C14.0667 3.5602 13.4399 2.93339 12.6667 2.9334Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Rn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`keyboard-icon`,ref:t,icon:Ln}))});Rn.displayName=`KeyboardIcon`;let zn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Bn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-down-icon`,ref:t,icon:zn}))});Bn.displayName=`MoreDownIcon`;let Vn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3 9C3.55228 9 4 8.55228 4 8C4 7.44772 3.55228 7 3 7C2.44772 7 2 7.44772 2 8C2 8.55228 2.44772 9 3 9Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8 9C8.55228 9 9 8.55228 9 8C9 7.44772 8.55228 7 8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13 9C13.5523 9 14 8.55228 14 8C14 7.44772 13.5523 7 13 7C12.4477 7 12 7.44772 12 8C12 8.55228 12.4477 9 13 9Z`}}]},Hn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-horizontal-icon`,ref:t,icon:Vn}))});Hn.displayName=`MoreHorizontalIcon`;let Un={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M10.3536 12.3536C10.1583 12.5488 9.84171 12.5488 9.64645 12.3536L6.64645 9.35355C6.45118 9.15829 6.45118 8.84171 6.64645 8.64645L9.64645 5.64645C9.84171 5.45118 10.1583 5.45118 10.3536 5.64645C10.5488 5.84171 10.5488 6.15829 10.3536 6.35355L7.70711 9L10.3536 11.6464C10.5488 11.8417 10.5488 12.1583 10.3536 12.3536Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Wn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-left-icon`,ref:t,icon:Un}))});Wn.displayName=`MoreLeftIcon`;let Gn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M6.14645 4.64645C6.34171 4.45118 6.65829 4.45118 6.85355 4.64645L9.85355 7.64645C10.0488 7.84171 10.0488 8.15829 9.85355 8.35355L6.85355 11.3536C6.65829 11.5488 6.34171 11.5488 6.14645 11.3536C5.95118 11.1583 5.95118 10.8417 6.14645 10.6464L8.79289 8L6.14645 5.35355C5.95118 5.15829 5.95118 4.84171 6.14645 4.64645Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Kn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-right-icon`,ref:t,icon:Gn}))});Kn.displayName=`MoreRightIcon`;let qn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8 3.30078C8.55228 3.30078 9 2.85307 9 2.30078C9 1.7485 8.55228 1.30078 8 1.30078C7.44772 1.30078 7 1.7485 7 2.30078C7 2.85307 7.44772 3.30078 8 3.30078Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M8 9.00012C8.55228 9.00012 9 8.55241 9 8.00012C9 7.44784 8.55228 7.00012 8 7.00012C7.44772 7.00012 7 7.44784 7 8.00012C7 8.55241 7.44772 9.00012 8 9.00012Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9 13.6995C9 14.2517 8.55228 14.6995 8 14.6995C7.44772 14.6995 7 14.2517 7 13.6995C7 13.1472 7.44772 12.6995 8 12.6995C8.55228 12.6995 9 13.1472 9 13.6995Z`}}]},Jn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`more-vertical-icon`,ref:t,icon:qn}))});Jn.displayName=`MoreVerticalIcon`;let Yn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M13.6 2.4C8.4 2.6 4.2 5.2 3.6 9.1C3.2 11.7 5.1 13.8 7.6 13.3C11.3 12.6 13.4 7.9 13.6 2.4Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M3.4 13.1C5.5 9.6 8.3 6.9 12.2 4.6`,strokeLinecap:`round`,strokeWidth:1.3}}]},Xn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`nature-icon`,ref:t,icon:Yn}))});Xn.displayName=`NatureIcon`;let Zn={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.5 10.2C4.4 9.4 3.8 8.1 3.8 6.8C3.8 4.5 5.7 2.7 8 2.7C10.3 2.7 12.2 4.5 12.2 6.8C12.2 8.1 11.6 9.4 10.5 10.2C9.9 10.7 9.7 11.1 9.7 11.8H6.3C6.3 11.1 6.1 10.7 5.5 10.2Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.4 13.4H9.6`,strokeLinecap:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M6.7 11.8H9.3`,strokeLinecap:`round`,strokeWidth:1.3}}]},Qn=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`objects-icon`,ref:t,icon:Zn}))});Qn.displayName=`ObjectsIcon`;let $n={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`circle`,attrs:{cx:8,cy:8,r:5.7,stroke:`currentColor`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.4 6.8H5.5`,strokeLinecap:`round`,strokeWidth:1.6}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M10.5 6.8H10.6`,strokeLinecap:`round`,strokeWidth:1.6}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.6 9.3C6.2 10.4 7 10.9 8 10.9C9 10.9 9.8 10.4 10.4 9.3`,strokeLinecap:`round`,strokeWidth:1.3}}]},er=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`people-icon`,ref:t,icon:$n}))});er.displayName=`PeopleIcon`;let tr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M12.6 6.7C12.6 10.1 8 14.1 8 14.1C8 14.1 3.4 10.1 3.4 6.7C3.4 4.2 5.5 2.1 8 2.1C10.5 2.1 12.6 4.2 12.6 6.7Z`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`circle`,attrs:{cx:8,cy:6.7,r:1.6,stroke:`currentColor`,strokeWidth:1.3}}]},nr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`places-icon`,ref:t,icon:tr}))});nr.displayName=`PlacesIcon`;let rr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M14.2638 7.63727V3.9999C14.2638 2.89533 13.3683 1.9999 12.2638 1.9999L3.56389 1.99999C2.45932 2 1.56392 2.89542 1.56392 3.99998L1.56387 11.6666C1.56386 12.7712 2.4593 13.6666 3.56387 13.6666H8.0542`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M1.5639 6.17762H14.2638M5.79725 1.99996V6.17762M10.0307 1.99993V6.17762`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M11.5223 11.2333V10.2333C11.5223 9.681 11.97 9.23328 12.5223 9.23328C13.0746 9.23328 13.5223 9.681 13.5223 10.2333V11.2333`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`rect`,attrs:{width:4,height:2.67,x:10.52,y:11.23,stroke:`currentColor`,rx:1,strokeWidth:1.2}}]},ir=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`protect-icon`,ref:t,icon:rr}))});ir.displayName=`ProtectIcon`;let ar={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.5 4.5H4.3C5.4 4.5 6.2 5.1 7 6.2L9.2 9.2C10 10.3 10.8 10.9 11.9 10.9H13.5`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M11.5 8.9L13.5 10.9L11.5 12.9`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.5 10.9H4.3C5.4 10.9 6.2 10.3 7 9.2L9.2 6.2C10 5.1 10.8 4.5 11.9 4.5H13.5`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M11.5 2.5L13.5 4.5L11.5 6.5`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}}]},or=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`random-icon`,ref:t,icon:ar}))});or.displayName=`RandomIcon`;let sr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`circle`,attrs:{cx:8,cy:8,r:5.7,stroke:`currentColor`,strokeWidth:1.3}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M8 4.8V8.2L10.4 9.6`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.3}}]},cr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`recent-icon`,ref:t,icon:sr}))});cr.displayName=`RecentIcon`;let lr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M11.273 2.72206C11.0214 2.50641 10.9922 2.12763 11.2079 1.87603C11.4235 1.62444 11.8023 1.59531 12.0539 1.81097L14.3833 3.80761C14.5134 3.91733 14.5962 4.08137 14.5967 4.26477L14.5967 4.2665C14.5967 4.41745 14.541 4.55538 14.4489 4.66083C14.44 4.67109 14.4307 4.68108 14.421 4.69077L12.0877 7.02411C11.8534 7.25842 11.4735 7.25843 11.2392 7.02412C11.0049 6.78981 11.0049 6.40991 11.2392 6.17559L12.5482 4.8665H6.63324C4.40569 4.8665 2.5999 6.67229 2.5999 8.89984C2.5999 11.1274 4.40569 12.9332 6.63324 12.9332H11.9972C12.3286 12.9332 12.5972 13.2018 12.5972 13.5332C12.5972 13.8645 12.3286 14.1332 11.9972 14.1332H6.63324C3.74295 14.1332 1.3999 11.7901 1.3999 8.89984C1.3999 6.00955 3.74295 3.6665 6.63324 3.6665H12.3748L11.273 2.72206Z`}}]},ur=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`redo-icon`,ref:t,icon:lr}))});ur.displayName=`RedoIcon`;let dr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M1.9999 7.9999H13.9999`,strokeLinecap:`round`,strokeWidth:1.2}}]},fr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`reduce-icon`,ref:t,icon:dr}))});fr.displayName=`ReduceIcon`;let pr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M7.71899 1.36938C4.37604 1.36938 1.66602 4.07941 1.66602 7.42236C1.66602 10.7653 4.37604 13.4753 7.71899 13.4753C9.16744 13.4753 10.4971 12.9666 11.5389 12.118L13.6598 14.4109C13.8848 14.6542 14.2644 14.669 14.5077 14.444C14.7509 14.219 14.7657 13.8393 14.5407 13.5961L12.3906 11.2716C13.2536 10.2254 13.772 8.88442 13.772 7.42236C13.772 4.07941 11.0619 1.36938 7.71899 1.36938ZM2.86602 7.42236C2.86602 4.74215 5.03878 2.56938 7.71899 2.56938C10.3992 2.56938 12.572 4.74215 12.572 7.42236C12.572 10.1026 10.3992 12.2753 7.71899 12.2753C5.03878 12.2753 2.86602 10.1026 2.86602 7.42236Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},mr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`search-icon`,ref:t,icon:pr}))});mr.displayName=`SearchIcon`;let hr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.66628 8.66683C5.03447 8.66683 5.33294 8.36835 5.33294 8.00016C5.33294 7.63197 5.03447 7.3335 4.66628 7.3335C4.29809 7.3335 3.99961 7.63197 3.99961 8.00016C3.99961 8.36835 4.29809 8.66683 4.66628 8.66683Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M5.99935 10.0002C5.99935 10.3684 5.70087 10.6668 5.33268 10.6668C4.96449 10.6668 4.66602 10.3684 4.66602 10.0002C4.66602 9.63197 4.96449 9.3335 5.33268 9.3335C5.70087 9.3335 5.99935 9.63197 5.99935 10.0002Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M3.33268 10.6668C3.70087 10.6668 3.99935 10.3684 3.99935 10.0002C3.99935 9.63197 3.70087 9.3335 3.33268 9.3335C2.96449 9.3335 2.66602 9.63197 2.66602 10.0002C2.66602 10.3684 2.96449 10.6668 3.33268 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M7.33294 8.00016C7.33294 8.36835 7.03447 8.66683 6.66628 8.66683C6.29809 8.66683 5.99961 8.36835 5.99961 8.00016C5.99961 7.63197 6.29809 7.3335 6.66628 7.3335C7.03447 7.3335 7.33294 7.63197 7.33294 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M7.33268 10.6668C7.70087 10.6668 7.99935 10.3684 7.99935 10.0002C7.99935 9.63197 7.70087 9.3335 7.33268 9.3335C6.96449 9.3335 6.66602 9.63197 6.66602 10.0002C6.66602 10.3684 6.96449 10.6668 7.33268 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.33294 8.00016C9.33294 8.36835 9.03447 8.66683 8.66628 8.66683C8.29809 8.66683 7.99961 8.36835 7.99961 8.00016C7.99961 7.63197 8.29809 7.3335 8.66628 7.3335C9.03447 7.3335 9.33294 7.63197 9.33294 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M9.33268 10.6668C9.70087 10.6668 9.99935 10.3684 9.99935 10.0002C9.99935 9.63197 9.70087 9.3335 9.33268 9.3335C8.96449 9.3335 8.66602 9.63197 8.66602 10.0002C8.66602 10.3684 8.96449 10.6668 9.33268 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M11.3329 8.00016C11.3329 8.36835 11.0345 8.66683 10.6663 8.66683C10.2981 8.66683 9.99961 8.36835 9.99961 8.00016C9.99961 7.63197 10.2981 7.3335 10.6663 7.3335C11.0345 7.3335 11.3329 7.63197 11.3329 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M11.3327 10.6668C11.7009 10.6668 11.9993 10.3684 11.9993 10.0002C11.9993 9.63197 11.7009 9.3335 11.3327 9.3335C10.9645 9.3335 10.666 9.63197 10.666 10.0002C10.666 10.3684 10.9645 10.6668 11.3327 10.6668Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13.3329 8.00016C13.3329 8.36835 13.0345 8.66683 12.6663 8.66683C12.2981 8.66683 11.9996 8.36835 11.9996 8.00016C11.9996 7.63197 12.2981 7.3335 12.6663 7.3335C13.0345 7.3335 13.3329 7.63197 13.3329 8.00016Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.99961 12.0002C4.99961 11.632 5.29809 11.3335 5.66628 11.3335H10.3329C10.7011 11.3335 10.9996 11.632 10.9996 12.0002C10.9996 12.3684 10.7011 12.6668 10.3329 12.6668H5.66628C5.29809 12.6668 4.99961 12.3684 4.99961 12.0002Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M13.9999 2.00016C13.9999 1.63197 13.7014 1.3335 13.3332 1.3335C12.965 1.3335 12.6665 1.63197 12.6665 2.00016V3.37516H11.3332C10.7809 3.37516 10.3332 3.82287 10.3332 4.37516V5.3335H1.99935C1.26297 5.3335 0.666016 5.93045 0.666016 6.66683V13.3335C0.666016 14.0699 1.26297 14.6668 1.99935 14.6668H13.9993C14.7357 14.6668 15.3327 14.0699 15.3327 13.3335V6.66683C15.3327 5.93045 14.7357 5.3335 13.9993 5.3335H11.6665V4.7085H12.9999C13.5522 4.7085 13.9999 4.26079 13.9999 3.7085V2.00016ZM1.99935 6.66683V13.3335H13.9993V6.66683H1.99935Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},gr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`shortcut-icon`,ref:t,icon:hr}))});gr.displayName=`ShortcutIcon`;let _r={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M10 10L14 14M10 10V13.2M10 10H13.2M6 13.2V10H2.8M6 10L2 14M10 2.8V6H13.2M10 6L14 2M6 2.8V6H2.8M6 6L2 2`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},vr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`shrink-icon`,ref:t,icon:_r}))});vr.displayName=`ShrinkIcon`;let yr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M3 20H7.5A.5.5 0 0 0 8 19.5V19.218A.52.52 0 0 0 7.753 18.781A8 8 0 1 1 16.247 18.78A.52.52 0 0 0 16 19.218V19.5A.5.5 0 0 0 16.5 20H21`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2}}]},br=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`symbols-icon`,ref:t,icon:yr}))});br.displayName=`SymbolsIcon`;let xr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M4.72365 2.72206C4.97524 2.50641 5.00437 2.12763 4.78872 1.87603C4.57306 1.62444 4.19428 1.59531 3.94269 1.81097L1.61333 3.80761C1.48281 3.91768 1.3999 4.08241 1.3999 4.2665C1.3999 4.41745 1.45564 4.55538 1.54766 4.66083C1.55661 4.67109 1.56594 4.68108 1.57563 4.69077L3.9089 7.02411C4.14321 7.25842 4.52311 7.25843 4.75743 7.02412C4.99175 6.78981 4.99175 6.40991 4.75744 6.17559L3.44839 4.8665H9.36337C11.5909 4.8665 13.3967 6.67229 13.3967 8.89984C13.3967 11.1274 11.5909 12.9332 9.36337 12.9332H3.99937C3.668 12.9332 3.39937 13.2018 3.39937 13.5332C3.39937 13.8645 3.668 14.1332 3.99937 14.1332H9.36337C12.2537 14.1332 14.5967 11.7901 14.5967 8.89984C14.5967 6.00955 12.2537 3.6665 9.36337 3.6665H3.62183L4.72365 2.72206Z`}}]},Sr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`undo-icon`,ref:t,icon:xr}))});Sr.displayName=`UndoIcon`;let Cr={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`colorChannel1`,d:`M5.36831 3.22148C5.36831 1.94497 6.40313 0.910156 7.67964 0.910156C8.95615 0.910156 9.99097 1.94497 9.99097 3.22149V6.74754H8.72649V3.22149C8.72649 2.64333 8.2578 2.17464 7.67964 2.17464C7.10148 2.17464 6.63279 2.64333 6.63279 3.22148V6.74754H5.36831V3.22148Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M5.00091 5.47314C3.33644 5.47314 1.9499 6.74914 1.81192 8.40788L1.54428 11.6254C1.38911 13.4909 2.86133 15.0906 4.73327 15.0906H13.6667C14.175 15.0906 14.5544 14.6228 14.4495 14.1255L13.0262 7.37781C12.792 6.26766 11.8125 5.47314 10.6779 5.47314H5.00091ZM10.6779 6.75314H5.00091C4.00223 6.75314 3.1703 7.51874 3.08751 8.51399L2.81988 11.7315C2.72677 12.8508 3.61011 13.8106 4.73327 13.8106H5.7695C5.26362 13.0554 5.05585 12.0527 5.31224 11.047C5.40861 10.6689 5.76242 10.4493 6.10249 10.5564C6.44256 10.6636 6.64012 11.0569 6.54374 11.4349C6.27517 12.4885 6.92898 13.6738 7.87916 13.8106H9.01412C8.50824 13.0554 8.30047 12.0527 8.55686 11.047C8.65324 10.6689 9.00704 10.4493 9.34711 10.5564C9.68719 10.6636 9.88474 11.0569 9.78837 11.4349C9.51979 12.4885 10.1736 13.6738 11.1238 13.8106H13.0749L11.7738 7.64199C11.6645 7.12392 11.2073 6.75314 10.6779 6.75314Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},wr=(0,r.forwardRef)(function(e,t){return(0,r.createElement)(X,Object.assign({},e,{id:`clear-format-double-icon`,ref:t,icon:Cr}))});wr.displayName=`ClearFormatDoubleIcon`;let Tr=(0,t.createIdentifier)(`univer.ribbon-override-service`);var Er=class extends t.Disposable{constructor(...e){super(...e),S(this,`_override$`,new n.BehaviorSubject(null)),S(this,`override$`,this._override$.asObservable())}getOverride(){return this._override$.getValue()}activate(e){this._override$.next(e)}clear(e){let t=this.getOverride();t&&(!e||t.id===e)&&this._override$.next(null)}dispose(){this._override$.next(null),this._override$.complete(),super.dispose()}};function Z(e){let{components:t,fallback:n,sharedProps:i}=e;return!t||t.size===0?n??null:Array.from(t.values()).map((e,t)=>(0,r.createElement)(e,{key:`${e.displayName??t}`,...i}))}function Q(e,t){let i=(0,s.useDependency)(Y),a=(t==null?void 0:t.get(Y))??i,o=(0,r.useMemo)(()=>a.uiVisibleChange$.pipe((0,n.filter)(t=>t.ui===e)),[e,a]),c=(0,s.useObservable)(o),l=(0,r.useRef)(0),u=(0,s.useObservable)(()=>a.componentRegistered$.pipe((0,n.filter)(t=>t===e),(0,n.debounceTime)(200),(0,n.map)(()=>l.current+=1),(0,n.startWith)(l.current+=1)),void 0,void 0,[a,e,c]);return(0,r.useMemo)(()=>a.isUIVisible(e)?a.getComponents(e):new Set,[u])}function Dr({ribbon:e,activatedTab:n,onSelectTab:r}){let a=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`div`,{className:`univer-flex univer-size-full univer-items-center univer-justify-center univer-gap-1 univer-overflow-x-auto univer-rounded-md univer-bg-gray-50 univer-px-3 dark:!univer-bg-gray-900`,role:`tablist`,children:e.map(e=>{let t=n===e.key;return(0,c.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,title:a.t(e.title||e.key),onClick:()=>r(e),className:(0,i.clsx)(`univer-focus:outline-none univer-focus:ring-2 univer-focus:ring-primary-500 dark:!univer-focus:ring-primary-300 univer-flex univer-cursor-pointer univer-appearance-none univer-items-center univer-gap-1 univer-rounded-sm univer-border-none univer-px-2 univer-py-1 univer-text-sm univer-transition-colors`,t?`univer-bg-primary-50 univer-font-semibold univer-text-primary-600 univer-shadow-sm dark:!univer-bg-primary-900 dark:!univer-text-primary-300`:`univer-hover:bg-gray-100 dark:!univer-hover:bg-gray-700 univer-bg-transparent univer-text-gray-700 dark:!univer-text-gray-200`),children:a.t(e.title||e.key)},e.key)})})}let Or={"ribbon.start":An,"ribbon.insert":In,"ribbon.formulas":On,"ribbon.data":vn,"ribbon.view":Sn,"ribbon.others":Jn};function kr({ribbon:e,activatedTab:n,onSelectTab:a}){var o;let l=(0,s.useDependency)(t.LocaleService),u=((o=e.find(e=>e.key===n))==null?void 0:o.title)||n,[d,f]=(0,r.useState)(!1);function p(e){a(e),f(!1)}return(0,c.jsx)(i.HoverCard,{className:`univer-max-w-96 !univer-rounded-xl`,align:`start`,open:d,overlay:(0,c.jsx)(`div`,{className:`univer-grid univer-gap-1 univer-px-2 univer-py-1`,children:e.map(e=>{let t=Or[e.key]??Jn;return(0,c.jsxs)(`a`,{"data-u-comp":`ribbon-group-btn`,className:`univer-box-border univer-flex univer-cursor-pointer univer-items-center univer-gap-2.5 univer-rounded-lg univer-px-2 univer-py-1.5 hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,role:`button`,onClick:()=>p(e),children:[(0,c.jsx)(`span`,{className:(0,i.clsx)(`univer-box-border univer-flex univer-size-9 univer-flex-shrink-0 univer-items-center univer-justify-center univer-rounded-lg`,i.borderClassName),children:(0,c.jsx)(t,{className:`univer-text-gray-500 dark:!univer-text-gray-300`,preserveStrokeWidth:!0})}),(0,c.jsxs)(`span`,{className:`univer-flex univer-flex-col`,children:[(0,c.jsx)(`strong`,{className:`univer-text-sm univer-font-semibold univer-text-gray-800 dark:!univer-text-gray-200`,children:l.t(e.title||e.key)}),(0,c.jsx)(`span`,{className:`univer-text-xs univer-text-gray-400`,children:l.t(`${e.title||e.key}Desc`)})]})]},e.key)})}),onOpenChange:f,children:(0,c.jsxs)(`a`,{className:`univer-mr-2 univer-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1.5 univer-whitespace-nowrap !univer-rounded-full univer-bg-gray-700 univer-pl-3 univer-pr-2 univer-text-sm univer-text-gray-0 dark:!univer-bg-gray-200 dark:!univer-text-gray-800`,onClick:()=>f(!0),children:[l.t(u),(0,c.jsx)(Bn,{className:`univer-text-gray-200 dark:!univer-text-gray-500`,preserveStrokeWidth:!0})]})})}function Ar({ribbon:e,activatedTab:n,onSelectTab:r}){let a=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`div`,{"data-testid":`ribbon-grid-menu`,"data-u-comp":`ribbon-grid-menu`,className:`univer-flex univer-h-full univer-items-end univer-justify-start univer-overflow-x-auto univer-bg-gray-50 univer-px-2 dark:!univer-bg-gray-900`,role:`tablist`,children:e.map(e=>{let t=n===e.key,o=a.t(e.title||e.key);return(0,c.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,title:o,onClick:()=>r(e),className:(0,i.clsx)(`univer-relative univer-flex univer-h-8 univer-cursor-pointer univer-items-center univer-whitespace-nowrap univer-border-0 univer-border-b-[3px] univer-bg-transparent univer-px-3 univer-text-sm univer-font-semibold univer-text-gray-700 univer-transition-colors hover:univer-text-gray-900 focus-visible:univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 dark:!univer-text-gray-200 dark:hover:!univer-text-gray-0`,t?`univer-border-primary-600 univer-text-primary-700 dark:!univer-text-primary-300`:`univer-border-transparent`),children:o},e.key)})})}function jr(e){let t=new Set,n=new Map,r=[];for(let i of e){let e=i.gridLayout;if(!e){r.push({item:i});continue}let a=e.rowSpan??1,o=e.columnSpan??1,s=Pr(e.row,e.column,a,o);if(!Mr(e,a,s)){r.push({item:i});continue}let c={item:i,row:e.row,column:e.column,rowSpan:a,columnSpan:o,showLabel:e.showLabel??!1,width:e.width,iconSize:e.iconSize};if(s.some(e=>t.has(e))){r.push({item:i,layout:c});continue}s.forEach(e=>t.add(e)),n.set(i,c)}for(let{item:e,layout:i}of r){let r=(i==null?void 0:i.rowSpan)??1,a=(i==null?void 0:i.columnSpan)??1,{row:o,column:s,cells:c}=Nr(t,r,a);c.forEach(e=>t.add(e)),n.set(e,{item:e,row:o,column:s,rowSpan:r,columnSpan:a,showLabel:(i==null?void 0:i.showLabel)??!1,width:i==null?void 0:i.width,iconSize:i==null?void 0:i.iconSize})}return e.map(e=>n.get(e))}function Mr(e,t,n){return n.length>0&&e.row+t-1<=2&&(e.width===void 0||Number.isFinite(e.width)&&e.width>0)&&(e.iconSize===void 0||Number.isFinite(e.iconSize)&&e.iconSize>0)}function Nr(e,t,n){for(let r=1;;r++)for(let i=1;i+t-1<=2;i++){let a=Pr(i,r,t,n);if(a.every(t=>!e.has(t)))return{row:i,column:r,cells:a}}}function Pr(e,t,n,r){if(![e,t,n,r].every(Number.isInteger)||Math.min(e,t,n,r)<1)return[];let i=[];for(let a=e;a<e+n;a++)for(let e=t;e<t+r;e++)i.push(`${a}:${e}`);return i}function $(e){let{className:i,iconSize:a,preserveStrokeWidth:o,title:l,icon:u,label:d,value:f,value$:p}=e,m=(0,s.useDependency)(t.LocaleService),h=(0,s.useDependency)(L),g=(0,s.useDependency)(z),_=(0,s.useObservable)(p??null,f),v=(0,n.isObservable)(u)?u:null,y=(0,s.useObservable)(v,``),b=(0,n.isObservable)(u)?y:u??``,x=[],S=0,C=(0,r.useMemo)(()=>f??_,[_,f]),w=(0,r.useMemo)(()=>C&&typeof C==`string`?new t.ColorKit(C).isValid:!1,[C]);if(b){let e=g.get(b);e&&x.push((0,c.jsx)(e,{className:`univer-text-base`,style:a?{width:a,height:a}:void 0,extend:{colorChannel1:w?String(C):`var(--univer-primary-600)`},preserveStrokeWidth:o},S++))}if(d){let t=typeof d==`string`,n=t?{...e}:{...d==null?void 0:d.props,...e},r=t?d:d==null?void 0:d.name,a=h.get(r);a?x.push((0,c.jsx)(a,{...n,className:i,value:C},S++)):x.push((0,c.jsx)(`span`,{className:i,children:m.t(r)},S++))}return l&&x.push((0,c.jsx)(`span`,{className:i,children:typeof l==`string`?m.t(l):l},S++)),(0,c.jsx)(c.Fragment,{children:x})}function Fr(e){let{disabled$:t,hidden$:i,activated$:a,value$:o}=e,c;if(ne(e)){let{selections:t}=e;if(Array.isArray(t)){var l;c=t==null||(l=t[0])==null?void 0:l.value$}}let u=(0,s.useObservable)(t??null,!1),d=(0,s.useObservable)(a??null,!1),f=(0,s.useObservable)(i??null,!1),p=(0,r.useMemo)(()=>(0,n.merge)(o??n.EMPTY,c??n.EMPTY),[c,o]);return{disabled:u,value:(0,s.useObservable)(p),activated:d,hidden:f,selectionsValue:(0,s.useObservable)(c??null)}}function Ir({id:e,commandId:t,shortcut:i}){let a=(0,s.useDependency)(Ee),o=t??e,c=(0,r.useMemo)(()=>i?(0,n.of)(i):a.shortcutChanged$.pipe((0,n.map)(()=>a.getShortcutDisplayOfCommand(o)),(0,n.startWith)(a.getShortcutDisplayOfCommand(o))),[i,a,o]);return(0,s.useObservable)(c,null,!0)}let Lr=`
2
10
  univer-box-border univer-flex univer-h-6 univer-min-w-6 univer-cursor-pointer univer-items-center
3
11
  univer-justify-center univer-rounded univer-border-none univer-bg-transparent univer-p-0
4
12
  univer-text-gray-900 univer-outline-none univer-transition-colors univer-animate-in univer-fade-in
5
13
  dark:!univer-text-gray-0 dark:hover:!univer-bg-gray-700 dark:disabled:!univer-text-gray-600
6
14
  disabled:univer-cursor-not-allowed disabled:univer-text-gray-300 disabled:hover:univer-bg-transparent
7
15
  hover:univer-bg-gray-100 whitespace-nowrap univer-w-max
8
- `,wr=(0,i.cva)(Cr,{variants:{noIcon:{true:`univer-px-2`,false:``},active:{true:`!univer-bg-gray-200 dark:!univer-bg-gray-500`,false:``}},defaultVariants:{noIcon:!1,active:!1}});function Tr(e){let{children:t,className:n,style:r,disabled:i=!1,active:a=!1,noIcon:o,onClick:s,onDoubleClick:l,...u}=e;return(0,c.jsx)(`button`,{type:`button`,className:wr({noIcon:o,active:a,className:n}),style:r,disabled:i,onClick:e=>{if(i){e.preventDefault();return}s&&s(e)},onDoubleClick:e=>{if(i){e.preventDefault();return}l&&l(e)},...u,children:t})}let Er=(0,r.createContext)({dropdownVisible:!1,setDropdownVisible:e=>{}}),Dr=(0,r.createContext)(null);function Or(e){let{popupOpen:t,...n}=e,[a,o]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t&&o(!1)},[t]),(0,c.jsx)(i.Tooltip,{...n,className:(0,i.clsx)(`univer-fill-mode-backwards univer-delay-100`,n.className,`univer-pointer-events-none`),visible:!t&&a,onVisibleChange:e=>{t||o(e)}})}function kr(e){let[t,n]=(0,r.useState)(null),i=(0,r.useMemo)(()=>({openDropdownKey:t,setOpenDropdownKey:n}),[t]);return(0,c.jsx)(Dr.Provider,{value:i,children:e.children})}let Ar=(0,r.forwardRef)((e,t)=>{let{children:n,dropdownKey:i,...a}=e,o=(0,r.useRef)(null),[s,l]=(0,r.useState)(!1),u=(0,r.useContext)(Dr),d=i&&u?u.openDropdownKey===i:s,f=(0,r.useCallback)(e=>{i&&u?u.setOpenDropdownKey(e?i:null):l(e)},[i,u]),p=(0,r.useMemo)(()=>({dropdownVisible:d,setDropdownVisible:f}),[d,f]);(0,r.useImperativeHandle)(t,()=>({el:o.current}));let m=(0,c.jsx)(`span`,{ref:o,children:(0,c.jsx)(Er.Provider,{value:p,children:n})});return a.title?(0,c.jsx)(Or,{popupOpen:d,...a,children:m}):m});function jr(e){let{children:t,overlay:n,disabled:a,align:o,dropdownComponent:s=i.Dropdown}=e,{direction:l}=(0,r.useContext)(i.ConfigContext),{dropdownVisible:u,setDropdownVisible:d}=(0,r.useContext)(Er),f=(0,r.useRef)(null),p=(0,r.useRef)(null);(0,r.useEffect)(()=>{a&&u&&d(!1)},[a,u,d]),(0,r.useEffect)(()=>{var e;let t=(e=f.current)==null?void 0:e.ownerDocument;if(!u||!t)return;let n=e=>{var t,n;let r=e.target,i=typeof(r==null?void 0:r.closest)==`function`&&r.closest(`[data-slot="popover-content"], [role="dialog"]`)!=null;!r||(t=f.current)!=null&&t.contains(r)||(n=p.current)!=null&&n.contains(r)||i||d(!1)};return t.addEventListener(`pointerdown`,n,!0),()=>t.removeEventListener(`pointerdown`,n,!0)},[u,d]);function m(e){d(e)}return(0,c.jsx)(s,{align:o??(l===`rtl`?`end`:`start`),overlay:(0,c.jsx)(`div`,{ref:p,className:`univer-grid univer-gap-2`,children:n}),disabled:a,open:u,onOpenChange:m,children:(0,c.jsx)(`div`,{ref:f,className:`univer-h-full`,onClick:e=>e.stopPropagation(),children:t})})}function Mr({icon:e,value:t,option:n,preserveStrokeWidth:r,onOptionSelect:i}){var a;let o=e=>{i==null||i({...n,value:e})},s=typeof n.label==`string`||typeof n.label==`object`&&((a=n.label)==null?void 0:a.selectable)!==!1,l=s&&String(t)===String(n.value);return(0,c.jsxs)(`div`,{className:`univer-flex univer-w-full univer-items-center univer-justify-between univer-gap-2`,children:[(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-items-center univer-gap-2`,children:(0,c.jsx)($,{className:`univer-text-sm`,icon:e,preserveStrokeWidth:r,value$:n.value$,value:n.value,label:n.label,onChange:o})}),s&&(0,c.jsx)(`span`,{className:`univer-ml-auto univer-flex univer-w-4 univer-flex-shrink-0 univer-justify-end`,children:l&&(0,c.jsx)(tn,{className:`univer-text-primary-600`,preserveStrokeWidth:r})})]})}function Nr(e){var t;return String(e.id??e.commandId??e.value??(typeof e.label==`string`?e.label:(t=e.label)==null?void 0:t.name))}function Pr({menuId:e,slot:a,value:o,options:l,children:u,disabled:d,preserveStrokeWidth:f,onOptionSelect:m,dropdownComponent:h,dropdownMenuComponent:_=i.DropdownMenu}){let{dropdownVisible:v,setDropdownVisible:y}=(0,r.useContext)(Er),b=(0,s.useDependency)(Ee),x=(0,s.useDependency)(t.IContextService),S=(0,s.useDependency)(t.IUniverInstanceService),C=(0,s.useDependency)(D),w=(0,r.useRef)(null),T=(0,r.useRef)(null),E=(0,r.useRef)(null),O=E.current;(0,r.useEffect)(()=>{let e=E.current;if(!v||!e)return;let r=S.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,n.switchMap)(e=>e?e.activeSheet$.pipe((0,n.map)(t=>({workbook:e,sheetId:t==null?void 0:t.getSheetId()}))):(0,n.of)(null))).subscribe(t=>{((t==null?void 0:t.workbook.getUnitId())!==e.unitId||(t==null?void 0:t.sheetId)!==e.sheetId)&&(e.valid=!1,w.current=null,y(!1))});return()=>r.unsubscribe()},[v,S,y]),(0,r.useEffect)(()=>()=>{E.current&&=(E.current.valid=!1,null)},[]),(0,r.useEffect)(()=>{if(!v)return;let e=b.forceEscape();return()=>e.dispose()},[v,b]),(0,r.useEffect)(()=>{d&&v&&y(!1)},[d,v,y]);let k=(0,s.useDependency)(J),A=()=>e?k.getMenuByPositionKey(e):[],j=(0,s.useObservable)(()=>k.menuChanged$.pipe((0,n.map)(A),(0,n.startWith)(A())),A(),!1,[e,k]),M=(0,s.useObservable)((0,r.useMemo)(()=>{let e=j.map(e=>{var t;return(e.children?(0,n.combineLatest)(e.children.map(e=>{var t;return((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)})).pipe((0,n.map)(e=>e.every(Boolean))):((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)).pipe((0,n.map)(t=>[String(e.key),t]))});return e.length?(0,n.merge)(...e).pipe((0,n.scan)((e,[t,n])=>({...e,[t]:n}),{}),(0,n.startWith)({})):(0,n.of)({})},[j]),{}),N=(0,r.useMemo)(()=>j.filter(e=>{var t;if(!e.children)return!M[e.key];let n=((t=e.key)==null?void 0:t.toString())||``;return!M[n]}),[j,M]);function P(e){if(e){var n;let e=document.activeElement,r=x.getContextValue(t.FOCUSING_SHEET)?S.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET):null,i=r==null||(n=r.getActiveSheet())==null?void 0:n.getSheetId();E.current&&(E.current.valid=!1),E.current=r&&i?{unitId:r.getUnitId(),sheetId:i,valid:!0}:null;let a=p(e);w.current=e instanceof HTMLElement&&e.dataset.uComp===`editor`?{element:e,owner:a}:null}y(e)}function F(e){let t=w.current;if(w.current=null,E.current&&!E.current.valid){e.preventDefault();let t=document.activeElement,n=e.target instanceof HTMLElement&&e.target.contains(t);(t===document.body||n)&&C.focus();return}if(!(t!=null&&t.element.isConnected)||p(t.element)!==t.owner)return;let n=t.element.ownerDocument.activeElement,r=e.target instanceof HTMLElement&&e.target.contains(n);n!==t.element.ownerDocument.body&&n!==t.element&&!r||(e.preventDefault(),t.element.focus({preventScroll:!0}))}let I=e=>{T.current=e.currentTarget},L=e=>{e.currentTarget.dataset.state===`closed`&&(e.preventDefault(),e.stopPropagation())},R=e=>{let t=T.current,n=t==null?void 0:t.getAttribute(`aria-labelledby`),r=n?t==null?void 0:t.ownerDocument.getElementById(n):null;if(r!=null&&r.contains(e.detail.originalEvent.target)){e.preventDefault();return}w.current&&(!w.current.owner||p(e.target)!==w.current.owner)&&(w.current=null),g(e)};function z(e){g(e)}function B(e){var n,r;let i=O;if(!(i&&i!==E.current)){if(i&&(!i.valid||((n=S.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:n.getUnitId())!==i.unitId||((r=S.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null||(r=r.getActiveSheet())==null?void 0:r.getSheetId())!==i.sheetId)){w.current=null,y(!1);return}m(e),y(!1)}}if(a)return(0,c.jsx)(jr,{disabled:d,dropdownComponent:h,overlay:l.map(e=>(0,c.jsx)(Mr,{value:o,option:e,preserveStrokeWidth:f,onOptionSelect:B},Nr(e))),children:u});if(l!=null&&l.length){var V,H;let e=N.length===0&&l.length===1&&typeof l[0].label==`object`&&((V=l[0].label)==null?void 0:V.hoverable)===!1&&((H=l[0].label.props)==null?void 0:H.embedded)===!0,t=l.map(t=>{var n;return{type:`item`,className:(0,i.clsx)({"focus:univer-bg-gray-0 dark:focus:!univer-bg-gray-800":typeof t.label!=`string`&&((n=t.label)==null?void 0:n.hoverable)===!1,"!univer-p-0":e}),children:(0,c.jsx)(Mr,{icon:t.icon,value:o,option:t,preserveStrokeWidth:f,onOptionSelect:B}),disabled:t.disabled,onSelect:()=>{t.value!==void 0&&B({...t})}}});N.length&&t.push({type:`separator`});for(let e of N){if(!e.item)continue;let{title:n,id:r,commandId:i,icon:a}=e.item;if(!n)throw Error(`Menu item title is required`);t.push({type:`item`,children:(0,c.jsx)(Mr,{icon:a,value:o,preserveStrokeWidth:f,option:{label:{name:n,selectable:!1}}}),onSelect:()=>{B({commandId:i,id:r})}})}return(0,c.jsx)(_,{align:`start`,className:(0,i.clsx)({"!univer-p-0":e}),items:t,disabled:d,open:v,onOpenChange:P,onFocusCapture:I,onPointerMoveCapture:L,onPointerOutCapture:L,onCloseAutoFocus:F,onPointerDownOutside:R,onFocusOutside:z,onInteractOutside:z,children:u})}else{let e=[];for(let t of N){var U;if(t.item){let{title:n,id:r,commandId:i,icon:a}=t.item;if(!n)throw Error(`Menu item title is required`);e.push({type:`item`,children:(0,c.jsx)(Mr,{icon:a,value:o,preserveStrokeWidth:f,option:{label:{name:n,selectable:!1}}}),onSelect:()=>{B({commandId:i,id:r})}})}else(U=t.children)!=null&&U.length}return(0,c.jsx)(_,{align:`start`,items:e,disabled:d,open:v,onOpenChange:P,onFocusCapture:I,onPointerMoveCapture:L,onPointerOutCapture:L,onCloseAutoFocus:F,onPointerDownOutside:R,onFocusOutside:z,onInteractOutside:z,children:u})}}let Fr=`univer-pointer-events-none univer-cursor-not-allowed univer-text-gray-300 dark:!univer-text-gray-600`,Ir=(0,i.cva)(`univer-toolbar-button-selector-root univer-animate-in univer-fade-in univer-group univer-relative univer-flex univer-h-6 univer-cursor-pointer univer-items-center univer-rounded univer-pr-5 univer-text-sm univer-transition-colors hover:univer-bg-gray-100 rtl:univer-pl-5 rtl:univer-pr-0 dark:hover:!univer-bg-gray-700`,{variants:{disabled:{true:Fr,false:`univer-text-gray-900 dark:!univer-text-gray-0`}},defaultVariants:{disabled:!1}}),Lr=(0,i.cva)(`univer-toolbar-button-selector-main univer-relative univer-z-[1] univer-flex univer-h-full univer-items-center univer-rounded-l univer-px-1 univer-transition-colors hover:univer-bg-gray-200 rtl:univer-rounded-l-none rtl:univer-rounded-r dark:hover:!univer-bg-gray-600`,{variants:{active:{true:`univer-bg-gray-200 dark:!univer-bg-gray-500`,false:``},disabled:{true:``,false:``}},compoundVariants:[{active:!0,disabled:!0,class:`univer-bg-gray-100`}],defaultVariants:{active:!1,disabled:!1}}),Rr=(0,i.cva)(`univer-toolbar-button-selector-trigger univer-absolute univer-right-0 univer-top-0 univer-box-border univer-flex univer-h-6 univer-w-5 univer-items-center univer-justify-center univer-rounded-r univer-transition-colors hover:univer-bg-gray-200 rtl:univer-left-0 rtl:univer-right-auto rtl:univer-rounded-l rtl:univer-rounded-r-none dark:hover:!univer-bg-gray-600`,{variants:{disabled:{true:Fr,false:``},active:{true:`univer-bg-gray-200 dark:!univer-bg-gray-500`,false:``}},compoundVariants:[{active:!0,disabled:!0,class:`univer-bg-gray-100`}],defaultVariants:{disabled:!1,active:!1}}),zr=(0,i.cva)(`univer-toolbar-selector-root univer-animate-in univer-fade-in univer-relative univer-flex univer-h-6 univer-cursor-pointer univer-items-center univer-gap-2 univer-whitespace-nowrap univer-rounded univer-px-1 univer-transition-colors hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,{variants:{disabled:{true:Fr,false:`univer-text-gray-900 dark:!univer-text-gray-0`},active:{true:`univer-bg-gray-200`,false:``}},compoundVariants:[{active:!0,disabled:!0,class:`univer-bg-gray-100`}],defaultVariants:{disabled:!1,active:!1}}),Br=(0,i.cva)(`univer-toolbar-selector-trigger univer-flex univer-h-full univer-items-center`,{variants:{disabled:{true:Fr,false:``}},defaultVariants:{disabled:!1}}),Vr=(0,r.forwardRef)((e,a)=>{let o=(0,s.useDependency)(t.LocaleService),l=(0,s.useDependency)(t.ICommandService),u=(0,s.useDependency)(D),d=(0,s.useDependency)(L),{value:f,hidden:p,disabled:m,activated:h}=xr(e),g=(e,t)=>{u.focus(),l.executeCommand(e,t)},{tooltip:_,shortcut:v,icon:y,title:b,label:x,id:S,commandId:C,type:w,slot:T,params:E,grid:O,large:k,showLabel:A,iconSize:j,iconColor:M,fullWidth:N,preserveStrokeWidth:P,dropdownComponent:F,dropdownMenuComponent:I}=e,R=b??_,z=Sr({id:S,commandId:C,shortcut:v}),B=_?o.t(_):``;z&&(B+=` (${z})`);let{selections:V}=e,H=(0,s.useObservable)((0,r.useMemo)(()=>(0,n.isObservable)(V)?V:new n.Observable(e=>{e.next(V)}),[V])),U=(0,s.useObservable)((0,r.useMemo)(()=>(0,n.isObservable)(y)?y:new n.Observable(e=>{var t;let n=(H==null||(t=H.find(e=>e.value===f))==null?void 0:t.icon)??y;e.next(n)}),[y,H,f]),void 0,!0);function ee(t){let n=e.selectionsCommandId,r=C??S,a=n??C??S,s=O?A?R:k?void 0:b:b,l=typeof x==`string`?x:(x==null?void 0:x.name)??``,u=!!d.get(l),p=_?o.t(_):typeof s==`string`?o.t(s):void 0;function v(e){if(m)return;let t=a;e.id&&(t=e.id);let n=typeof e.params==`function`?e.params(e.value):e.params;g(t,n??{value:e.value})}function w(e){m||g(a,{value:e})}function D(){if(!m&&t===2){let e=typeof E==`function`?E():E;g(r,e??{value:f})}}return t===2?(0,c.jsxs)(`div`,{"data-u-command":S,"data-disabled":m,className:(0,i.clsx)(Ir({disabled:m}),{"univer-box-border univer-h-full univer-min-w-14 univer-flex-col !univer-pr-0":O&&k,"univer-box-border univer-h-full":O&&!k}),children:[(0,c.jsx)(`div`,{className:(0,i.clsx)(Lr({active:h,disabled:m}),{"univer-h-full univer-w-full univer-flex-col univer-justify-center univer-rounded univer-px-1 univer-pb-4 [&>svg]:univer-size-8":O&&k,"[&>svg]:univer-size-4":O&&!k}),onClick:D,children:(0,c.jsx)($,{icon:U,iconSize:j,preserveStrokeWidth:P,title:s,value:M??f,label:x,onChange:w})}),(0,c.jsx)(Pr,{menuId:S,slot:T,value:f,options:H,disabled:m,preserveStrokeWidth:P,onOptionSelect:v,dropdownComponent:F,dropdownMenuComponent:I,children:(0,c.jsx)(`div`,{className:(0,i.clsx)(Rr({disabled:m,active:h}),{"!univer-top-auto univer-bottom-0 univer-h-4 univer-w-full univer-rounded-b univer-rounded-t-none":O&&k,"univer-h-full":O&&!k}),"data-disabled":m,children:(0,c.jsx)(On,{preserveStrokeWidth:P})})})]}):(0,c.jsx)(Pr,{menuId:S,slot:T,value:f,options:H,disabled:m,preserveStrokeWidth:P,onOptionSelect:v,dropdownComponent:F,dropdownMenuComponent:I,children:(0,c.jsx)(`div`,{"data-u-command":S,role:u?void 0:`button`,tabIndex:u?void 0:m?-1:0,"aria-disabled":u?void 0:m,"aria-label":u?void 0:p,className:(0,i.clsx)(zr({disabled:m,active:h}),{"univer-box-border univer-h-full univer-min-w-14 univer-flex-col univer-justify-center univer-gap-1 univer-px-1.5 univer-py-1 univer-text-xs [&>svg]:univer-size-8":O&&k,"univer-box-border univer-h-full":O&&!k,"univer-bg-gray-0 dark:!univer-bg-gray-800":O&&!k&&!y,"[&>svg]:univer-size-4":O&&!k},O&&!k&&!y&&i.borderClassName),children:O&&k?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)($,{icon:U,iconSize:j,preserveStrokeWidth:P}),(0,c.jsxs)(`div`,{className:(0,i.clsx)(Br({disabled:m}),`univer-h-4 univer-justify-center univer-gap-0.5`),children:[(0,c.jsx)($,{title:s,value:f,label:x,onChange:w}),(0,c.jsx)(On,{preserveStrokeWidth:P})]})]}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)($,{icon:U,iconSize:j,preserveStrokeWidth:P,title:s,value:f,label:x,onChange:w}),(0,c.jsx)(`div`,{className:(0,i.clsx)(Br({disabled:m}),{"univer-ml-auto rtl:univer-ml-0 rtl:univer-mr-auto":O&&!k&&!y}),children:(0,c.jsx)(On,{preserveStrokeWidth:P})})]})})})}function te(){let t=d.get(typeof x==`string`?x:(x==null?void 0:x.name)??``),n=_?o.t(_):typeof b==`string`?o.t(b):void 0,r=(0,i.clsx)(O&&!k&&`univer-h-full univer-min-w-8 [&>svg]:univer-size-4`,O&&k?`univer-h-full univer-min-w-14 univer-flex-col univer-gap-1 univer-px-1.5 univer-py-1 univer-text-xs [&>svg]:univer-size-8`:A?`univer-gap-1 univer-px-1.5 univer-text-sm`:`univer-text-sm`,O&&N&&t&&`!univer-px-0`),a=O&&k?{textAlign:`center`,whiteSpace:`normal`}:void 0;if(t){let e=typeof x==`string`||(x==null?void 0:x.hoverable)!==!1;return(0,c.jsx)(`span`,{"data-u-command":S,className:wr({noIcon:!y,active:h,className:(0,i.clsx)(r,!e&&`univer-cursor-default !univer-bg-transparent hover:!univer-bg-transparent dark:hover:!univer-bg-transparent`)}),style:a,"aria-disabled":m,children:(0,c.jsx)($,{className:O&&N?`!univer-w-full`:void 0,title:O&&A?R:b,value:f,label:x})})}return(0,c.jsx)(Tr,{"data-u-command":S,"aria-label":n,className:r,style:a,noIcon:!y,active:h,disabled:m,onClick:()=>{let t=typeof E==`function`?E():E;g(e.commandId??e.id,t??(f===void 0?void 0:{value:f}))},onDoubleClick:()=>e.subId&&g(e.subId),children:y?(0,c.jsx)($,{icon:y,iconSize:j,preserveStrokeWidth:P,title:O&&(k||A)?R:void 0}):(0,c.jsx)($,{title:b})})}function ne(){switch(w){case 2:case 1:case 3:return ee(w);default:return te()}}return!p&&(0,c.jsx)(Ar,{ref:a,title:B,placement:`bottom`,dropdownKey:S,children:ne()})});function Hr({groups:e,title:n,className:r,...a}){let o=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`div`,{...a,"data-testid":`ribbon-grid-toolbar`,"data-u-comp":`ribbon-grid-toolbar`,className:(0,i.clsx)(`univer-box-border univer-flex univer-h-[88px] univer-overflow-x-auto univer-overflow-y-hidden univer-bg-gray-50 univer-px-2 univer-text-sm dark:!univer-bg-gray-900`,i.borderBottomClassName,i.scrollbarClassName,r),role:`toolbar`,"aria-label":o.t(n),children:(0,c.jsx)(kr,{children:e.map(e=>(0,c.jsxs)(`div`,{"data-u-comp":`ribbon-grid-group`,className:`univer-relative univer-box-border univer-flex univer-min-w-16 univer-shrink-0 univer-flex-col univer-px-2`,children:[(0,c.jsx)(`div`,{"data-testid":`ribbon-grid-group-grid`,className:`univer-grid univer-min-h-0 univer-flex-1 univer-grid-flow-col univer-grid-rows-2 univer-content-center univer-gap-x-1 univer-gap-y-2 univer-py-2 [&>div>span>span]:univer-h-full`,children:_r(e.children??[]).map(e=>e.item.item&&(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-flex univer-items-stretch [&>span>button]:univer-h-full [&>span]:univer-h-full`,e.width&&`[&>span>span]:univer-w-full [&>span]:univer-w-full [&_[data-u-command]]:univer-w-full`),style:{gridRow:`${e.row} / span ${e.rowSpan}`,gridColumn:`${e.column} / span ${e.columnSpan}`,width:e.width},children:(0,c.jsx)(Vr,{...e.item.item,grid:!0,large:e.rowSpan>1,showLabel:e.showLabel,iconSize:e.iconSize,fullWidth:e.width!==void 0,preserveStrokeWidth:!0})},e.item.key))}),(0,c.jsx)(`span`,{"data-testid":`ribbon-grid-group-divider`,className:(0,i.clsx)(`univer-pointer-events-none univer-absolute univer-bottom-1.5 univer-right-0 univer-top-3.5 !univer-border-gray-300 univer-opacity-50 rtl:univer-left-0 rtl:univer-right-auto`,i.borderRightClassName),"aria-hidden":`true`})]},e.key))})})}function Ur(e){let{ribbonType:n,headerMenuComponents:a,headerMenu:o=!0,toolbarOnly:l=!1,headerClassName:u}=e,d=(0,s.useDependency)(rt),f=(0,s.useDependency)(dr),p=(0,s.useDependency)(t.LocaleService),m=(0,s.useObservable)(f.override$,f.getOverride()),h=(m==null?void 0:m.ribbonService)??d,g=(0,r.useRef)(null),_=(0,r.useRef)(0),v=(0,r.useRef)({}),y=(0,s.useObservable)(h.ribbon$,[]),b=(0,s.useObservable)(h.activatedTab$,`ribbon.start`),x=(0,s.useObservable)(h.collapsedIds$,[]),S=(0,s.useObservable)(h.fakeToolbarVisible$,!1),C=(m==null?void 0:m.hideToolbar)===!0,w=(0,r.useMemo)(()=>{if(n===`simple`){let e=[{key:`ribbon.start`,children:[],order:0}];return y.forEach(t=>{var n;(n=t.children)==null||n.forEach(t=>{var n;(n=e[0].children)==null||n.push(t)})}),e}return y},[n,y]),T=n===`simple`?`ribbon.start`:b,E=(0,r.useMemo)(()=>{var e;return((e=w.find(e=>e.key===T))==null?void 0:e.title)||T},[w,T]),D=(0,r.useCallback)(e=>{v.current={},h.setActivatedTab(e.key)},[h]),O=(0,r.useMemo)(()=>{var e;let t=((e=w.find(e=>e.key===T))==null?void 0:e.children)??[],n=[],r=[];for(let e of t)if(e.children){let t=e.children.filter(e=>!x.includes(e.key));t.length>0&&n.push({...e,children:t}),t.length<e.children.length&&r.push({...e,children:e.children.filter(e=>x.includes(e.key))})}return{allGroups:t,visibleGroups:n,hiddenGroups:r}},[x,w,T]);(0,r.useLayoutEffect)(()=>{if(C||n===`grid`){v.current={},h.setCollapsedIds([]),h.setFakeToolbarVisible(!1);return}if(!g.current)return;let e=new ResizeObserver((0,t.throttle)(e=>{for(let t of e)_.current=t.contentRect.width,h.setFakeToolbarVisible(!0)},10));return e.observe(g.current),_.current=g.current.getBoundingClientRect().width,h.setFakeToolbarVisible(!0),()=>{e.disconnect()}},[C,w,T,h,n]);let k=(0,r.useMemo)(()=>(0,c.jsx)(`div`,{"aria-hidden":`true`,className:(0,i.clsx)(`univer-invisible univer-absolute -univer-left-[99999] -univer-top-[99999] univer-box-border univer-flex univer-h-10 univer-min-w-min univer-items-center univer-px-3 univer-opacity-0`,{"univer-hidden":!S},i.divideXClassName,i.borderBottomClassName),children:O.allGroups.map((e,t)=>{var n,i;return(((n=e.children)==null?void 0:n.length)||e.item)&&(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(`div`,{className:`univer-grid univer-shrink-0 univer-grid-flow-col univer-gap-2 univer-px-2 empty:univer-hidden`,children:e.children&&((i=e.children)==null?void 0:i.map(n=>n.item&&(0,c.jsx)(Vr,{...n.item,preserveStrokeWidth:!0,ref:r=>{r!=null&&r.el?v.current[n.key]={el:r.el,key:n.key,order:t,groupOrder:e.order,itemOrder:n.order}:delete v.current[n.key]}},n.key)))})},e.key)})}),[O.allGroups,S]);(0,r.useLayoutEffect)(()=>{var e;if(!S||C||n===`grid`)return;let t=Object.values(v.current).sort((e,t)=>e.order-t.order||e.groupOrder-t.groupOrder||e.itemOrder-t.itemOrder),r=[],i=32+((((e=w.find(e=>e.key===T))==null?void 0:e.children)??[]).length-1)*8;for(let{el:e,key:n}of t)i+=e.getBoundingClientRect().width+8,i>_.current&&r.push(n);h.setCollapsedIds(r),h.setFakeToolbarVisible(!1)},[T,S,C,w,h,n]);let A=m?{"data-embed-ribbon-override":`true`,"data-embed-id":m.id}:{};return(0,c.jsx)(Wr,{override:m,children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(`div`,{"data-u-comp":`ribbon-header-menu`,...A,className:(0,i.clsx)(`univer-relative univer-select-none`,u,{"univer-hidden":l,"univer-h-9":!l&&(n===`classic`||n===`grid`||a&&a.size>0)}),children:[!l&&(m==null?void 0:m.placeholderTitle)&&w.length===0&&(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-flex univer-h-9 univer-items-end univer-px-3`,{"univer-justify-center":C}),children:(0,c.jsx)(`span`,{className:`univer-relative univer-inline-flex univer-h-8 univer-items-center univer-justify-center univer-rounded-t univer-bg-primary-50 univer-px-3 univer-text-sm univer-font-medium univer-text-primary-600`,children:m.placeholderTitle})}),!l&&n===`classic`&&w.length>=1&&(0,c.jsx)(pr,{ribbon:w,activatedTab:b,onSelectTab:D}),!l&&n===`grid`&&w.length>=1&&(0,c.jsx)(gr,{ribbon:w,activatedTab:b,onSelectTab:D}),o&&a&&a.size>0&&(0,c.jsx)(`div`,{className:`univer-absolute univer-right-2 univer-top-0 univer-flex univer-h-full univer-flex-row univer-items-center univer-gap-2 rtl:univer-left-2 rtl:univer-right-auto [&>*]:univer-inline-flex [&>*]:univer-h-6 [&>*]:univer-items-center [&>*]:univer-rounded [&>*]:univer-px-1 [&>*]:univer-transition-colors hover:[&>*]:univer-bg-gray-100`,children:(0,c.jsx)(Z,{components:a})})]}),!C&&n===`grid`&&(0,c.jsx)(Hr,{...A,groups:O.allGroups,title:E}),!C&&n!==`grid`&&(0,c.jsxs)(`div`,{...A,className:(0,i.clsx)(`univer-box-border univer-grid univer-h-10 univer-grid-flow-col univer-items-center univer-px-3 univer-text-sm`,{"univer-grid-cols-[1fr] univer-justify-center":n===`classic`||w.length===1,"univer-grid-cols-[auto,1fr]":w.length>1&&n!==`classic`},i.borderBottomClassName),children:[n===`collapsed`&&w.length>=1&&(0,c.jsx)(hr,{ribbon:w,activatedTab:b,onSelectTab:D}),(0,c.jsx)(`div`,{"data-u-comp":`ribbon-toolbar`,ref:g,className:(0,i.clsx)(`univer-flex univer-overflow-hidden`,i.divideXClassName,{"univer-justify-center":n===`classic`}),role:`toolbar`,"aria-label":p.t(E),children:(0,c.jsxs)(kr,{children:[O.visibleGroups.map(e=>{var t,n;return(((t=e.children)==null?void 0:t.length)||e.item)&&(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(`div`,{className:`univer-grid univer-shrink-0 univer-grid-flow-col univer-gap-2 univer-px-2 empty:univer-hidden`,children:e.children&&((n=e.children)==null?void 0:n.map(e=>e.item&&(0,c.jsx)(Vr,{...e.item,preserveStrokeWidth:!0},e.key)))})},e.key)}),x.length>0&&(0,c.jsx)(`div`,{className:`univer-pl-2 rtl:univer-pr-2`,children:(0,c.jsx)(i.Dropdown,{collisionPadding:{right:12,left:12},onOpenAutoFocus:e=>e.preventDefault(),overlay:(0,c.jsx)(`div`,{className:`univer-box-border univer-grid univer-max-w-[--radix-popper-available-width] univer-gap-2 univer-p-2`,children:O.hiddenGroups.map(e=>{var t;return(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:(0,c.jsx)(`div`,{className:`univer-flex univer-flex-wrap univer-gap-2`,children:e.children?(t=e.children)==null?void 0:t.map(e=>e.item&&(0,c.jsx)(Vr,{...e.item,preserveStrokeWidth:!0},e.key)):e.item&&(0,c.jsx)(Vr,{...e.item,preserveStrokeWidth:!0},e.key)})},e.key)})}),children:(0,c.jsx)(`button`,{type:`button`,className:Cr,children:(0,c.jsx)(In,{preserveStrokeWidth:!0})})})})]},T)})]}),n!==`grid`&&k]})})}function Wr(e){let{override:t,children:n}=e,a=(0,r.useContext)(i.ConfigContext),o=t==null?void 0:t.injector,l=(0,r.useMemo)(()=>o?(0,s.connectInjector)(Gr,o):null,[o]);return!t||!l?n:(0,c.jsx)(l,{locale:a.locale,direction:a.direction,mountContainer:t.portalContainer??a.mountContainer,children:n})}function Gr(e){let{children:t,locale:n,direction:r,mountContainer:a}=e;return(0,c.jsx)(i.ConfigProvider,{locale:n,direction:r,mountContainer:a,children:t})}var Kr=class extends t.Disposable{constructor(...e){super(...e),S(this,`_styleSheetId`,`univer-theme-css-variables`)}injectThemeToHead(e){function t(e,t=`--univer`){let n=[];function r(e,i=``){for(let a in e){let o=e[a],s=i?`${i}-${a}`:a;typeof o==`object`&&o?r(o,s):n.push(`${t}-${s}: ${o};`)}}return r(e),n.join(`
9
- `)}let n=t(e),r=document.getElementById(this._styleSheetId);r&&r.remove();let i=document.createElement(`style`);i.setAttribute(`id`,this._styleSheetId),i.textContent=`:root {\n${n}\n}`,document.head.appendChild(i)}dispose(){super.dispose()}};let qr=(0,t.createIdentifier)(`ui.contextmenu.service`);var Jr=class extends t.Disposable{constructor(...e){super(...e),S(this,`_currentHandler`,null),S(this,`disabled`,!1)}get visible(){var e;return((e=this._currentHandler)==null?void 0:e.visible)??!1}disable(){this.disabled=!0}enable(){this.disabled=!1}triggerContextMenu(e,t,n){var r;e.stopPropagation(),!this.disabled&&((r=this._currentHandler)==null||r.handleContextMenu(e,t,n))}hideContextMenu(){var e;(e=this._currentHandler)==null||e.hideContextMenu()}registerContextMenuHandler(e){if(this._currentHandler)throw Error(`There is already a context menu handler!`);return this._currentHandler=e,(0,t.toDisposable)(()=>this._currentHandler=null)}};let Yr=(0,t.createIdentifier)(`ui.contextmenu.host.service`);var Xr=class extends t.Disposable{constructor(...e){super(...e),S(this,`_menuMap`,new Map),S(this,`_activeMenuId$`,new n.BehaviorSubject(null)),S(this,`activeMenuId$`,this._activeMenuId$.asObservable())}get activeMenuId(){return this._activeMenuId$.value}registerMenu(e,n){return this._menuMap.set(e,n),(0,t.toDisposable)(()=>{this._menuMap.delete(e),this.activeMenuId===e&&this._activeMenuId$.next(null)})}activateMenu(e){this.hideActiveMenu(e),this._activeMenuId$.next(e)}deactivateMenu(e){this.activeMenuId===e&&this._activeMenuId$.next(null)}hideActiveMenu(e){let t=this.activeMenuId;if(!t||t===e)return;let n=this._menuMap.get(t);this._activeMenuId$.next(null),n==null||n()}dispose(){this._activeMenuId$.complete(),super.dispose()}};function Zr(e,t){let n=Rt(()=>{if(!e||!t)return;let n=e.style,{y:r,height:i}=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=e.scrollHeight>i,s=r<0||r+i>a.height;if(!s&&!o){n.overflowY=``,n.maxHeight=``;return}s&&(n.overflowY=`auto`,n.maxHeight=r<0?`${e.scrollHeight+r}px`:`${a.height-r}px`)});(0,r.useEffect)(()=>{if(!(0,i.isBrowser)()||!e||!t)return;n();let r=new ResizeObserver(n);return r.observe(e),()=>{r.disconnect()}},[e,t])}function Qr(e){let n=(0,s.useDependency)(t.IConfigService);return(0,s.useObservable)((0,r.useMemo)(()=>n.subscribeConfigValue$(e),[n]),n.getConfig(e))}function $r(e){let t=new Set(e),n=e=>{(e.ctrlKey||e.metaKey)&&e.preventDefault()},r=e=>e.preventDefault();return t.forEach(e=>{e.addEventListener(`wheel`,n,{capture:!0,passive:!1}),e.addEventListener(`gesturestart`,r,{capture:!0,passive:!1}),e.addEventListener(`gesturechange`,r,{capture:!0,passive:!1})}),()=>{t.forEach(e=>{e.removeEventListener(`wheel`,n,!0),e.removeEventListener(`gesturestart`,r,!0),e.removeEventListener(`gesturechange`,r,!0)})}}let ei=(0,i.cva)(`univer-menu-item-group univer-px-0`,{variants:{variant:{default:`univer-gap-1.5 univer-p-0.5`,paragraphT:`univer-gap-2 univer-p-1`,compactParagraph:`univer-gap-0.5 univer-p-0`},layout:{grid:`univer-grid`,wrap:`univer-flex univer-flex-wrap`},columnsSix:{true:`univer-grid-cols-6`,false:``}},compoundVariants:[{variant:`compactParagraph`,layout:`grid`,class:`univer-justify-items-start`},{variant:[`default`,`paragraphT`],layout:`grid`,class:`univer-justify-items-center`}],defaultVariants:{variant:`default`,layout:`wrap`,columnsSix:!1}}),ti=(0,i.cva)(`univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 focus:univer-bg-gray-50 focus:univer-outline-none dark:focus:!univer-bg-gray-900`,{variants:{variant:{default:`univer-size-6 univer-rounded-md`,paragraphT:`univer-size-8 univer-rounded-lg`,compactParagraph:`univer-size-6 univer-rounded-sm`},hoverSuppressed:{true:``,false:`hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-900`},active:{true:`univer-bg-gray-50 dark:!univer-bg-gray-900`,false:``}},defaultVariants:{variant:`default`,hoverSuppressed:!1,active:!1}}),ni=(0,i.cva)(`univer-text-gray-900 dark:!univer-text-gray-200`,{variants:{variant:{default:`univer-size-4`,paragraphT:`univer-size-5`,compactParagraph:`univer-size-5`}},defaultVariants:{variant:`default`}});function ri(e,t){return e===`paragraph-t`&&t===`compact`?`compactParagraph`:e===`paragraph-t`?`paragraphT`:`default`}function ii(e,t){if(!(!e||e===6&&t!==`compactParagraph`))return`repeat(${e}, max-content)`}function ai({items:e,columns:t,sizeVariant:n=`default`,layoutVariant:r=`default`,hoverSuppressed:a=!1}){let o=ri(n,r),s=o!=="default",l=ii(t,o);return(0,c.jsx)(`div`,{className:ei({variant:o,layout:t?`grid`:`wrap`,columnsSix:t===6&&o!==`compactParagraph`}),style:l?{gridTemplateColumns:l}:void 0,children:e.map(e=>{let t=!s&&e.tooltip,n=(0,c.jsx)(`button`,{type:`button`,"aria-label":e.tooltip??e.key,title:t?e.tooltip:void 0,className:ti({variant:o,hoverSuppressed:a,active:e.active,className:e.className}),onClick:()=>e.onClick(),children:(0,c.jsx)(e.Icon,{className:ni({variant:o,className:e.iconClassName}),extend:{colorChannel1:`var(--univer-primary-600)`}})},e.key);return t?(0,c.jsx)(i.Tooltip,{className:`univer-fill-mode-backwards univer-pointer-events-none univer-delay-100`,title:e.tooltip,children:n},e.key):n})})}let oi=[],si=[],ci=(0,i.cva)(`univer-relative univer-box-border univer-flex univer-size-12 univer-w-full univer-appearance-none univer-flex-col univer-items-center univer-justify-center univer-gap-0.5 univer-rounded-lg univer-border-none univer-bg-gray-0 univer-p-0 univer-font-medium univer-text-gray-700 univer-outline-none univer-transition-all focus-visible:univer-ring-2 focus-visible:univer-ring-primary-600 focus-visible:univer-ring-offset-0 dark:!univer-bg-gray-700 dark:!univer-text-gray-100`,{variants:{disabled:{true:`univer-cursor-not-allowed univer-opacity-60`,false:`univer-cursor-pointer hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600`},active:{true:`univer-bg-primary-50 univer-text-primary-700 univer-ring-1 univer-ring-primary-600 dark:!univer-bg-primary-900 dark:!univer-text-primary-100`,false:``}},defaultVariants:{disabled:!1,active:!1}});function li(e,t,n){return n?!!(e&&n.includes(e)):t}function ui(e){var t;return((t=e.item)==null?void 0:t.id)??e.key}function di(e,t){let n=new Set(t);return e.filter(e=>!n.has(ui(e)))}function fi(e){let{menuSchema:n,activeItemIds:r,onOptionSelect:i}=e,a=(0,s.useDependency)(z),o=(0,s.useDependency)(t.LocaleService),l=n.item,u=(0,s.useObservable)(l==null?void 0:l.disabled$,!1),d=(0,s.useObservable)(l==null?void 0:l.hidden$,!1),f=(0,s.useObservable)(l==null?void 0:l.activated$,!1);if(!l||d)return null;let p=l.icon?a.get(l.icon):null,m=li(l.id,f,r);return(0,c.jsxs)(`button`,{type:`button`,className:ci({disabled:u,active:m}),disabled:u,onClick:()=>{u||i==null||i({label:l.id??n.key,commandId:l.commandId,id:l.id,params:l.params,value:l.value,tooltip:l.tooltip&&o.t(l.tooltip)})},children:[p&&(0,c.jsx)(p,{className:`univer-text-base`,extend:{colorChannel1:`var(--univer-primary-600)`}}),(0,c.jsx)(`span`,{className:`univer-break-words univer-text-center univer-text-xs univer-leading-4`,children:l.title?o.t(l.title):n.key})]})}function pi(e){let{item:i,activeItemIds:a,hiddenItemIds:o=oi,hoverSuppressed:l,columns:u,sizeVariant:d=`default`,layoutVariant:f=`default`,onOptionSelect:p}=e,m=(0,s.useDependency)(z),h=(0,s.useDependency)(t.LocaleService),g=i.children??si,_=(0,r.useMemo)(()=>g.length?(0,n.combineLatest)(g.map(e=>{var t;return(((t=e.item)==null?void 0:t.activated$)??(0,n.of)(!1)).pipe((0,n.startWith)(!1))})).pipe((0,n.map)(e=>g.flatMap((t,n)=>e[n]?[ui(t)]:[]))):(0,n.of)([]),[g]),v=(0,r.useMemo)(()=>g.length?(0,n.combineLatest)(g.map(e=>{var t;return(((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)).pipe((0,n.startWith)(!1))})).pipe((0,n.map)(e=>g.flatMap((t,n)=>e[n]?[ui(t)]:[]))):(0,n.of)([]),[g]),y=(0,s.useObservable)(_,[]),b=(0,s.useObservable)(v,[]),x=(0,r.useMemo)(()=>di(i.children??[],[...b,...o]),[o,b,i.children]);return i.children?(0,c.jsx)(ai,{columns:u,sizeVariant:d,layoutVariant:f,hoverSuppressed:l,items:x.map(e=>{var t,n,r,i,o;let s=(t=e.item)!=null&&t.icon?m.get(e.item.icon):void 0;return s?{key:e.key,onClick:()=>{var t,n,r,i,a,o,s;p==null||p({label:((t=e.item)==null?void 0:t.id)??e.key,commandId:(n=e.item)==null?void 0:n.commandId,id:(r=e.item)==null?void 0:r.id,params:(i=e.item)==null?void 0:i.params,value:(a=e.item)==null?void 0:a.value,tooltip:((o=e.item)==null?void 0:o.tooltip)&&h.t((s=e.item)==null?void 0:s.tooltip)})},className:``,iconClassName:((n=e.item)==null?void 0:n.icon)===`TextTypeIcon`?d===`paragraph-t`?`!univer-size-4`:`!univer-size-3.5`:void 0,Icon:s,active:li((r=e.item)==null?void 0:r.id,y.includes(((i=e.item)==null?void 0:i.id)??``),a),tooltip:(o=e.item)!=null&&o.tooltip?h.t(e.item.tooltip):void 0}:null}).filter(e=>e!=null)}):null}function mi(e){var t;let{item:n,activeItemIds:r,hiddenItemIds:i=oi,onOptionSelect:a}=e;return(t=n.children)!=null&&t.length?(0,c.jsx)(`div`,{className:`univer-item-center univer-grid univer-grid-cols-3 univer-gap-1.5 univer-py-1`,children:di(n.children,i).map(e=>(0,c.jsx)(fi,{menuSchema:e,activeItemIds:r,onOptionSelect:a},e.key))}):null}let hi=new Set([`quickTop`,`quickBottom`]),gi=new Set([`quickTop`,`quickBottom`]),_i=new Set([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`]),vi=(0,i.cva)(`univer-inline-flex univer-items-center`,{variants:{sizeVariant:{default:`univer-gap-2`,"paragraph-t":`univer-gap-3`}},defaultVariants:{sizeVariant:`default`}}),yi=(0,i.cva)(`univer-box-border univer-grid univer-max-w-full univer-overflow-y-auto univer-overscroll-contain univer-rounded-md univer-bg-gray-0 univer-text-gray-900 univer-shadow-md dark:!univer-bg-gray-700 dark:!univer-text-gray-0`,{variants:{sizeVariant:{default:`univer-min-w-52 univer-gap-1 univer-px-2 univer-py-1 univer-text-sm`,"paragraph-t":`univer-min-w-64 univer-gap-2 univer-px-3 univer-py-2 univer-text-base`}},defaultVariants:{sizeVariant:`default`}}),bi=(0,i.cva)(`univer-grid`,{variants:{sizeVariant:{default:`univer-gap-1 univer-py-1`,"paragraph-t":`univer-gap-2 univer-py-2`}},defaultVariants:{sizeVariant:`default`}}),xi=(0,i.cva)(`univer-grid`,{variants:{sizeVariant:{default:`univer-gap-1 univer-py-1`,"paragraph-t":`univer-gap-2 univer-py-2`},connection:{none:``,previous:``,next:``,both:``}},compoundVariants:[{sizeVariant:`paragraph-t`,connection:`previous`,class:`univer-pb-2 univer-pt-1`},{sizeVariant:`paragraph-t`,connection:`next`,class:`univer-pb-1 univer-pt-2`},{sizeVariant:`paragraph-t`,connection:`both`,class:`univer-pb-1 univer-pt-1`}],defaultVariants:{sizeVariant:`default`,connection:`none`}}),Si=(0,i.cva)(`univer-grid`,{variants:{sizeVariant:{default:`univer-gap-1 univer-py-1`,"paragraph-t":`univer-gap-0 univer-py-2`}},defaultVariants:{sizeVariant:`default`}}),Ci=(0,i.cva)(`univer-font-semibold univer-text-gray-600 dark:!univer-text-gray-300`,{variants:{sizeVariant:{default:`univer-px-2 univer-text-xs`,"paragraph-t":`univer-px-3 univer-text-sm`}},defaultVariants:{sizeVariant:`default`}}),wi=(0,i.cva)(`univer-flex univer-items-center univer-justify-between`,{variants:{sizeVariant:{default:`univer-gap-1.5`,"paragraph-t":`univer-gap-2`}},defaultVariants:{sizeVariant:`default`}}),Ti=(0,i.cva)(`univer-overflow-y-auto univer-overscroll-contain univer-rounded-md univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-shadow-md dark:!univer-border-gray-600 dark:!univer-bg-gray-700`,{variants:{sizeVariant:{default:`univer-p-1.5`,"paragraph-t":`univer-p-2`}},defaultVariants:{sizeVariant:`default`}}),Ei=(0,i.cva)(`univer-relative univer-flex univer-border-none univer-bg-transparent univer-text-left univer-text-gray-900 dark:!univer-text-gray-0`,{variants:{sizeVariant:{default:``,"paragraph-t":``},variant:{default:``,compact:``,compactHeaderAction:``},disabled:{true:`univer-cursor-not-allowed univer-opacity-60`,false:`univer-cursor-pointer focus:univer-bg-gray-50 focus:univer-outline-none dark:focus:!univer-bg-gray-600`},hoverSuppressed:{true:``,false:``},active:{true:`univer-bg-gray-200 dark:!univer-bg-gray-600`,false:``}},compoundVariants:[{sizeVariant:`default`,variant:`default`,class:`univer-min-h-8 univer-w-full univer-items-center univer-justify-between univer-gap-3 univer-rounded-md univer-px-2 univer-text-sm`},{sizeVariant:`default`,variant:`compact`,class:`univer-size-8 univer-items-center univer-justify-center univer-rounded-md univer-p-0 univer-text-sm`},{sizeVariant:`default`,variant:`compactHeaderAction`,class:`univer-size-7 univer-items-center univer-justify-center univer-rounded-sm univer-p-0 univer-text-sm`},{sizeVariant:`paragraph-t`,variant:`default`,class:`univer-min-h-10 univer-w-full univer-items-center univer-justify-between univer-gap-4 univer-rounded-lg univer-px-3 univer-text-base`},{sizeVariant:`paragraph-t`,variant:`compact`,class:`univer-size-10 univer-items-center univer-justify-center univer-rounded-lg univer-p-0 univer-text-base`},{sizeVariant:`paragraph-t`,variant:`compactHeaderAction`,class:`univer-size-8 univer-items-center univer-justify-center univer-rounded-md univer-p-0 univer-text-base`},{disabled:!1,hoverSuppressed:!1,class:`hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600`}],defaultVariants:{sizeVariant:`default`,variant:`default`,disabled:!1,hoverSuppressed:!1,active:!1}});function Di(e){return typeof e==`object`&&(e==null?void 0:e.selectable)===!1}function Oi(e){return typeof e==`object`&&(e==null?void 0:e.hoverable)===!1}function ki(e){var t;return e.item?!0:(t=e.children)!=null&&t.length?e.children.some(e=>!!e.item):!1}function Ai(e,t){if(t===e.length-1)return!1;let n=e[t],r=e[t+1];return!(n!=null&&n.quickLayout&&r!=null&&r.quickLayout&&hi.has(n.key)&&hi.has(r.key))}function ji(e){if((0,t.isRealNum)(e.quickColumns))return e.quickColumns;if(e.quickLayout===`icon`&&gi.has(e.key))return 6}function Mi(e,t,n){return!e||!(t!=null&&t.contains(e)||n!=null&&n.contains(e))}function Ni(e){return vi({sizeVariant:e})}function Pi(e){return yi({sizeVariant:e})}function Fi(e){return bi({sizeVariant:e})}function Ii(e){return e.quickLayout===`icon`&&gi.has(e.key)}function Li(e,t){return Ii(e)&&!!t&&Ii(t)}function Ri(e,t,n,r){if(r!==`paragraph-t`||!gi.has(e.key))return Fi(r);let i=n>0?t[n-1]:null,a=n<t.length-1?t[n+1]:null,o=!!(i!=null&&i.quickLayout)&&gi.has(i.key),s=!!(a!=null&&a.quickLayout)&&gi.has(a.key);return xi({sizeVariant:r,connection:o&&s?`both`:o?`previous`:s?`next`:`none`})}function zi(e){return Si({sizeVariant:e})}function Bi(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function Vi(e){let t=[...e].sort((e,t)=>{let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top-r.top||n.left-r.left}),n=[];for(let e of t){let t=e.getBoundingClientRect(),r=t.top+t.height/2,i=n.find(e=>{let n=e[0].getBoundingClientRect(),i=n.top+n.height/2,a=Math.max(4,Math.max(n.height,t.height)/2);return Math.abs(i-r)<=a});i?i.push(e):n.push([e])}return n.forEach(e=>e.sort((e,t)=>e.getBoundingClientRect().left-t.getBoundingClientRect().left)),n}function Hi(e){return[...e].sort((e,t)=>{let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top-r.top||n.left-r.left})[0]}function Ui(e,t,n){var r;let i=n===`ArrowDown`||n===`ArrowRight`?1:-1,a=e[t<0?i>0?0:e.length-1:(t+i+e.length)%e.length],o=t>=0?e[t]:null;if(!o)return a;let s=Vi(e),c=s.findIndex(e=>e.includes(o)),l=s[c];if(l&&(n===`ArrowRight`||n===`ArrowLeft`))return l[l.indexOf(o)+(n===`ArrowRight`?1:-1)]??a;if(l&&(n===`ArrowDown`||n===`ArrowUp`)){let e=s[c+(n===`ArrowDown`?1:-1)];if(e){let t=Bi(o);return[...e].sort((e,n)=>Math.abs(Bi(e).x-t.x)-Math.abs(Bi(n).x-t.x))[0]??a}}let u=Bi(o);return((r=e.filter(e=>e!==o).map(e=>{let t=Bi(e),r=t.x-u.x,i=t.y-u.y;if(!(n===`ArrowRight`?r>0:n===`ArrowLeft`?r<0:n===`ArrowDown`?i>0:i<0))return null;let a=Math.abs(n===`ArrowRight`||n===`ArrowLeft`?r:i),o=Math.abs(n===`ArrowRight`||n===`ArrowLeft`?i:r);return{button:e,score:a*1e3+o}}).filter(e=>e!=null).sort((e,t)=>e.score-t.score)[0])==null?void 0:r.button)??a}function Wi(e,t=!1){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=e[r+1];if(t&&Li(i,a)){n.push({startIndex:r,endIndex:r+1,menuSchemas:[i,a]}),r+=1;continue}n.push({startIndex:r,endIndex:r,menuSchemas:[i]})}return n}function Gi(e){let t=e[0];return{...t,key:e.map(e=>e.key).join(`-`),quickColumns:ji(t),children:e.flatMap(e=>e.children??[])}}function Ki(e){return Ci({sizeVariant:e})}function qi(e){return wi({sizeVariant:e})}function Ji(e){return Ti({sizeVariant:e})}function Yi(e){var t;let{menuType:a,menuManagerService:o,layoutService:l,menuSessionVersion:u=0,className:d,activeItemIds:f,hiddenItemIds:p,flowQuickGroups:m,sizeVariant:h=`default`,autoFocus:g,autoFocusTarget:_=`first-item`,suppressHoverUntilPointerMove:v=!1,onCancel:y,onMenuPointerEnter:b,onMenuPointerLeave:x,onOptionSelect:S}=e,C=(0,s.useDependency)(J),w=(0,s.useDependency)(D),T=o??C,E=l??w,[O,k]=(0,r.useState)(null),[A,j]=(0,r.useState)(()=>typeof window>`u`?240:Math.max(120,window.innerHeight-16)),[M,N]=(0,r.useState)(v),P=(0,r.useMemo)(()=>a?T.getMenuByPositionKey(a):[],[T,a,(0,s.useObservable)((0,r.useMemo)(()=>T.menuChanged$.pipe((0,n.startWith)(void 0),(0,n.scan)(e=>e+1,0)),[T]),0),u]),F=((t=E.rootContainerElement)==null||(t=t.ownerDocument)==null?void 0:t.body)??(typeof document<`u`?document.body:null);Zr(O,E.rootContainerElement),(0,r.useEffect)(()=>{if(O)return $r([O])},[O]);let I=(0,r.useCallback)(e=>{let t=e??O;return t?Array.from(t.querySelectorAll(`button:not(:disabled)`)):[]},[O]);(0,r.useEffect)(()=>{if(!g||!O)return;let e=O.ownerDocument.defaultView??window,t=e.requestAnimationFrame(()=>{if(_===`container`){O.focus();return}(Hi(I())??O).focus()});return()=>e.cancelAnimationFrame(t)},[g,_,I,O,P]),(0,r.useEffect)(()=>{N(v)},[u,a,v]);let L=(0,r.useCallback)(e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),y==null||y();return}if(!_i.has(e.key)&&e.key!==`Enter`)return;let t=O==null?void 0:O.ownerDocument.activeElement,n=(t==null?void 0:t.closest(`[data-u-context-menu-submenu]`))??null,r=I(n);if(!r.length)return;e.preventDefault(),e.stopPropagation();let i=r.findIndex(e=>e===t);if(e.key===`Enter`){let e=i>=0?r[i]:Hi(r);if(!e)return;e.click();return}Ui(r,i,e.key).focus()},[I,O,y]);return(0,r.useEffect)(()=>{var e;let t=((e=E.rootContainerElement)==null||(e=e.ownerDocument)==null?void 0:e.defaultView)??(typeof window<`u`?window:null);if(!t)return;let n=0,r=()=>{n&&t.cancelAnimationFrame(n),n=t.requestAnimationFrame(()=>{j(Math.max(120,t.innerHeight-16))})};return r(),t.addEventListener(`resize`,r),()=>{n&&t.cancelAnimationFrame(n),t.removeEventListener(`resize`,r)}},[E.rootContainerElement]),a?(0,c.jsx)(`div`,{ref:k,tabIndex:-1,className:(0,i.clsx)(Pi(h),i.borderClassName,i.scrollbarClassName,M&&`univer-context-menu-hover-suppressed`,d),style:{maxHeight:A},onKeyDown:L,onPointerMove:()=>{M&&N(!1)},onWheel:e=>e.stopPropagation(),children:(0,c.jsx)(Xi,{menuSchemas:P,menuManagerService:T,menuSessionVersion:u,submenuPortalContainer:F,rootMenuElement:O,activeItemIds:f,hiddenItemIds:p,flowQuickGroups:m,hoverSuppressed:M,sizeVariant:h,onMenuPointerEnter:b,onMenuPointerLeave:x,onOptionSelect:S,maxMenuHeight:A})}):null}function Xi(e){let{menuSchemas:n,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeItemIds:d,hiddenItemIds:f,flowQuickGroups:p,hoverSuppressed:m,sizeVariant:h,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y}=e,b=(0,s.useDependency)(t.LocaleService),x=Qi(n),[S,C]=(0,r.useState)(null),w=(0,r.useMemo)(()=>n.filter(e=>ki(e)?!e.children||!x[e.key]:!1),[x,n]),T=(0,r.useMemo)(()=>Wi(w,p),[p,w]),E=(e,t,n=!1,r=!1)=>{let a=D(e);return(0,c.jsxs)(`div`,{className:(0,i.clsx)(n?`univer-grid`:Ri(e,w,t,h),r&&i.borderBottomClassName),children:[a,e.quickLayout===`tile`?(0,c.jsx)(mi,{item:e,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,onOptionSelect:v}):(0,c.jsx)(pi,{item:e,columns:ji(e),activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,sizeVariant:h,layoutVariant:e.quickLayoutVariant,onOptionSelect:v})]},e.key)};return(0,c.jsx)(c.Fragment,{children:T.map(({menuSchemas:e,startIndex:t,endIndex:n})=>{var r;let s=e[0],p=Ai(w,n),b=D(s);if(e.length>1){let n=Gi(e);return(0,c.jsx)(`div`,{className:(0,i.clsx)(zi(h),p&&i.borderBottomClassName),children:E(n,t,!0)},e.map(e=>e.key).join(`-`))}return s.item?(0,c.jsx)(Zi,{menuKey:s.key,menuItem:s.item,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,onOptionSelect:v,maxMenuHeight:y,hiddenItemIds:f,hoverSuppressed:m,sizeVariant:h,onMenuPointerEnter:g,onMenuPointerLeave:_},s.key):(r=s.children)!=null&&r.length?s.quickLayout?E(s,t,!1,p):s.tiny?(0,c.jsx)(`div`,{className:(0,i.clsx)(h===`paragraph-t`?`univer-flex univer-items-center univer-gap-2 univer-py-2`:`univer-flex univer-items-center univer-gap-1 univer-py-1`,p&&i.borderBottomClassName),children:s.children.map(e=>e.item&&(0,c.jsx)(Zi,{menuKey:e.key,menuItem:e.item,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y,compact:!0,sizeVariant:h},e.key))},s.key):(0,c.jsxs)(`div`,{className:(0,i.clsx)(Fi(h),p&&i.borderBottomClassName),children:[b,s.children.map(e=>e.item&&(0,c.jsx)(Zi,{menuKey:e.key,menuItem:e.item,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y,sizeVariant:h},e.key))]},s.key):null})});function D(e){if(!e.title)return null;let t=(0,c.jsx)(`strong`,{className:Ki(h),children:b.t(e.title)});return e.headerActionItem?(0,c.jsxs)(`div`,{className:qi(h),children:[t,(0,c.jsx)(Zi,{menuKey:`${e.key}-header-action`,menuItem:e.headerActionItem,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,compact:!0,headerAction:!0,sizeVariant:h,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y})]}):t}}function Zi(e){let{menuKey:a,menuItem:o,menuManagerService:u,menuSessionVersion:d,submenuPortalContainer:f,rootMenuElement:p,maxMenuHeight:m,activeSubmenuKey:h,setActiveSubmenuKey:g,activeItemIds:_,hiddenItemIds:v=[],hoverSuppressed:y=!1,compact:b=!1,headerAction:x=!1,sizeVariant:S,onMenuPointerEnter:C,onMenuPointerLeave:w,onOptionSelect:T}=e,E=(0,s.useDependency)(t.LocaleService),D=(0,s.useObservable)(E.direction$),O=(0,s.useObservable)(o.disabled$,!1),k=(0,s.useObservable)(o.activated$,!1),A=(0,s.useObservable)(o.hidden$,!1),j=(0,s.useObservable)(o.value$),M=o,N=(0,s.useObservable)((0,n.isObservable)(M.selections)?M.selections:void 0),[P,F]=(0,r.useState)(j),[I,L]=(0,r.useState)({left:0,top:0}),[R,z]=(0,r.useState)(!1),[B,V]=(0,r.useState)(`right`),[H,U]=(0,r.useState)(!1),ee=(0,r.useRef)(null),te=(0,r.useRef)(null),ne=(0,r.useRef)(null),W=(0,r.useRef)(null),re=(0,r.useId)(),ie=(0,r.useMemo)(()=>o.type!==1&&o.type!==2?[]:N||(Array.isArray(M.selections)?M.selections:[]),[o.type,N,M.selections]),ae=(0,r.useMemo)(()=>o.type!==3||!o.id?[]:u.getMenuByPositionKey(o.id),[o.id,o.type,u,d]),oe=ie.length>0,se=ae.length>0,G=oe||se,ce=G&&h===a,le=M.selectionsCommandId,K=(0,r.useCallback)(()=>{W.current!=null&&(clearTimeout(W.current),W.current=null)},[]),q=(0,r.useCallback)(()=>{K(),g(e=>e===a?null:e)},[K,a,g]),ue=(0,r.useCallback)(()=>{K(),W.current=setTimeout(()=>{W.current=null,q()},500)},[K,q]);(0,r.useEffect)(()=>{F(j)},[j]),(0,r.useEffect)(()=>()=>K(),[K]),(0,r.useEffect)(()=>{O&&q()},[q,O]),(0,r.useEffect)(()=>{let e=ne.current;if(!(!ce||!e))return $r([e])},[ce]),(0,r.useLayoutEffect)(()=>{var e;if(!ce||!R||!H)return;let t=(e=ne.current)==null?void 0:e.querySelector(`button:not(:disabled)`);t==null||t.focus()},[H,R,ce]),(0,r.useEffect)(()=>{if(!ce){z(!1);return}let e=()=>{let e=ee.current,t=ne.current;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-2,a=n.left-r.width+2,o=a>=8,s=i+r.width+8<=window.innerWidth,c=D===`rtl`?o||!s:!s&&o,l=c?a:i;V(c?`left`:`right`);let u=window.innerHeight-8-r.height,d=u<8?8:Math.min(Math.max(n.top,8),u);L({left:l,top:d}),z(!0)},t=window.requestAnimationFrame(e);return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.cancelAnimationFrame(t),window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[D,ce,oe,se]);let de=o.id!=null&&v.includes(o.id)||v.includes(a);if(A||de)return null;let fe=e=>{let n=(0,t.isRealNum)(e)&&typeof e==`string`?Number.parseInt(e):e;F(n)},pe=e=>{T==null||T(e),K(),g(e=>e===a?null:e)},me=Ei({sizeVariant:S,variant:b?x?`compactHeaderAction`:`compact`:`default`,disabled:O,hoverSuppressed:y,active:li(o.id,k,_)}),he=(0,c.jsxs)(`span`,{className:Ni(S),children:[(0,c.jsx)($,{value:P,title:b?void 0:o.title,label:o.label,icon:o.icon,onChange:fe}),o.shortcut&&` (${o.shortcut})`]}),ge=o.type===0||o.type===2,_e=Di(o.label),ve=D===`rtl`?Mn:Pn,ye=(0,i.clsx)(me,Oi(o.label)&&`hover:univer-bg-transparent dark:hover:!univer-bg-transparent`);return(0,c.jsxs)(`div`,{ref:ee,className:`univer-relative`,onMouseEnter:()=>{if(K(),G&&!O&&!y){U(!1),z(!1),g(a);return}!G&&!y&&g(null)},onMouseLeave:e=>{if(G){var t;let n=e.relatedTarget;if(n&&(t=ne.current)!=null&&t.contains(n))return;if(Mi(n,ee.current,p)){q();return}ue()}},children:[_e?(0,c.jsxs)(`div`,{className:ye,"aria-disabled":O,children:[he,G&&(0,c.jsx)(ve,{className:`
16
+ [&_svg]:univer-shrink-0
17
+ `,Rr=(0,i.cva)(Lr,{variants:{noIcon:{true:`univer-px-2`,false:``},active:{true:`!univer-bg-gray-200 dark:!univer-bg-gray-500`,false:``}},defaultVariants:{noIcon:!1,active:!1}});function zr(e){let{children:t,className:n,style:r,disabled:a=!1,active:o=!1,noIcon:s,onClick:l,onDoubleClick:u,...d}=e;return(0,c.jsx)(`button`,{type:`button`,className:(0,i.clsx)(Rr({noIcon:s,active:o,className:n})),style:r,disabled:a,onClick:e=>{if(a){e.preventDefault();return}l&&l(e)},onDoubleClick:e=>{if(a){e.preventDefault();return}u&&u(e)},...d,children:t})}let Br=(0,r.createContext)({dropdownVisible:!1,setDropdownVisible:e=>{}}),Vr=(0,r.createContext)(null);function Hr(e){let{popupOpen:t,...n}=e,[a,o]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t&&o(!1)},[t]),(0,c.jsx)(i.Tooltip,{...n,className:(0,i.clsx)(`univer-fill-mode-backwards univer-delay-100`,n.className,`univer-pointer-events-none`),visible:!t&&a,onVisibleChange:e=>{t||o(e)}})}function Ur(e){let[t,n]=(0,r.useState)(null),i=(0,r.useMemo)(()=>({openDropdownKey:t,setOpenDropdownKey:n}),[t]);return(0,c.jsx)(Vr.Provider,{value:i,children:e.children})}let Wr=(0,r.forwardRef)((e,t)=>{let{children:n,dropdownKey:i,...a}=e,o=(0,r.useRef)(null),[s,l]=(0,r.useState)(!1),u=(0,r.useContext)(Vr),d=i&&u?u.openDropdownKey===i:s,f=(0,r.useCallback)(e=>{i&&u?u.setOpenDropdownKey(e?i:null):l(e)},[i,u]),p=(0,r.useMemo)(()=>({dropdownVisible:d,setDropdownVisible:f}),[d,f]);(0,r.useImperativeHandle)(t,()=>({el:o.current}));let m=(0,c.jsx)(`span`,{ref:o,children:(0,c.jsx)(Br.Provider,{value:p,children:n})});return a.title?(0,c.jsx)(Hr,{popupOpen:d,...a,children:m}):m});function Gr(e){let{children:t,overlay:n,disabled:a,align:o,dropdownComponent:s=i.Dropdown}=e,{direction:l}=(0,r.useContext)(i.ConfigContext),{dropdownVisible:u,setDropdownVisible:d}=(0,r.useContext)(Br),f=(0,r.useRef)(null),p=(0,r.useRef)(null);(0,r.useEffect)(()=>{a&&u&&d(!1)},[a,u,d]),(0,r.useEffect)(()=>{var e;let t=(e=f.current)==null?void 0:e.ownerDocument;if(!u||!t)return;let n=e=>{var t,n;let r=e.target,i=typeof(r==null?void 0:r.closest)==`function`&&r.closest(`[data-slot="popover-content"], [role="dialog"]`)!=null;!r||(t=f.current)!=null&&t.contains(r)||(n=p.current)!=null&&n.contains(r)||i||d(!1)};return t.addEventListener(`pointerdown`,n,!0),()=>t.removeEventListener(`pointerdown`,n,!0)},[u,d]);function m(e){d(e)}return(0,c.jsx)(s,{align:o??(l===`rtl`?`end`:`start`),overlay:(0,c.jsx)(`div`,{ref:p,className:`univer-grid univer-gap-2`,children:n}),disabled:a,open:u,onOpenChange:m,children:(0,c.jsx)(`div`,{ref:f,className:`univer-h-full`,onClick:e=>e.stopPropagation(),children:t})})}function Kr({icon:e,value:t,option:n,preserveStrokeWidth:r,onOptionSelect:i}){var a;let o=e=>{i==null||i({...n,value:e})},s=typeof n.label==`string`||typeof n.label==`object`&&((a=n.label)==null?void 0:a.selectable)!==!1,l=s&&String(t)===String(n.value);return(0,c.jsxs)(`div`,{className:`univer-flex univer-w-full univer-items-center univer-justify-between univer-gap-2`,children:[(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-items-center univer-gap-2`,children:(0,c.jsx)($,{className:`univer-text-sm`,icon:e,preserveStrokeWidth:r,value$:n.value$,value:n.value,label:n.label,onChange:o})}),s&&(0,c.jsx)(`span`,{className:`univer-ml-auto univer-flex univer-w-4 univer-flex-shrink-0 univer-justify-end`,children:l&&(0,c.jsx)(mn,{className:`univer-text-primary-600`,preserveStrokeWidth:r})})]})}function qr(e){var t;return String(e.id??e.commandId??e.value??(typeof e.label==`string`?e.label:(t=e.label)==null?void 0:t.name))}function Jr({menuId:e,slot:a,value:o,options:l,children:u,disabled:d,preserveStrokeWidth:f,onOptionSelect:m,dropdownComponent:h,dropdownMenuComponent:_=i.DropdownMenu}){let{dropdownVisible:v,setDropdownVisible:y}=(0,r.useContext)(Br),b=(0,s.useDependency)(Ee),x=(0,s.useDependency)(t.IContextService),S=(0,s.useDependency)(t.IUniverInstanceService),C=(0,s.useDependency)(D),w=(0,r.useRef)(null),T=(0,r.useRef)(null),E=(0,r.useRef)(null),O=E.current;(0,r.useEffect)(()=>{let e=E.current;if(!v||!e)return;let r=S.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,n.switchMap)(e=>e?e.activeSheet$.pipe((0,n.map)(t=>({workbook:e,sheetId:t==null?void 0:t.getSheetId()}))):(0,n.of)(null))).subscribe(t=>{((t==null?void 0:t.workbook.getUnitId())!==e.unitId||(t==null?void 0:t.sheetId)!==e.sheetId)&&(e.valid=!1,w.current=null,y(!1))});return()=>r.unsubscribe()},[v,S,y]),(0,r.useEffect)(()=>()=>{E.current&&=(E.current.valid=!1,null)},[]),(0,r.useEffect)(()=>{if(!v)return;let e=b.forceEscape();return()=>e.dispose()},[v,b]),(0,r.useEffect)(()=>{d&&v&&y(!1)},[d,v,y]);let k=(0,s.useDependency)(J),A=()=>e?k.getMenuByPositionKey(e):[],j=(0,s.useObservable)(()=>k.menuChanged$.pipe((0,n.map)(A),(0,n.startWith)(A())),A(),!1,[e,k]),M=(0,r.useMemo)(()=>{let e=j.map(e=>{var t;return(e.children?(0,n.combineLatest)(e.children.map(e=>{var t;return((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)})).pipe((0,n.map)(e=>e.every(Boolean))):((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)).pipe((0,n.map)(t=>[String(e.key),t]))});return e.length?(0,n.merge)(...e).pipe((0,n.scan)((e,[t,n])=>({...e,[t]:n}),{}),(0,n.startWith)({})):(0,n.of)({})},[j]),N=(0,s.useObservable)(M,{}),P=(0,r.useMemo)(()=>j.filter(e=>{var t;if(!e.children)return!N[e.key];let n=((t=e.key)==null?void 0:t.toString())||``;return!N[n]}),[j,N]);function F(e){if(e){var n;let e=document.activeElement,r=x.getContextValue(t.FOCUSING_SHEET)?S.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET):null,i=r==null||(n=r.getActiveSheet())==null?void 0:n.getSheetId();E.current&&(E.current.valid=!1),E.current=r&&i?{unitId:r.getUnitId(),sheetId:i,valid:!0}:null;let a=p(e);w.current=e instanceof HTMLElement&&e.dataset.uComp===`editor`?{element:e,owner:a}:null}y(e)}function I(e){let t=w.current;if(w.current=null,E.current&&!E.current.valid){e.preventDefault();let t=document.activeElement,n=e.target instanceof HTMLElement&&e.target.contains(t);(t===document.body||n)&&C.focus();return}if(!(t!=null&&t.element.isConnected)||p(t.element)!==t.owner)return;let n=t.element.ownerDocument.activeElement,r=e.target instanceof HTMLElement&&e.target.contains(n);(n===t.element.ownerDocument.body||n===t.element||r)&&(e.preventDefault(),t.element.focus({preventScroll:!0}))}let L=e=>{T.current=e.currentTarget},R=e=>{e.currentTarget.dataset.state===`closed`&&(e.preventDefault(),e.stopPropagation())},z=e=>{let t=T.current,n=t==null?void 0:t.getAttribute(`aria-labelledby`),r=n?t==null?void 0:t.ownerDocument.getElementById(n):null;if(r!=null&&r.contains(e.detail.originalEvent.target)){e.preventDefault();return}w.current&&(!w.current.owner||p(e.target)!==w.current.owner)&&(w.current=null),g(e)};function B(e){g(e)}function V(e){var n,r;let i=O;if(!(i&&i!==E.current)){if(i&&(!i.valid||((n=S.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:n.getUnitId())!==i.unitId||((r=S.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null||(r=r.getActiveSheet())==null?void 0:r.getSheetId())!==i.sheetId)){w.current=null,y(!1);return}m(e),y(!1)}}if(a)return(0,c.jsx)(Gr,{disabled:d,dropdownComponent:h,overlay:l.map(e=>(0,c.jsx)(Kr,{value:o,option:e,preserveStrokeWidth:f,onOptionSelect:V},qr(e))),children:u});if(l!=null&&l.length){var H,U;let e=P.length===0&&l.length===1&&typeof l[0].label==`object`&&((H=l[0].label)==null?void 0:H.hoverable)===!1&&((U=l[0].label.props)==null?void 0:U.embedded)===!0,t=l.map(t=>{var n;return{type:`item`,className:(0,i.clsx)({"focus:univer-bg-gray-0 dark:focus:!univer-bg-gray-800":typeof t.label!=`string`&&((n=t.label)==null?void 0:n.hoverable)===!1,"!univer-p-0":e}),children:(0,c.jsx)(Kr,{icon:t.icon,value:o,option:t,preserveStrokeWidth:f,onOptionSelect:V}),disabled:t.disabled,onSelect:()=>{t.value!==void 0&&V({...t})}}});P.length&&t.push({type:`separator`});for(let e of P){if(!e.item)continue;let{title:n,id:r,commandId:i,icon:a}=e.item;if(!n)throw Error(`Menu item title is required`);t.push({type:`item`,children:(0,c.jsx)(Kr,{icon:a,value:o,preserveStrokeWidth:f,option:{label:{name:n,selectable:!1}}}),onSelect:()=>{V({commandId:i,id:r})}})}return(0,c.jsx)(_,{align:`start`,className:(0,i.clsx)({"!univer-p-0":e}),items:t,disabled:d,open:v,onOpenChange:F,onFocusCapture:L,onPointerMoveCapture:R,onPointerOutCapture:R,onCloseAutoFocus:I,onPointerDownOutside:z,onFocusOutside:B,onInteractOutside:B,children:u})}{let e=[];for(let t of P){var ee;if(t.item){let{title:n,id:r,commandId:i,icon:a}=t.item;if(!n)throw Error(`Menu item title is required`);e.push({type:`item`,children:(0,c.jsx)(Kr,{icon:a,value:o,preserveStrokeWidth:f,option:{label:{name:n,selectable:!1}}}),onSelect:()=>{V({commandId:i,id:r})}})}else(ee=t.children)!=null&&ee.length}return(0,c.jsx)(_,{align:`start`,items:e,disabled:d,open:v,onOpenChange:F,onFocusCapture:L,onPointerMoveCapture:R,onPointerOutCapture:R,onCloseAutoFocus:I,onPointerDownOutside:z,onFocusOutside:B,onInteractOutside:B,children:u})}}let Yr=`univer-pointer-events-none univer-cursor-not-allowed univer-text-gray-300 dark:!univer-text-gray-600`,Xr=(0,i.cva)(`univer-toolbar-button-selector-root univer-animate-in univer-fade-in univer-group univer-relative univer-flex univer-h-6 univer-cursor-pointer univer-items-center univer-rounded univer-pr-5 univer-text-sm univer-transition-colors hover:univer-bg-gray-100 rtl:univer-pl-5 rtl:univer-pr-0 dark:hover:!univer-bg-gray-700`,{variants:{disabled:{true:Yr,false:`univer-text-gray-900 dark:!univer-text-gray-0`}},defaultVariants:{disabled:!1}}),Zr=(0,i.cva)(`univer-toolbar-button-selector-main univer-relative univer-z-[1] univer-flex univer-h-full univer-items-center univer-rounded-l univer-px-1 univer-transition-colors hover:univer-bg-gray-200 rtl:univer-rounded-l-none rtl:univer-rounded-r dark:hover:!univer-bg-gray-600`,{variants:{active:{true:`univer-bg-gray-200 dark:!univer-bg-gray-500`,false:``},disabled:{true:``,false:``}},compoundVariants:[{active:!0,disabled:!0,class:`univer-bg-gray-100`}],defaultVariants:{active:!1,disabled:!1}}),Qr=(0,i.cva)(`univer-toolbar-button-selector-trigger univer-absolute univer-right-0 univer-top-0 univer-box-border univer-flex univer-h-6 univer-w-5 univer-items-center univer-justify-center univer-rounded-r univer-transition-colors hover:univer-bg-gray-200 rtl:univer-left-0 rtl:univer-right-auto rtl:univer-rounded-l rtl:univer-rounded-r-none dark:hover:!univer-bg-gray-600`,{variants:{disabled:{true:Yr,false:``},active:{true:`univer-bg-gray-200 dark:!univer-bg-gray-500`,false:``}},compoundVariants:[{active:!0,disabled:!0,class:`univer-bg-gray-100`}],defaultVariants:{disabled:!1,active:!1}}),$r=(0,i.cva)(`univer-toolbar-selector-root univer-animate-in univer-fade-in univer-relative univer-flex univer-h-6 univer-cursor-pointer univer-items-center univer-gap-2 univer-whitespace-nowrap univer-rounded univer-px-1 univer-transition-colors hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700`,{variants:{disabled:{true:Yr,false:`univer-text-gray-900 dark:!univer-text-gray-0`},active:{true:`univer-bg-gray-200`,false:``}},compoundVariants:[{active:!0,disabled:!0,class:`univer-bg-gray-100`}],defaultVariants:{disabled:!1,active:!1}}),ei=(0,i.cva)(`univer-toolbar-selector-trigger univer-flex univer-h-full univer-items-center`,{variants:{disabled:{true:Yr,false:``}},defaultVariants:{disabled:!1}}),ti=(0,r.forwardRef)((e,a)=>{let o=(0,s.useDependency)(t.LocaleService),l=(0,s.useDependency)(t.ICommandService),u=(0,s.useDependency)(D),d=(0,s.useDependency)(L),{value:f,hidden:p,disabled:m,activated:h}=Fr(e),g=(e,t)=>{u.focus(),l.executeCommand(e,t)},{tooltip:_,shortcut:v,icon:y,title:b,label:x,id:S,commandId:C,type:w,slot:T,params:E,grid:O,large:k,showLabel:A,iconSize:j,iconColor:M,fullWidth:N,preserveStrokeWidth:P,dropdownComponent:F,dropdownMenuComponent:I}=e,R=b??_,z=Ir({id:S,commandId:C,shortcut:v}),B=_?o.t(_):``;z&&(B+=` (${z})`);let{selections:V}=e,H=(0,r.useMemo)(()=>(0,n.isObservable)(V)?V:new n.Observable(e=>{e.next(V)}),[V]),U=(0,s.useObservable)(H),ee=(0,r.useMemo)(()=>(0,n.isObservable)(y)?y:new n.Observable(e=>{var t;let n=(U==null||(t=U.find(e=>e.value===f))==null?void 0:t.icon)??y;e.next(n)}),[y,U,f]),te=(0,s.useObservable)(ee,void 0,!0);function ne(t){let n=e.selectionsCommandId,r=C??S,a=n??C??S,s=O?A?R:k?void 0:b:b,l=typeof x==`string`?x:(x==null?void 0:x.name)??``,u=!!d.get(l),p=_?o.t(_):typeof s==`string`?o.t(s):void 0;function v(e){if(m)return;let t=a;e.id&&(t=e.id);let n=typeof e.params==`function`?e.params(e.value):e.params;g(t,n??{value:e.value})}function w(e){m||g(a,{value:e})}function D(){if(!m&&t===2){let e=typeof E==`function`?E():E;g(r,e??{value:f})}}return t===2?(0,c.jsxs)(`div`,{"data-u-command":S,"data-disabled":m,"aria-disabled":m,className:(0,i.clsx)(Xr({disabled:m}),{"univer-box-border univer-h-full univer-min-w-14 univer-flex-col !univer-pr-0":O&&k,"univer-box-border univer-h-full":O&&!k}),children:[(0,c.jsx)(`div`,{className:(0,i.clsx)(Zr({active:h,disabled:m}),{"univer-h-full univer-w-full univer-flex-col univer-justify-center univer-rounded univer-px-1 univer-pb-4 [&>svg]:univer-size-6":O&&k,"[&>svg]:univer-size-4":O&&!k}),onClick:D,children:(0,c.jsx)($,{icon:te,iconSize:j,preserveStrokeWidth:P,title:s,value:M??f,label:x,onChange:w})}),(0,c.jsx)(Jr,{menuId:S,slot:T,value:f,options:U,disabled:m,preserveStrokeWidth:P,onOptionSelect:v,dropdownComponent:F,dropdownMenuComponent:I,children:(0,c.jsx)(`div`,{className:(0,i.clsx)(Qr({disabled:m,active:h}),{"!univer-top-auto univer-bottom-0 univer-h-4 univer-w-full univer-rounded-b univer-rounded-t-none":O&&k,"univer-h-full":O&&!k}),"data-disabled":m,children:(0,c.jsx)(Bn,{preserveStrokeWidth:P})})})]}):(0,c.jsx)(Jr,{menuId:S,slot:T,value:f,options:U,disabled:m,preserveStrokeWidth:P,onOptionSelect:v,dropdownComponent:F,dropdownMenuComponent:I,children:(0,c.jsx)(`div`,{"data-u-command":S,role:u?void 0:`button`,tabIndex:u?void 0:m?-1:0,"aria-disabled":u?void 0:m,"aria-label":u?void 0:p,className:(0,i.clsx)($r({disabled:m,active:h}),{"univer-box-border univer-h-full univer-min-w-14 univer-flex-col univer-justify-center univer-gap-1 univer-px-1.5 univer-py-1 univer-text-xs [&>svg]:univer-size-6":O&&k,"univer-box-border univer-h-full":O&&!k,"univer-bg-gray-0 dark:!univer-bg-gray-800":O&&!k&&!y,"[&>svg]:univer-size-4":O&&!k},O&&!k&&!y&&i.borderClassName),children:O&&k?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)($,{icon:te,iconSize:j,preserveStrokeWidth:P}),(0,c.jsxs)(`div`,{className:(0,i.clsx)(ei({disabled:m}),`univer-h-4 univer-justify-center univer-gap-0.5`),children:[(0,c.jsx)($,{title:s,value:f,label:x,onChange:w}),(0,c.jsx)(Bn,{preserveStrokeWidth:P})]})]}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)($,{icon:te,iconSize:j,preserveStrokeWidth:P,title:s,value:f,label:x,onChange:w}),(0,c.jsx)(`div`,{className:(0,i.clsx)(ei({disabled:m}),{"univer-ml-auto rtl:univer-ml-0 rtl:univer-mr-auto":O&&!k&&!y}),children:(0,c.jsx)(Bn,{preserveStrokeWidth:P})})]})})})}function W(){let t=d.get(typeof x==`string`?x:(x==null?void 0:x.name)??``),n=_?o.t(_):typeof b==`string`?o.t(b):void 0,r=(0,i.clsx)(O&&!k&&`[&>svg]:univer-size-4`,O&&k?`univer-h-full univer-min-w-14 univer-flex-col univer-gap-1 univer-px-1.5 univer-py-1 univer-text-xs [&>svg]:univer-size-6`:A?`univer-gap-1 univer-px-1.5 univer-text-sm`:`univer-text-sm`,O&&N&&t&&`!univer-px-0`),a=O&&k?{textAlign:`center`,whiteSpace:`normal`}:void 0;if(t){let e=typeof x==`string`||(x==null?void 0:x.hoverable)!==!1;return(0,c.jsx)(`span`,{"data-u-command":S,className:(0,i.clsx)(Rr({noIcon:!y,active:h,className:(0,i.clsx)(r,!e&&`univer-cursor-default !univer-bg-transparent hover:!univer-bg-transparent dark:hover:!univer-bg-transparent`)})),style:a,"aria-disabled":m,children:(0,c.jsx)($,{className:O&&N?`!univer-w-full`:void 0,title:O&&A?R:b,value:f,label:x})})}return(0,c.jsx)(zr,{"data-u-command":S,"aria-label":n,className:r,style:a,noIcon:!y,active:h,"aria-pressed":e.activated$?h:void 0,disabled:m,onClick:t=>{if(e.subId&&t.detail>1)return;let n=typeof E==`function`?E():E;g(e.commandId??e.id,n??(f===void 0?void 0:{value:f}))},onDoubleClick:()=>e.subId&&g(e.subId),children:y?(0,c.jsx)($,{icon:y,iconSize:j,preserveStrokeWidth:P,title:O&&(k||A)?R:void 0}):(0,c.jsx)($,{title:b})})}function re(){switch(w){case 2:case 1:case 3:return ne(w);default:return W()}}return!p&&(0,c.jsx)(Wr,{ref:a,title:B,placement:`bottom`,dropdownKey:S,children:re()})});function ni({groups:e,title:n,className:r,...a}){let o=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`div`,{...a,"data-testid":`ribbon-grid-toolbar`,"data-u-comp":`ribbon-grid-toolbar`,className:(0,i.clsx)(`univer-box-border univer-flex univer-overflow-x-auto univer-overflow-y-hidden univer-bg-gray-50 univer-px-2 univer-text-sm dark:!univer-bg-gray-900`,i.borderBottomClassName,i.scrollbarClassName,r),role:`toolbar`,"aria-label":o.t(n),children:(0,c.jsx)(Ur,{children:e.map(e=>{let t=jr(e.children??[]);return(0,c.jsxs)(`div`,{"data-u-comp":`ribbon-grid-group`,className:`univer-relative univer-box-border univer-flex univer-min-w-16 univer-shrink-0 univer-flex-col univer-px-2`,children:[(0,c.jsx)(`div`,{"data-testid":`ribbon-grid-group-grid`,className:`univer-grid univer-min-h-0 univer-flex-1 univer-grid-flow-col univer-grid-rows-[repeat(2,1.5rem)] univer-content-center univer-gap-2 univer-py-2 [&>div>span>span]:univer-h-full`,children:t.map(e=>e.item.item&&(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-flex univer-items-stretch [&>span>button]:univer-h-full [&>span]:univer-h-full`,e.width&&`[&>span>span]:univer-w-full [&>span]:univer-w-full [&_[data-u-command]]:univer-w-full`),style:{gridRow:`${e.row} / span ${e.rowSpan}`,gridColumn:`${e.column} / span ${e.columnSpan}`,width:e.width},children:(0,c.jsx)(ti,{...e.item.item,grid:!0,large:e.rowSpan>1,showLabel:e.showLabel,iconSize:e.iconSize,fullWidth:e.width!==void 0,preserveStrokeWidth:!0})},e.item.key))}),(0,c.jsx)(`span`,{"data-testid":`ribbon-grid-group-divider`,className:(0,i.clsx)(`univer-pointer-events-none univer-absolute univer-bottom-1.5 univer-right-0 univer-top-3.5 !univer-border-gray-300 univer-opacity-50 rtl:univer-left-0 rtl:univer-right-auto`,i.borderRightClassName),"aria-hidden":`true`})]},e.key)})})})}function ri(e){let{ribbonType:n,headerMenuComponents:a,headerMenu:o=!0,toolbarOnly:l=!1,headerClassName:u}=e,d=(0,s.useDependency)(rt),f=(0,s.useDependency)(Tr),p=(0,s.useDependency)(t.LocaleService),m=(0,s.useObservable)(f.override$,f.getOverride()),h=(m==null?void 0:m.ribbonService)??d,g=(0,r.useRef)(null),_=(0,r.useRef)(0),v=(0,r.useRef)({}),y=(0,s.useObservable)(h.ribbon$,[]),b=(0,s.useObservable)(h.activatedTab$,`ribbon.start`),x=(0,s.useObservable)(h.collapsedIds$,[]),S=(0,s.useObservable)(h.fakeToolbarVisible$,!1),C=(m==null?void 0:m.hideToolbar)===!0,w=(0,r.useMemo)(()=>{if(n===`simple`){let e=[{key:`ribbon.start`,children:[],order:0}];return y.forEach(t=>{var n;(n=t.children)==null||n.forEach(t=>{var n;(n=e[0].children)==null||n.push(t)})}),e}return y},[n,y]),T=n===`simple`?`ribbon.start`:b,E=(0,r.useMemo)(()=>{var e;return((e=w.find(e=>e.key===T))==null?void 0:e.title)||T},[w,T]),D=(0,r.useCallback)(e=>{v.current={},h.setActivatedTab(e.key)},[h]),O=(0,r.useMemo)(()=>{var e;let t=((e=w.find(e=>e.key===T))==null?void 0:e.children)??[],n=[],r=[];for(let e of t)if(e.children){let t=e.children.filter(e=>!x.includes(e.key));t.length>0&&n.push({...e,children:t}),t.length<e.children.length&&r.push({...e,children:e.children.filter(e=>x.includes(e.key))})}return{allGroups:t,visibleGroups:n,hiddenGroups:r}},[x,w,T]);(0,r.useLayoutEffect)(()=>{if(C||n===`grid`){v.current={},h.setCollapsedIds([]),h.setFakeToolbarVisible(!1);return}if(!g.current)return;let e=new ResizeObserver((0,t.throttle)(e=>{for(let t of e)_.current=t.contentRect.width,h.setFakeToolbarVisible(!0)},10));return e.observe(g.current),_.current=g.current.getBoundingClientRect().width,h.setFakeToolbarVisible(!0),()=>{e.disconnect()}},[C,w,T,h,n]);let k=(0,r.useMemo)(()=>(0,c.jsx)(`div`,{"aria-hidden":`true`,className:(0,i.clsx)(`univer-invisible univer-absolute -univer-left-[99999] -univer-top-[99999] univer-box-border univer-flex univer-h-10 univer-min-w-min univer-items-center univer-px-3 univer-opacity-0`,{"univer-hidden":!S},i.divideXClassName,i.borderBottomClassName),children:O.allGroups.map((e,t)=>{var n,i;return(((n=e.children)==null?void 0:n.length)||e.item)&&(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(`div`,{className:`univer-grid univer-shrink-0 univer-grid-flow-col univer-gap-2 univer-px-2 empty:univer-hidden`,children:e.children&&((i=e.children)==null?void 0:i.map(n=>n.item&&(0,c.jsx)(ti,{...n.item,preserveStrokeWidth:!0,ref:r=>{r!=null&&r.el?v.current[n.key]={el:r.el,key:n.key,order:t,groupOrder:e.order,itemOrder:n.order}:delete v.current[n.key]}},n.key)))})},e.key)})}),[O.allGroups,S]);(0,r.useLayoutEffect)(()=>{var e;if(!S||C||n===`grid`)return;let t=Object.values(v.current).sort((e,t)=>e.order-t.order||e.groupOrder-t.groupOrder||e.itemOrder-t.itemOrder),r=[],i=32+((((e=w.find(e=>e.key===T))==null?void 0:e.children)??[]).length-1)*8;for(let{el:e,key:n}of t)i+=e.getBoundingClientRect().width+8,i>_.current&&r.push(n);h.setCollapsedIds(r),h.setFakeToolbarVisible(!1)},[T,S,C,w,h,n]);let A=m?{"data-embed-ribbon-override":`true`,"data-embed-id":m.id}:{},j=(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(`div`,{"data-u-comp":`ribbon-header-menu`,...A,className:(0,i.clsx)(`univer-relative univer-select-none`,u,{"univer-hidden":l,"univer-h-8":!l&&n===`grid`,"univer-h-9":!l&&n!==`grid`&&(n===`classic`||a&&a.size>0)}),children:[!l&&(m==null?void 0:m.placeholderTitle)&&w.length===0&&(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-flex univer-h-9 univer-items-end univer-px-3`,{"univer-justify-center":C}),children:(0,c.jsx)(`span`,{className:`univer-relative univer-inline-flex univer-h-8 univer-items-center univer-justify-center univer-rounded-t univer-bg-primary-50 univer-px-3 univer-text-sm univer-font-medium univer-text-primary-600`,children:m.placeholderTitle})}),!l&&n===`classic`&&w.length>=1&&(0,c.jsx)(Dr,{ribbon:w,activatedTab:b,onSelectTab:D}),!l&&n===`grid`&&w.length>=1&&(0,c.jsx)(Ar,{ribbon:w,activatedTab:b,onSelectTab:D}),o&&a&&a.size>0&&(0,c.jsx)(`div`,{className:`univer-absolute univer-right-2 univer-top-0 univer-flex univer-h-full univer-flex-row univer-items-center univer-gap-2 rtl:univer-left-2 rtl:univer-right-auto [&>*]:univer-inline-flex [&>*]:univer-h-6 [&>*]:univer-items-center [&>*]:univer-rounded [&>*]:univer-px-1 [&>*]:univer-transition-colors hover:[&>*]:univer-bg-gray-100`,children:(0,c.jsx)(Z,{components:a})})]}),!C&&n===`grid`&&(0,c.jsx)(ni,{...A,groups:O.allGroups,title:E}),!C&&n!==`grid`&&(0,c.jsxs)(`div`,{...A,className:(0,i.clsx)(`univer-box-border univer-grid univer-h-10 univer-grid-flow-col univer-items-center univer-px-3 univer-text-sm`,{"univer-grid-cols-[1fr] univer-justify-center":n===`classic`||w.length===1,"univer-grid-cols-[auto,1fr]":w.length>1&&n!==`classic`},i.borderBottomClassName),children:[n===`collapsed`&&w.length>=1&&(0,c.jsx)(kr,{ribbon:w,activatedTab:b,onSelectTab:D}),(0,c.jsx)(`div`,{"data-u-comp":`ribbon-toolbar`,ref:g,className:(0,i.clsx)(`univer-flex univer-overflow-hidden`,i.divideXClassName,{"univer-justify-center":n===`classic`}),role:`toolbar`,"aria-label":p.t(E),children:(0,c.jsxs)(Ur,{children:[O.visibleGroups.map(e=>{var t,n;return(((t=e.children)==null?void 0:t.length)||e.item)&&(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(`div`,{className:`univer-grid univer-shrink-0 univer-grid-flow-col univer-gap-2 univer-px-2 empty:univer-hidden`,children:e.children&&((n=e.children)==null?void 0:n.map(e=>e.item&&(0,c.jsx)(ti,{...e.item,preserveStrokeWidth:!0},e.key)))})},e.key)}),x.length>0&&(0,c.jsx)(`div`,{className:`univer-pl-2 rtl:univer-pr-2`,children:(0,c.jsx)(i.Dropdown,{collisionPadding:{right:12,left:12},onOpenAutoFocus:e=>e.preventDefault(),overlay:(0,c.jsx)(`div`,{className:`univer-box-border univer-grid univer-max-w-[--radix-popper-available-width] univer-gap-2 univer-p-2`,children:O.hiddenGroups.map(e=>{var t;return(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:(0,c.jsx)(`div`,{className:`univer-flex univer-flex-wrap univer-gap-2`,children:e.children?(t=e.children)==null?void 0:t.map(e=>e.item&&(0,c.jsx)(ti,{...e.item,preserveStrokeWidth:!0},e.key)):e.item&&(0,c.jsx)(ti,{...e.item,preserveStrokeWidth:!0},e.key)})},e.key)})}),children:(0,c.jsx)(`button`,{type:`button`,className:Lr,children:(0,c.jsx)(Jn,{preserveStrokeWidth:!0})})})})]},T)})]}),n!==`grid`&&k]});return(0,c.jsx)(ii,{override:m,children:j})}function ii(e){let{override:t,children:n}=e,a=(0,r.useContext)(i.ConfigContext),o=t==null?void 0:t.injector,l=(0,r.useMemo)(()=>o?(0,s.connectInjector)(ai,o):null,[o]);return!t||!l?n:(0,c.jsx)(l,{locale:a.locale,direction:a.direction,mountContainer:t.portalContainer??a.mountContainer,children:n})}function ai(e){let{children:t,locale:n,direction:r,mountContainer:a}=e;return(0,c.jsx)(i.ConfigProvider,{locale:n,direction:r,mountContainer:a,children:t})}var oi=class extends t.Disposable{constructor(...e){super(...e),S(this,`_styleSheetId`,`univer-theme-css-variables`)}injectThemeToHead(e){function t(e,t=`--univer`){let n=[];function r(e,i=``){for(let a in e){let o=e[a],s=i?`${i}-${a}`:a;typeof o==`object`&&o?r(o,s):n.push(`${t}-${s}: ${o};`)}}return r(e),n.join(`
18
+ `)}let n=t(e),r=document.getElementById(this._styleSheetId);r&&r.remove();let i=document.createElement(`style`);i.setAttribute(`id`,this._styleSheetId),i.textContent=`:root {\n${n}\n}`,document.head.appendChild(i)}dispose(){super.dispose()}};let si=(0,t.createIdentifier)(`ui.contextmenu.service`);var ci=class extends t.Disposable{constructor(...e){super(...e),S(this,`_currentHandler`,null),S(this,`disabled`,!1)}get visible(){var e;return((e=this._currentHandler)==null?void 0:e.visible)??!1}disable(){this.disabled=!0}enable(){this.disabled=!1}triggerContextMenu(e,t,n){var r;e.stopPropagation(),!this.disabled&&((r=this._currentHandler)==null||r.handleContextMenu(e,t,n))}hideContextMenu(){var e;(e=this._currentHandler)==null||e.hideContextMenu()}registerContextMenuHandler(e){if(this._currentHandler)throw Error(`There is already a context menu handler!`);return this._currentHandler=e,(0,t.toDisposable)(()=>this._currentHandler=null)}};let li=(0,t.createIdentifier)(`ui.contextmenu.host.service`);var ui=class extends t.Disposable{constructor(...e){super(...e),S(this,`_menuMap`,new Map),S(this,`_activeMenuId$`,new n.BehaviorSubject(null)),S(this,`activeMenuId$`,this._activeMenuId$.asObservable())}get activeMenuId(){return this._activeMenuId$.value}registerMenu(e,n){return this._menuMap.set(e,n),(0,t.toDisposable)(()=>{this._menuMap.delete(e),this.activeMenuId===e&&this._activeMenuId$.next(null)})}activateMenu(e){this.hideActiveMenu(e),this._activeMenuId$.next(e)}deactivateMenu(e){this.activeMenuId===e&&this._activeMenuId$.next(null)}hideActiveMenu(e){let t=this.activeMenuId;if(!t||t===e)return;let n=this._menuMap.get(t);this._activeMenuId$.next(null),n==null||n()}dispose(){this._activeMenuId$.complete(),super.dispose()}};function di(e,t){let n=qt(()=>{if(!e||!t)return;let n=e.style,{y:r,height:i}=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=e.scrollHeight>i,s=r<0||r+i>a.height;if(!s&&!o){n.overflowY=``,n.maxHeight=``;return}s&&(n.overflowY=`auto`,n.maxHeight=r<0?`${e.scrollHeight+r}px`:`${a.height-r}px`)});(0,r.useEffect)(()=>{if(!(0,i.isBrowser)()||!e||!t)return;n();let r=new ResizeObserver(n);return r.observe(e),()=>{r.disconnect()}},[e,t])}function fi(e){let n=(0,s.useDependency)(t.IConfigService);return(0,s.useObservable)((0,r.useMemo)(()=>n.subscribeConfigValue$(e),[n]),n.getConfig(e))}function pi(e){let t=new Set(e),n=e=>{(e.ctrlKey||e.metaKey)&&e.preventDefault()},r=e=>e.preventDefault();return t.forEach(e=>{e.addEventListener(`wheel`,n,{capture:!0,passive:!1}),e.addEventListener(`gesturestart`,r,{capture:!0,passive:!1}),e.addEventListener(`gesturechange`,r,{capture:!0,passive:!1})}),()=>{t.forEach(e=>{e.removeEventListener(`wheel`,n,!0),e.removeEventListener(`gesturestart`,r,!0),e.removeEventListener(`gesturechange`,r,!0)})}}let mi=(0,i.cva)(`univer-menu-item-group univer-px-0`,{variants:{variant:{default:`univer-gap-1.5 univer-p-0.5`,paragraphT:`univer-gap-2 univer-p-1`,compactParagraph:`univer-gap-0.5 univer-p-0`},layout:{grid:`univer-grid`,wrap:`univer-flex univer-flex-wrap`},columnsSix:{true:`univer-grid-cols-6`,false:``}},compoundVariants:[{variant:`compactParagraph`,layout:`grid`,class:`univer-justify-items-start`},{variant:[`default`,`paragraphT`],layout:`grid`,class:`univer-justify-items-center`}],defaultVariants:{variant:`default`,layout:`wrap`,columnsSix:!1}}),hi=(0,i.cva)(`univer-flex univer-cursor-pointer univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 focus:univer-bg-gray-50 focus:univer-outline-none dark:focus:!univer-bg-gray-900`,{variants:{variant:{default:`univer-size-6 univer-rounded-md`,paragraphT:`univer-size-8 univer-rounded-lg`,compactParagraph:`univer-size-6 univer-rounded-sm`},hoverSuppressed:{true:``,false:`hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-900`},active:{true:`univer-bg-gray-50 dark:!univer-bg-gray-900`,false:``}},defaultVariants:{variant:`default`,hoverSuppressed:!1,active:!1}}),gi=(0,i.cva)(`univer-text-gray-900 dark:!univer-text-gray-200`,{variants:{variant:{default:`univer-size-4`,paragraphT:`univer-size-5`,compactParagraph:`univer-size-5`}},defaultVariants:{variant:`default`}});function _i(e,t){return e===`paragraph-t`&&t===`compact`?`compactParagraph`:e===`paragraph-t`?`paragraphT`:`default`}function vi(e,t){if(!(!e||e===6&&t!==`compactParagraph`))return`repeat(${e}, max-content)`}function yi({items:e,columns:t,sizeVariant:n=`default`,layoutVariant:r=`default`,hoverSuppressed:a=!1}){let o=_i(n,r),s=o!=="default",l=vi(t,o);return(0,c.jsx)(`div`,{className:mi({variant:o,layout:t?`grid`:`wrap`,columnsSix:t===6&&o!==`compactParagraph`}),style:l?{gridTemplateColumns:l}:void 0,children:e.map(e=>{let t=!s&&e.tooltip,n=(0,c.jsx)(`button`,{type:`button`,"aria-label":e.tooltip??e.key,title:t?e.tooltip:void 0,className:hi({variant:o,hoverSuppressed:a,active:e.active,className:e.className}),onClick:()=>e.onClick(),children:(0,c.jsx)(e.Icon,{className:gi({variant:o,className:e.iconClassName}),extend:{colorChannel1:`var(--univer-primary-600)`}})},e.key);return t?(0,c.jsx)(i.Tooltip,{className:`univer-fill-mode-backwards univer-pointer-events-none univer-delay-100`,title:e.tooltip,children:n},e.key):n})})}let bi=[],xi=[],Si=(0,i.cva)(`univer-relative univer-box-border univer-flex univer-size-12 univer-w-full univer-appearance-none univer-flex-col univer-items-center univer-justify-center univer-gap-0.5 univer-rounded-lg univer-border-none univer-bg-gray-0 univer-p-0 univer-font-medium univer-text-gray-700 univer-outline-none univer-transition-all focus-visible:univer-ring-2 focus-visible:univer-ring-primary-600 focus-visible:univer-ring-offset-0 dark:!univer-bg-gray-700 dark:!univer-text-gray-100`,{variants:{disabled:{true:`univer-cursor-not-allowed univer-opacity-60`,false:`univer-cursor-pointer hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600`},active:{true:`univer-bg-primary-50 univer-text-primary-700 univer-ring-1 univer-ring-primary-600 dark:!univer-bg-primary-900 dark:!univer-text-primary-100`,false:``}},defaultVariants:{disabled:!1,active:!1}});function Ci(e,t,n){return n?!!(e&&n.includes(e)):t}function wi(e){var t;return((t=e.item)==null?void 0:t.id)??e.key}function Ti(e,t){let n=new Set(t);return e.filter(e=>!n.has(wi(e)))}function Ei(e){let{menuSchema:n,activeItemIds:r,onOptionSelect:i}=e,a=(0,s.useDependency)(z),o=(0,s.useDependency)(t.LocaleService),l=n.item,u=(0,s.useObservable)(l==null?void 0:l.disabled$,!1),d=(0,s.useObservable)(l==null?void 0:l.hidden$,!1),f=(0,s.useObservable)(l==null?void 0:l.activated$,!1);if(!l||d)return null;let p=l.icon?a.get(l.icon):null,m=Ci(l.id,f,r);return(0,c.jsxs)(`button`,{type:`button`,className:Si({disabled:u,active:m}),disabled:u,onClick:()=>{u||i==null||i({label:l.id??n.key,commandId:l.commandId,id:l.id,params:l.params,value:l.value,tooltip:l.tooltip&&o.t(l.tooltip)})},children:[p&&(0,c.jsx)(p,{className:`univer-text-base`,extend:{colorChannel1:`var(--univer-primary-600)`}}),(0,c.jsx)(`span`,{className:`univer-break-words univer-text-center univer-text-xs univer-leading-4`,children:l.title?o.t(l.title):n.key})]})}function Di(e){let{item:i,activeItemIds:a,hiddenItemIds:o=bi,hoverSuppressed:l,columns:u,sizeVariant:d=`default`,layoutVariant:f=`default`,onOptionSelect:p}=e,m=(0,s.useDependency)(z),h=(0,s.useDependency)(t.LocaleService),g=i.children??xi,_=(0,r.useMemo)(()=>g.length?(0,n.combineLatest)(g.map(e=>{var t;return(((t=e.item)==null?void 0:t.activated$)??(0,n.of)(!1)).pipe((0,n.startWith)(!1))})).pipe((0,n.map)(e=>g.flatMap((t,n)=>e[n]?[wi(t)]:[]))):(0,n.of)([]),[g]),v=(0,r.useMemo)(()=>g.length?(0,n.combineLatest)(g.map(e=>{var t;return(((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)).pipe((0,n.startWith)(!1))})).pipe((0,n.map)(e=>g.flatMap((t,n)=>e[n]?[wi(t)]:[]))):(0,n.of)([]),[g]),y=(0,s.useObservable)(_,[]),b=(0,s.useObservable)(v,[]),x=(0,r.useMemo)(()=>Ti(i.children??[],[...b,...o]),[o,b,i.children]);if(!i.children)return null;let S=x.map(e=>{var t,n,r,i,o;let s=(t=e.item)!=null&&t.icon?m.get(e.item.icon):void 0;return s?{key:e.key,onClick:()=>{var t,n,r,i,a,o,s;p==null||p({label:((t=e.item)==null?void 0:t.id)??e.key,commandId:(n=e.item)==null?void 0:n.commandId,id:(r=e.item)==null?void 0:r.id,params:(i=e.item)==null?void 0:i.params,value:(a=e.item)==null?void 0:a.value,tooltip:((o=e.item)==null?void 0:o.tooltip)&&h.t((s=e.item)==null?void 0:s.tooltip)})},className:``,iconClassName:((n=e.item)==null?void 0:n.icon)===`TextTypeIcon`?d===`paragraph-t`?`!univer-size-4`:`!univer-size-3.5`:void 0,Icon:s,active:Ci((r=e.item)==null?void 0:r.id,y.includes(((i=e.item)==null?void 0:i.id)??``),a),tooltip:(o=e.item)!=null&&o.tooltip?h.t(e.item.tooltip):void 0}:null}).filter(e=>e!=null);return(0,c.jsx)(yi,{columns:u,sizeVariant:d,layoutVariant:f,hoverSuppressed:l,items:S})}function Oi(e){var t;let{item:n,activeItemIds:r,hiddenItemIds:i=bi,onOptionSelect:a}=e;return(t=n.children)!=null&&t.length?(0,c.jsx)(`div`,{className:`univer-item-center univer-grid univer-grid-cols-3 univer-gap-1.5 univer-py-1`,children:Ti(n.children,i).map(e=>(0,c.jsx)(Ei,{menuSchema:e,activeItemIds:r,onOptionSelect:a},e.key))}):null}let ki=new Set([`quickTop`,`quickBottom`]),Ai=new Set([`quickTop`,`quickBottom`]),ji=new Set([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`]),Mi=(0,i.cva)(`univer-inline-flex univer-items-center`,{variants:{sizeVariant:{default:`univer-gap-2`,"paragraph-t":`univer-gap-3`}},defaultVariants:{sizeVariant:`default`}}),Ni=(0,i.cva)(`univer-box-border univer-grid univer-max-w-full univer-overflow-y-auto univer-overscroll-contain univer-rounded-md univer-bg-gray-0 univer-text-gray-900 univer-shadow-md dark:!univer-bg-gray-700 dark:!univer-text-gray-0`,{variants:{sizeVariant:{default:`univer-min-w-52 univer-gap-1 univer-px-2 univer-py-1 univer-text-sm`,"paragraph-t":`univer-min-w-64 univer-gap-2 univer-px-3 univer-py-2 univer-text-base`}},defaultVariants:{sizeVariant:`default`}}),Pi=(0,i.cva)(`univer-grid`,{variants:{sizeVariant:{default:`univer-gap-1 univer-py-1`,"paragraph-t":`univer-gap-2 univer-py-2`}},defaultVariants:{sizeVariant:`default`}}),Fi=(0,i.cva)(`univer-grid`,{variants:{sizeVariant:{default:`univer-gap-1 univer-py-1`,"paragraph-t":`univer-gap-2 univer-py-2`},connection:{none:``,previous:``,next:``,both:``}},compoundVariants:[{sizeVariant:`paragraph-t`,connection:`previous`,class:`univer-pb-2 univer-pt-1`},{sizeVariant:`paragraph-t`,connection:`next`,class:`univer-pb-1 univer-pt-2`},{sizeVariant:`paragraph-t`,connection:`both`,class:`univer-pb-1 univer-pt-1`}],defaultVariants:{sizeVariant:`default`,connection:`none`}}),Ii=(0,i.cva)(`univer-grid`,{variants:{sizeVariant:{default:`univer-gap-1 univer-py-1`,"paragraph-t":`univer-gap-0 univer-py-2`}},defaultVariants:{sizeVariant:`default`}}),Li=(0,i.cva)(`univer-font-semibold univer-text-gray-600 dark:!univer-text-gray-300`,{variants:{sizeVariant:{default:`univer-px-2 univer-text-xs`,"paragraph-t":`univer-px-3 univer-text-sm`}},defaultVariants:{sizeVariant:`default`}}),Ri=(0,i.cva)(`univer-flex univer-items-center univer-justify-between`,{variants:{sizeVariant:{default:`univer-gap-1.5`,"paragraph-t":`univer-gap-2`}},defaultVariants:{sizeVariant:`default`}}),zi=(0,i.cva)(`univer-overflow-y-auto univer-overscroll-contain univer-rounded-md univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-shadow-md dark:!univer-border-gray-600 dark:!univer-bg-gray-700`,{variants:{sizeVariant:{default:`univer-p-1.5`,"paragraph-t":`univer-p-2`}},defaultVariants:{sizeVariant:`default`}}),Bi=(0,i.cva)(`univer-relative univer-flex univer-border-none univer-bg-transparent univer-text-left univer-text-gray-900 dark:!univer-text-gray-0`,{variants:{sizeVariant:{default:``,"paragraph-t":``},variant:{default:``,compact:``,compactHeaderAction:``},disabled:{true:`univer-cursor-not-allowed univer-opacity-60`,false:`univer-cursor-pointer focus:univer-bg-gray-50 focus:univer-outline-none dark:focus:!univer-bg-gray-600`},hoverSuppressed:{true:``,false:``},active:{true:`univer-bg-gray-200 dark:!univer-bg-gray-600`,false:``}},compoundVariants:[{sizeVariant:`default`,variant:`default`,class:`univer-min-h-8 univer-w-full univer-items-center univer-justify-between univer-gap-3 univer-rounded-md univer-px-2 univer-text-sm`},{sizeVariant:`default`,variant:`compact`,class:`univer-size-8 univer-items-center univer-justify-center univer-rounded-md univer-p-0 univer-text-sm`},{sizeVariant:`default`,variant:`compactHeaderAction`,class:`univer-size-7 univer-items-center univer-justify-center univer-rounded-sm univer-p-0 univer-text-sm`},{sizeVariant:`paragraph-t`,variant:`default`,class:`univer-min-h-10 univer-w-full univer-items-center univer-justify-between univer-gap-4 univer-rounded-lg univer-px-3 univer-text-base`},{sizeVariant:`paragraph-t`,variant:`compact`,class:`univer-size-10 univer-items-center univer-justify-center univer-rounded-lg univer-p-0 univer-text-base`},{sizeVariant:`paragraph-t`,variant:`compactHeaderAction`,class:`univer-size-8 univer-items-center univer-justify-center univer-rounded-md univer-p-0 univer-text-base`},{disabled:!1,hoverSuppressed:!1,class:`hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600`}],defaultVariants:{sizeVariant:`default`,variant:`default`,disabled:!1,hoverSuppressed:!1,active:!1}});function Vi(e){return typeof e==`object`&&(e==null?void 0:e.selectable)===!1}function Hi(e){return typeof e==`object`&&(e==null?void 0:e.hoverable)===!1}function Ui(e){var t;return e.item?!0:(t=e.children)!=null&&t.length?e.children.some(e=>!!e.item):!1}function Wi(e,t){if(t===e.length-1)return!1;let n=e[t],r=e[t+1];return!(n!=null&&n.quickLayout&&r!=null&&r.quickLayout&&ki.has(n.key)&&ki.has(r.key))}function Gi(e){if((0,t.isRealNum)(e.quickColumns))return e.quickColumns;if(e.quickLayout===`icon`&&Ai.has(e.key))return 6}function Ki(e,t,n){return!e||!(t!=null&&t.contains(e)||n!=null&&n.contains(e))}function qi(e){return Mi({sizeVariant:e})}function Ji(e){return Ni({sizeVariant:e})}function Yi(e){return Pi({sizeVariant:e})}function Xi(e){return e.quickLayout===`icon`&&Ai.has(e.key)}function Zi(e,t){return Xi(e)&&!!t&&Xi(t)}function Qi(e,t,n,r){if(r!==`paragraph-t`||!Ai.has(e.key))return Yi(r);let i=n>0?t[n-1]:null,a=n<t.length-1?t[n+1]:null,o=!!(i!=null&&i.quickLayout)&&Ai.has(i.key),s=!!(a!=null&&a.quickLayout)&&Ai.has(a.key);return Fi({sizeVariant:r,connection:o&&s?`both`:o?`previous`:s?`next`:`none`})}function $i(e){return Ii({sizeVariant:e})}function ea(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function ta(e){let t=[...e].sort((e,t)=>{let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top-r.top||n.left-r.left}),n=[];for(let e of t){let t=e.getBoundingClientRect(),r=t.top+t.height/2,i=n.find(e=>{let n=e[0].getBoundingClientRect(),i=n.top+n.height/2,a=Math.max(4,Math.max(n.height,t.height)/2);return Math.abs(i-r)<=a});i?i.push(e):n.push([e])}return n.forEach(e=>e.sort((e,t)=>e.getBoundingClientRect().left-t.getBoundingClientRect().left)),n}function na(e){return[...e].sort((e,t)=>{let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top-r.top||n.left-r.left})[0]}function ra(e,t,n){var r;let i=n===`ArrowDown`||n===`ArrowRight`?1:-1,a=e[t<0?i>0?0:e.length-1:(t+i+e.length)%e.length],o=t>=0?e[t]:null;if(!o)return a;let s=ta(e),c=s.findIndex(e=>e.includes(o)),l=s[c];if(l&&(n===`ArrowRight`||n===`ArrowLeft`))return l[l.indexOf(o)+(n===`ArrowRight`?1:-1)]??a;if(l&&(n===`ArrowDown`||n===`ArrowUp`)){let e=s[c+(n===`ArrowDown`?1:-1)];if(e){let t=ea(o);return[...e].sort((e,n)=>Math.abs(ea(e).x-t.x)-Math.abs(ea(n).x-t.x))[0]??a}}let u=ea(o);return((r=e.filter(e=>e!==o).map(e=>{let t=ea(e),r=t.x-u.x,i=t.y-u.y;if(!(n===`ArrowRight`?r>0:n===`ArrowLeft`?r<0:n===`ArrowDown`?i>0:i<0))return null;let a=Math.abs(n===`ArrowRight`||n===`ArrowLeft`?r:i),o=Math.abs(n===`ArrowRight`||n===`ArrowLeft`?i:r);return{button:e,score:a*1e3+o}}).filter(e=>e!=null).sort((e,t)=>e.score-t.score)[0])==null?void 0:r.button)??a}function ia(e,t=!1){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=e[r+1];if(t&&Zi(i,a)){n.push({startIndex:r,endIndex:r+1,menuSchemas:[i,a]}),r+=1;continue}n.push({startIndex:r,endIndex:r,menuSchemas:[i]})}return n}function aa(e){let t=e[0];return{...t,key:e.map(e=>e.key).join(`-`),quickColumns:Gi(t),children:e.flatMap(e=>e.children??[])}}function oa(e){return Li({sizeVariant:e})}function sa(e){return Ri({sizeVariant:e})}function ca(e){return zi({sizeVariant:e})}function la(e){var t;let{menuType:a,menuManagerService:o,layoutService:l,menuSessionVersion:u=0,className:d,activeItemIds:f,hiddenItemIds:p,flowQuickGroups:m,sizeVariant:h=`default`,autoFocus:g,autoFocusTarget:_=`first-item`,suppressHoverUntilPointerMove:v=!1,onCancel:y,onMenuPointerEnter:b,onMenuPointerLeave:x,onOptionSelect:S}=e,C=(0,s.useDependency)(J),w=(0,s.useDependency)(D),T=o??C,E=l??w,[O,k]=(0,r.useState)(null),[A,j]=(0,r.useState)(()=>typeof window>`u`?240:Math.max(120,window.innerHeight-16)),[M,N]=(0,r.useState)(v),P=(0,r.useMemo)(()=>T.menuChanged$.pipe((0,n.startWith)(void 0),(0,n.scan)(e=>e+1,0)),[T]),F=(0,s.useObservable)(P,0),I=(0,r.useMemo)(()=>a?T.getMenuByPositionKey(a):[],[T,a,F,u]),L=((t=E.rootContainerElement)==null||(t=t.ownerDocument)==null?void 0:t.body)??(typeof document<`u`?document.body:null);di(O,E.rootContainerElement),(0,r.useEffect)(()=>{if(O)return pi([O])},[O]);let R=(0,r.useCallback)(e=>{let t=e??O;return t?Array.from(t.querySelectorAll(`button:not(:disabled)`)):[]},[O]);(0,r.useEffect)(()=>{if(!g||!O)return;let e=O.ownerDocument.defaultView??window,t=e.requestAnimationFrame(()=>{if(_===`container`){O.focus();return}(na(R())??O).focus()});return()=>e.cancelAnimationFrame(t)},[g,_,R,O,I]),(0,r.useEffect)(()=>{N(v)},[u,a,v]);let z=(0,r.useCallback)(e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),y==null||y();return}if(!ji.has(e.key)&&e.key!==`Enter`)return;let t=O==null?void 0:O.ownerDocument.activeElement,n=(t==null?void 0:t.closest(`[data-u-context-menu-submenu]`))??null,r=R(n);if(!r.length)return;e.preventDefault(),e.stopPropagation();let i=r.findIndex(e=>e===t);if(e.key===`Enter`){let e=i>=0?r[i]:na(r);if(!e)return;e.click();return}ra(r,i,e.key).focus()},[R,O,y]);return(0,r.useEffect)(()=>{var e;let t=((e=E.rootContainerElement)==null||(e=e.ownerDocument)==null?void 0:e.defaultView)??(typeof window<`u`?window:null);if(!t)return;let n=0,r=()=>{n&&t.cancelAnimationFrame(n),n=t.requestAnimationFrame(()=>{j(Math.max(120,t.innerHeight-16))})};return r(),t.addEventListener(`resize`,r),()=>{n&&t.cancelAnimationFrame(n),t.removeEventListener(`resize`,r)}},[E.rootContainerElement]),a?(0,c.jsx)(`div`,{ref:k,tabIndex:-1,className:(0,i.clsx)(Ji(h),i.borderClassName,i.scrollbarClassName,M&&`univer-context-menu-hover-suppressed`,d),style:{maxHeight:A},onKeyDown:z,onPointerMove:()=>{M&&N(!1)},onWheel:e=>e.stopPropagation(),children:(0,c.jsx)(ua,{menuSchemas:I,menuManagerService:T,menuSessionVersion:u,submenuPortalContainer:L,rootMenuElement:O,activeItemIds:f,hiddenItemIds:p,flowQuickGroups:m,hoverSuppressed:M,sizeVariant:h,onMenuPointerEnter:b,onMenuPointerLeave:x,onOptionSelect:S,maxMenuHeight:A})}):null}function ua(e){let{menuSchemas:n,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeItemIds:d,hiddenItemIds:f,flowQuickGroups:p,hoverSuppressed:m,sizeVariant:h,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y}=e,b=(0,s.useDependency)(t.LocaleService),x=fa(n),[S,C]=(0,r.useState)(null),w=(0,r.useMemo)(()=>n.filter(e=>Ui(e)?!e.children||!x[e.key]:!1),[x,n]),T=(0,r.useMemo)(()=>ia(w,p),[p,w]),E=(e,t,n=!1,r=!1)=>{let a=D(e);return(0,c.jsxs)(`div`,{className:(0,i.clsx)(n?`univer-grid`:Qi(e,w,t,h),r&&i.borderBottomClassName),children:[a,e.quickLayout===`tile`?(0,c.jsx)(Oi,{item:e,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,onOptionSelect:v}):(0,c.jsx)(Di,{item:e,columns:Gi(e),activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,sizeVariant:h,layoutVariant:e.quickLayoutVariant,onOptionSelect:v})]},e.key)};return(0,c.jsx)(c.Fragment,{children:T.map(({menuSchemas:e,startIndex:t,endIndex:n})=>{var r;let s=e[0],p=Wi(w,n),b=D(s);if(e.length>1){let n=aa(e);return(0,c.jsx)(`div`,{className:(0,i.clsx)($i(h),p&&i.borderBottomClassName),children:E(n,t,!0)},e.map(e=>e.key).join(`-`))}return s.item?(0,c.jsx)(da,{menuKey:s.key,menuItem:s.item,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,onOptionSelect:v,maxMenuHeight:y,hiddenItemIds:f,hoverSuppressed:m,sizeVariant:h,onMenuPointerEnter:g,onMenuPointerLeave:_},s.key):(r=s.children)!=null&&r.length?s.quickLayout?E(s,t,!1,p):s.tiny?(0,c.jsx)(`div`,{className:(0,i.clsx)(h===`paragraph-t`?`univer-flex univer-items-center univer-gap-2 univer-py-2`:`univer-flex univer-items-center univer-gap-1 univer-py-1`,p&&i.borderBottomClassName),children:s.children.map(e=>e.item&&(0,c.jsx)(da,{menuKey:e.key,menuItem:e.item,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y,compact:!0,sizeVariant:h},e.key))},s.key):(0,c.jsxs)(`div`,{className:(0,i.clsx)(Yi(h),p&&i.borderBottomClassName),children:[b,s.children.map(e=>e.item&&(0,c.jsx)(da,{menuKey:e.key,menuItem:e.item,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y,sizeVariant:h},e.key))]},s.key):null})});function D(e){if(!e.title)return null;let t=(0,c.jsx)(`strong`,{className:oa(h),children:b.t(e.title)});return e.headerActionItem?(0,c.jsxs)(`div`,{className:sa(h),children:[t,(0,c.jsx)(da,{menuKey:`${e.key}-header-action`,menuItem:e.headerActionItem,menuManagerService:a,menuSessionVersion:o,submenuPortalContainer:l,rootMenuElement:u,activeSubmenuKey:S,setActiveSubmenuKey:C,activeItemIds:d,hiddenItemIds:f,hoverSuppressed:m,compact:!0,headerAction:!0,sizeVariant:h,onMenuPointerEnter:g,onMenuPointerLeave:_,onOptionSelect:v,maxMenuHeight:y})]}):t}}function da(e){let{menuKey:a,menuItem:o,menuManagerService:u,menuSessionVersion:d,submenuPortalContainer:f,rootMenuElement:p,maxMenuHeight:m,activeSubmenuKey:h,setActiveSubmenuKey:g,activeItemIds:_,hiddenItemIds:v=[],hoverSuppressed:y=!1,compact:b=!1,headerAction:x=!1,sizeVariant:S,onMenuPointerEnter:C,onMenuPointerLeave:w,onOptionSelect:T}=e,E=(0,s.useDependency)(t.LocaleService),D=(0,s.useObservable)(E.direction$),O=(0,s.useObservable)(o.disabled$,!1),k=(0,s.useObservable)(o.activated$,!1),A=(0,s.useObservable)(o.hidden$,!1),j=(0,s.useObservable)(o.value$),M=o,N=(0,s.useObservable)((0,n.isObservable)(M.selections)?M.selections:void 0),[P,F]=(0,r.useState)(j),[I,L]=(0,r.useState)({left:0,top:0}),[R,z]=(0,r.useState)(!1),[B,V]=(0,r.useState)(`right`),[H,U]=(0,r.useState)(!1),ee=(0,r.useRef)(null),te=(0,r.useRef)(null),ne=(0,r.useRef)(null),W=(0,r.useRef)(null),re=(0,r.useId)(),ie=(0,r.useMemo)(()=>o.type!==1&&o.type!==2?[]:N||(Array.isArray(M.selections)?M.selections:[]),[o.type,N,M.selections]),ae=(0,r.useMemo)(()=>o.type!==3||!o.id?[]:u.getMenuByPositionKey(o.id),[o.id,o.type,u,d]),oe=ie.length>0,se=ae.length>0,G=oe||se,K=G&&h===a,ce=M.selectionsCommandId,le=(0,r.useCallback)(()=>{W.current!=null&&(clearTimeout(W.current),W.current=null)},[]),q=(0,r.useCallback)(()=>{le(),g(e=>e===a?null:e)},[le,a,g]),ue=(0,r.useCallback)(()=>{le(),W.current=setTimeout(()=>{W.current=null,q()},500)},[le,q]);(0,r.useEffect)(()=>{F(j)},[j]),(0,r.useEffect)(()=>()=>le(),[le]),(0,r.useEffect)(()=>{O&&q()},[q,O]),(0,r.useEffect)(()=>{let e=ne.current;if(K&&e)return pi([e])},[K]),(0,r.useLayoutEffect)(()=>{var e;if(!K||!R||!H)return;let t=(e=ne.current)==null?void 0:e.querySelector(`button:not(:disabled)`);t==null||t.focus()},[H,R,K]),(0,r.useEffect)(()=>{if(!K){z(!1);return}let e=()=>{let e=ee.current,t=ne.current;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-2,a=n.left-r.width+2,o=a>=8,s=i+r.width+8<=window.innerWidth,c=D===`rtl`?o||!s:!s&&o,l=c?a:i;V(c?`left`:`right`);let u=window.innerHeight-8-r.height,d=u<8?8:Math.min(Math.max(n.top,8),u);L({left:l,top:d}),z(!0)},t=window.requestAnimationFrame(e);return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.cancelAnimationFrame(t),window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[D,K,oe,se]);let de=o.id!=null&&v.includes(o.id)||v.includes(a);if(A||de)return null;let fe=e=>{let n=(0,t.isRealNum)(e)&&typeof e==`string`?Number.parseInt(e):e;F(n)},pe=e=>{T==null||T(e),le(),g(e=>e===a?null:e)},me=Bi({sizeVariant:S,variant:b?x?`compactHeaderAction`:`compact`:`default`,disabled:O,hoverSuppressed:y,active:Ci(o.id,k,_)}),he=(0,c.jsxs)(`span`,{className:qi(S),children:[(0,c.jsx)($,{value:P,title:b?void 0:o.title,label:o.label,icon:o.icon,onChange:fe}),o.shortcut&&` (${o.shortcut})`]}),ge=o.type===0||o.type===2,_e=Vi(o.label),ve=D===`rtl`?Wn:Kn,ye=(0,i.clsx)(me,Hi(o.label)&&`hover:univer-bg-transparent dark:hover:!univer-bg-transparent`);return(0,c.jsxs)(`div`,{ref:ee,className:`univer-relative`,onMouseEnter:()=>{if(le(),G&&!O&&!y){U(!1),z(!1),g(a);return}!G&&!y&&g(null)},onMouseLeave:e=>{if(G){var t;let n=e.relatedTarget;if(n&&(t=ne.current)!=null&&t.contains(n))return;if(Ki(n,ee.current,p)){q();return}ue()}},children:[_e?(0,c.jsxs)(`div`,{className:ye,"aria-disabled":O,children:[he,G&&(0,c.jsx)(ve,{className:`
10
19
  ${S===`paragraph-t`?`univer-size-4`:`univer-size-3.5`}
11
20
  univer-text-gray-400
12
21
  dark:!univer-text-gray-200
13
- `})]}):(0,c.jsxs)(`button`,{ref:te,type:`button`,className:ye,disabled:O,title:typeof o.tooltip==`string`?E.t(o.tooltip):void 0,"aria-haspopup":G?`menu`:void 0,"aria-expanded":G?ce:void 0,"aria-controls":G?re:void 0,onKeyDown:e=>{let t=D===`rtl`?`ArrowLeft`:`ArrowRight`;!G||e.key!==t||(e.preventDefault(),e.stopPropagation(),K(),U(!0),z(!1),g(a))},onClick:e=>{if(K(),G){if(x){U(e.detail===0),z(!1),g(a);return}if(ge){let e=o;T==null||T({commandId:e.commandId,params:e.params,value:P,id:e.id,label:a});return}U(e.detail===0),z(!1),g(a);return}if(!ge)return;let t=o;T==null||T({commandId:t.commandId,params:t.params,value:P,id:t.id,label:a})},children:[he,G&&!b&&(0,c.jsx)(ve,{className:`
22
+ `})]}):(0,c.jsxs)(`button`,{ref:te,type:`button`,className:ye,disabled:O,title:typeof o.tooltip==`string`?E.t(o.tooltip):void 0,"aria-haspopup":G?`menu`:void 0,"aria-expanded":G?K:void 0,"aria-controls":G?re:void 0,onKeyDown:e=>{let t=D===`rtl`?`ArrowLeft`:`ArrowRight`;G&&e.key===t&&(e.preventDefault(),e.stopPropagation(),le(),U(!0),z(!1),g(a))},onClick:e=>{if(le(),G){if(x){U(e.detail===0),z(!1),g(a);return}if(ge){let e=o;T==null||T({commandId:e.commandId,params:e.params,value:P,id:e.id,label:a});return}U(e.detail===0),z(!1),g(a);return}if(!ge)return;let t=o;T==null||T({commandId:t.commandId,params:t.params,value:P,id:t.id,label:a})},children:[he,G&&!b&&(0,c.jsx)(ve,{className:`
14
23
  ${S===`paragraph-t`?`univer-size-4`:`univer-size-3.5`}
15
24
  univer-text-gray-400
16
25
  dark:!univer-text-gray-200
17
- `})]}),G&&ce&&(f?(0,l.createPortal)((0,c.jsx)(`div`,{ref:ne,id:re,dir:D,"data-u-context-menu-submenu":`true`,className:`univer-z-[1080] univer-w-max univer-max-w-[calc(100vw-16px)]`,style:{position:`fixed`,left:I.left,top:I.top,paddingLeft:B===`right`?20:0,paddingRight:B===`left`?20:0,maxHeight:m,visibility:R?`visible`:`hidden`,pointerEvents:R?`auto`:`none`},onMouseEnter:()=>{K(),C==null||C()},onMouseLeave:e=>{var t;let n=e.relatedTarget;if(!(n&&(t=ee.current)!=null&&t.contains(n))){if(Mi(n,ee.current,p)){q(),w==null||w();return}ue()}},onKeyDown:e=>{var t;let n=D===`rtl`?`ArrowRight`:`ArrowLeft`;e.key===n&&(e.preventDefault(),e.stopPropagation(),q(),(t=te.current)==null||t.focus())},onWheel:e=>e.stopPropagation(),children:(0,c.jsxs)(`div`,{className:(0,i.clsx)(Ji(S),i.scrollbarClassName),style:{maxHeight:m},children:[oe&&(0,c.jsx)(`div`,{className:S===`paragraph-t`?`univer-grid univer-gap-2`:`univer-grid univer-gap-1`,children:ie.map((e,t)=>{let n=`${o.id}-${e.label??e.id}-${t}`,r=P!==void 0&&String(P)===String(e.value),s=!Di(e.label),l=!Oi(e.label),u=(0,i.clsx)(`univer-text-gray-900 dark:!univer-text-gray-0`,s?S===`paragraph-t`?`univer-relative univer-box-border univer-flex univer-min-h-10 univer-w-full univer-items-center univer-rounded-lg univer-border-none univer-bg-transparent univer-px-3 univer-text-left univer-text-base`:`univer-relative univer-box-border univer-flex univer-min-h-8 univer-w-full univer-items-center univer-rounded-md univer-border-none univer-bg-transparent univer-px-2 univer-text-left univer-text-sm`:`univer-relative univer-box-border univer-block univer-w-full univer-border-none univer-bg-transparent univer-p-0`,e.disabled?`univer-cursor-not-allowed univer-opacity-60`:l&&`univer-cursor-pointer hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600`),d=(0,c.jsxs)(c.Fragment,{children:[s&&r&&(0,c.jsx)(tn,{className:(0,i.clsx)(`univer-absolute univer-left-0 univer-text-primary-600`,S===`paragraph-t`?`univer-size-5`:`univer-size-4`)}),(0,c.jsx)(`span`,{className:(0,i.clsx)(Ni(S),s&&r&&`univer-pl-4`),children:(0,c.jsx)($,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:t=>{pe==null||pe({...e,value:t,id:o.id,label:a,commandId:e.commandId??le})}})})]});return s?(0,c.jsx)(`button`,{type:`button`,className:u,disabled:e.disabled,onClick:()=>{pe==null||pe({...e,id:o.id,label:a,commandId:e.commandId??le})},children:d},n):(0,c.jsx)(`div`,{className:u,"aria-disabled":e.disabled,children:d},n)})}),se&&(0,c.jsx)(Xi,{menuSchemas:ae,menuManagerService:u,menuSessionVersion:d,submenuPortalContainer:f,rootMenuElement:p,activeItemIds:_,hiddenItemIds:v,hoverSuppressed:y,sizeVariant:S,onMenuPointerEnter:C,onMenuPointerLeave:w,onOptionSelect:pe,maxMenuHeight:m})]})}),f):null)]})}function Qi(e){return(0,s.useObservable)((0,r.useMemo)(()=>{let t=e.flatMap(e=>{var t;let r=((t=e.children)==null?void 0:t.map(e=>{var t;return((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)}))??[];return r.length?[(0,n.combineLatest)(r).pipe((0,n.map)(t=>[e.key,t.every(Boolean)]))]:[]});return t.length?(0,n.merge)(...t).pipe((0,n.scan)((e,[t,n])=>({...e,[t]:n}),{}),(0,n.startWith)({})):(0,n.of)({})},[e]),{})}function $i(e){let{hostId:t,visible:n,anchorRect:a,menuType:o,anchorVertical:l=`bottom`,autoFocus:u,menuOffset:d=0,menuManagerService:f,layoutService:p,onRequestClose:m,onOptionSelect:h}=e,g=(0,r.useRef)(null),_=(0,s.useDependency)(Yr),v=(0,r.useRef)(m),y=(0,r.useRef)(0),b=(0,r.useRef)(n),x=(0,r.useRef)(o),S=(0,r.useRef)(null);(0,r.useEffect)(()=>{v.current=m},[m]),n&&(!b.current||o!==x.current)&&(y.current+=1),b.current=n,x.current=o,(0,r.useEffect)(()=>{let e=_.registerMenu(t,()=>{v.current()});return()=>{e.dispose(),_.deactivateMenu(t)}},[_,t]),(0,r.useLayoutEffect)(()=>{var e,r;if(n){var i,a,o;let e=((i=g.current)==null?void 0:i.ownerDocument)??document,n=e.activeElement,r=n!==null&&(((a=g.current)==null?void 0:a.contains(n))||!!n.closest(`[data-u-context-menu-submenu]`)),s=(o=e.defaultView)==null?void 0:o.HTMLElement;r||(S.current=s&&n instanceof s?n:null),_.activateMenu(t);return}let s=(((e=g.current)==null?void 0:e.ownerDocument)??document).activeElement,c=s!==null&&(((r=g.current)==null?void 0:r.contains(s))||!!s.closest(`[data-u-context-menu-submenu]`)),l=S.current;c&&l!=null&&l.isConnected&&l.focus(),S.current=null,_.deactivateMenu(t)},[_,t,n]),(0,r.useEffect)(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||g.current&&!g.current.contains(t.target)&&v.current()},r=e=>{e.key===`Escape`&&v.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=g.current)!=null&&n.contains(t.target)){t.stopPropagation();return}t.preventDefault(),t.stopPropagation()};return document.addEventListener(`pointerdown`,t),document.addEventListener(`keydown`,r),document.addEventListener(`wheel`,i,{capture:!0,passive:!1}),()=>{document.removeEventListener(`pointerdown`,t),document.removeEventListener(`keydown`,r),document.removeEventListener(`wheel`,i,!0)}},[n]);let C=(0,r.useMemo)(()=>{if(!a)return[0,0];let e=l===`top`?a.top:a.bottom,t=l===`top`?e-d:e+d;return[a.left,t]},[a,l,d]);return(0,c.jsx)(i.Popup,{visible:n&&!!a,offset:C,overflowVisible:!0,placementY:l===`top`?`above`:`below`,children:(0,c.jsx)(`section`,{ref:g,children:o&&(0,c.jsx)(Yi,{menuType:o,autoFocus:u,menuManagerService:f,layoutService:p,menuSessionVersion:y.current,onCancel:m,onOptionSelect:h},y.current)})})}function ea(){let[e,n]=(0,r.useState)(!1),[i,a]=(0,r.useState)(``),[o,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(),f=(0,r.useRef)(e),p=(0,s.useDependency)(qr),m=(0,s.useDependency)(t.ICommandService),h=(0,s.useDependency)(D),g=(0,s.useDependency)(J),_=(0,s.useDependency)(Se);f.current=e,(0,r.useEffect)(()=>{let e=p.registerContextMenuHandler({handleContextMenu:v,hideContextMenu(){y()},get visible(){return f.current}});return()=>{e.dispose()}},[p]);function v(e,t,r){n(!1),requestAnimationFrame(()=>{a(t),d(r),l({left:e.clientX,top:e.clientY,bottom:e.clientY}),n(!0)})}function y(){n(!1)}let b=_.get(u==null?void 0:u.unitId),x=b!=null&&b.has(J)?b.get(J):g,S=b!=null&&b.has(t.ICommandService)?b.get(t.ICommandService):m,C=b!=null&&b.has(D)?b.get(D):h;return(0,c.jsx)($i,{hostId:`desktop-context-menu`,visible:e,anchorRect:o,menuType:i,autoFocus:u==null?void 0:u.autoFocus,menuManagerService:x,layoutService:C,onRequestClose:y,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e,i=typeof e.params==`function`?e.params():e.params,a=i===void 0?{value:r}:i;S&&S.executeCommand(n??t,a),C.focus(),y()}})}function ta(e){if(!e)return null;let{children:t,footer:n,header:r,...i}=e,a=e=>{if(!e)return;let{key:t,...n}=e;return(0,c.jsx)($,{...n},t)};return{...i,children:a(t),footer:a(n),header:a(r)}}function na(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useDependency)(P),a=(0,s.useObservable)(n.sidebarOptions$),o=(0,r.useRef)(null),l=(0,r.useRef)(null),u=(0,r.useRef)(null),d=(0,r.useRef)(null),f=(0,r.useRef)(void 0),p=(0,r.useRef)(!1),[m,h]=(0,r.useState)(!1),g=(0,r.useRef)(null),_=(0,r.useMemo)(()=>ta(a),[a]);(0,r.useEffect)(()=>{let e=!!(_!=null&&_.visible);if(e&&(!p.current||f.current!==(_==null?void 0:_.id))){var t,n;let e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&!((t=l.current)!=null&&t.contains(e))&&(d.current=e),(n=u.current)==null||n.focus()}else if(!e&&p.current){var r;let e=document.activeElement,t=e===document.body||!!((r=l.current)!=null&&r.contains(e)),n=d.current;t&&n!=null&&n.isConnected&&n.focus({preventScroll:!0}),d.current=null}p.current=e,f.current=_==null?void 0:_.id},[_==null?void 0:_.id,_==null?void 0:_.visible]),(0,r.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n.visible&&(e.stopPropagation(),n.close())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n]);let v=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]);(0,r.useEffect)(()=>{if(!m){document.body.style.cursor=``,document.body.style.userSelect=``;return}let e=e=>{if(!l.current)return;let t=l.current.getBoundingClientRect().right-e.clientX,n=Math.max(280,Math.min(t,800));g.current=n,l.current.style.width=`${n}px`},t=()=>{h(!1),g.current!=null&&(n.setWidth(g.current),g.current=null)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[m,n]),(0,r.useEffect)(()=>(o.current&&n.setContainer(o.current),()=>{n.setContainer(void 0)}),[n]),(0,r.useEffect)(()=>{let e=e=>{n.scrollEvent$.next(e)},t=o.current;return t&&t.addEventListener(`scroll`,e),()=>{t==null||t.removeEventListener(`scroll`,e)}},[n]);let y=(0,r.useMemo)(()=>{if(m&&g.current!=null)return`${g.current}px`;if(!(_!=null&&_.visible))return 0;let e=n.width;return e?`${e}px`:typeof _.width==`number`?`${_.width}px`:_.width},[m,_,n]);function b(){n.close(a==null?void 0:a.id)}return(0,c.jsxs)(`section`,{ref:l,"data-u-comp":`sidebar`,role:`complementary`,"aria-expanded":!!(_!=null&&_.visible),"aria-hidden":!(_!=null&&_.visible),"aria-label":e.t(`ui.sidebar.panel`),className:(0,i.clsx)(`univer-relative univer-h-full univer-flex-shrink-0 univer-bg-gray-0 univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-gray-0`,{"univer-w-96 univer-translate-x-0":_==null?void 0:_.visible,"univer-pointer-events-none univer-invisible univer-w-0 univer-translate-x-full":!(_!=null&&_.visible)}),style:{width:m?void 0:y},children:[(_==null?void 0:_.visible)&&(0,c.jsx)(`div`,{className:`hover:univer-bg-primary-500/30 active:univer-bg-primary-500/50 univer-absolute univer-left-0 univer-top-0 univer-z-20 univer-h-full univer-w-1 univer-cursor-col-resize univer-transition-colors`,onMouseDown:v,role:`separator`,"aria-orientation":`vertical`,"aria-label":e.t(`ui.sidebar.resize`),tabIndex:0,onKeyDown:e=>{if(!l.current)return;let t=l.current.getBoundingClientRect().width,r=t;e.key===`ArrowLeft`?(e.preventDefault(),r=Math.max(280,t-20)):e.key===`ArrowRight`&&(e.preventDefault(),r=Math.min(800,t+20)),r!==t&&(l.current.style.width=`${r}px`,n.setWidth(r))}}),(0,c.jsxs)(`section`,{ref:o,className:(0,i.clsx)(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,i.borderLeftBottomClassName,i.scrollbarClassName),children:[(0,c.jsxs)(`header`,{className:`univer-sticky univer-top-0 univer-z-10 univer-box-border univer-flex univer-cursor-default univer-items-center univer-justify-between univer-bg-gray-0 univer-p-4 univer-pb-2 univer-text-base univer-font-medium univer-text-gray-800 dark:!univer-bg-gray-900 dark:!univer-text-gray-0`,children:[_==null?void 0:_.header,(0,c.jsx)(`button`,{ref:u,type:`button`,className:`focus:univer-ring-primary-500/50 univer-flex univer-size-6 univer-cursor-pointer univer-appearance-none univer-items-center univer-justify-center univer-rounded-sm univer-border-none univer-bg-transparent univer-p-0 univer-text-gray-500 focus:univer-outline-none focus:univer-ring-2 dark:!univer-text-gray-300`,onClick:b,"aria-label":e.t(`ui.sidebar.close`),children:(0,c.jsx)(rn,{})})]}),(0,c.jsx)(`section`,{className:`univer-box-border univer-min-w-0 univer-cursor-default univer-px-4`,children:_==null?void 0:_.children}),(_==null?void 0:_.footer)&&(0,c.jsx)(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-gray-0 univer-p-4 dark:!univer-bg-gray-900`,children:_.footer})]})]})}function ra({darkMode:e,direction:t,overlay:n=!1}){let r=`
26
+ `})]}),G&&K&&(f?(0,l.createPortal)((0,c.jsx)(`div`,{ref:ne,id:re,dir:D,"data-u-context-menu-submenu":`true`,className:`univer-z-[1080] univer-w-max univer-max-w-[calc(100vw-16px)]`,style:{position:`fixed`,left:I.left,top:I.top,paddingLeft:B===`right`?20:0,paddingRight:B===`left`?20:0,maxHeight:m,visibility:R?`visible`:`hidden`,pointerEvents:R?`auto`:`none`},onMouseEnter:()=>{le(),C==null||C()},onMouseLeave:e=>{var t;let n=e.relatedTarget;if(!(n&&(t=ee.current)!=null&&t.contains(n))){if(Ki(n,ee.current,p)){q(),w==null||w();return}ue()}},onKeyDown:e=>{var t;let n=D===`rtl`?`ArrowRight`:`ArrowLeft`;e.key===n&&(e.preventDefault(),e.stopPropagation(),q(),(t=te.current)==null||t.focus())},onWheel:e=>e.stopPropagation(),children:(0,c.jsxs)(`div`,{className:(0,i.clsx)(ca(S),i.scrollbarClassName),style:{maxHeight:m},children:[oe&&(0,c.jsx)(`div`,{className:S===`paragraph-t`?`univer-grid univer-gap-2`:`univer-grid univer-gap-1`,children:ie.map((e,t)=>{let n=`${o.id}-${e.label??e.id}-${t}`,r=P!==void 0&&String(P)===String(e.value),s=!Vi(e.label),l=!Hi(e.label),u=(0,i.clsx)(`univer-text-gray-900 dark:!univer-text-gray-0`,s?S===`paragraph-t`?`univer-relative univer-box-border univer-flex univer-min-h-10 univer-w-full univer-items-center univer-rounded-lg univer-border-none univer-bg-transparent univer-px-3 univer-text-left univer-text-base`:`univer-relative univer-box-border univer-flex univer-min-h-8 univer-w-full univer-items-center univer-rounded-md univer-border-none univer-bg-transparent univer-px-2 univer-text-left univer-text-sm`:`univer-relative univer-box-border univer-block univer-w-full univer-border-none univer-bg-transparent univer-p-0`,e.disabled?`univer-cursor-not-allowed univer-opacity-60`:l&&`univer-cursor-pointer hover:univer-bg-gray-50 dark:hover:!univer-bg-gray-600`),d=(0,c.jsxs)(c.Fragment,{children:[s&&r&&(0,c.jsx)(mn,{className:(0,i.clsx)(`univer-absolute univer-left-0 univer-text-primary-600`,S===`paragraph-t`?`univer-size-5`:`univer-size-4`)}),(0,c.jsx)(`span`,{className:(0,i.clsx)(qi(S),s&&r&&`univer-pl-4`),children:(0,c.jsx)($,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:t=>{pe==null||pe({...e,value:t,id:o.id,label:a,commandId:e.commandId??ce})}})})]});return s?(0,c.jsx)(`button`,{type:`button`,className:u,disabled:e.disabled,onClick:()=>{pe==null||pe({...e,id:o.id,label:a,commandId:e.commandId??ce})},children:d},n):(0,c.jsx)(`div`,{className:u,"aria-disabled":e.disabled,children:d},n)})}),se&&(0,c.jsx)(ua,{menuSchemas:ae,menuManagerService:u,menuSessionVersion:d,submenuPortalContainer:f,rootMenuElement:p,activeItemIds:_,hiddenItemIds:v,hoverSuppressed:y,sizeVariant:S,onMenuPointerEnter:C,onMenuPointerLeave:w,onOptionSelect:pe,maxMenuHeight:m})]})}),f):null)]})}function fa(e){let t=(0,r.useMemo)(()=>{let t=e.flatMap(e=>{var t;let r=((t=e.children)==null?void 0:t.map(e=>{var t;return((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)}))??[];return r.length?[(0,n.combineLatest)(r).pipe((0,n.map)(t=>[e.key,t.every(Boolean)]))]:[]});return t.length?(0,n.merge)(...t).pipe((0,n.scan)((e,[t,n])=>({...e,[t]:n}),{}),(0,n.startWith)({})):(0,n.of)({})},[e]);return(0,s.useObservable)(t,{})}function pa(e){let{hostId:t,visible:n,anchorRect:a,menuType:o,anchorVertical:l=`bottom`,autoFocus:u,menuOffset:d=0,menuManagerService:f,layoutService:p,onRequestClose:m,onOptionSelect:h}=e,g=(0,r.useRef)(null),_=(0,s.useDependency)(li),v=(0,r.useRef)(m),y=(0,r.useRef)(0),b=(0,r.useRef)(n),x=(0,r.useRef)(o),S=(0,r.useRef)(null);(0,r.useEffect)(()=>{v.current=m},[m]),n&&(!b.current||o!==x.current)&&(y.current+=1),b.current=n,x.current=o,(0,r.useEffect)(()=>{let e=_.registerMenu(t,()=>{v.current()});return()=>{e.dispose(),_.deactivateMenu(t)}},[_,t]),(0,r.useLayoutEffect)(()=>{var e,r;if(n){var i,a,o;let e=((i=g.current)==null?void 0:i.ownerDocument)??document,n=e.activeElement,r=n!==null&&(((a=g.current)==null?void 0:a.contains(n))||!!n.closest(`[data-u-context-menu-submenu]`)),s=(o=e.defaultView)==null?void 0:o.HTMLElement;r||(S.current=s&&n instanceof s?n:null),_.activateMenu(t);return}let s=(((e=g.current)==null?void 0:e.ownerDocument)??document).activeElement,c=s!==null&&(((r=g.current)==null?void 0:r.contains(s))||!!s.closest(`[data-u-context-menu-submenu]`)),l=S.current;c&&l!=null&&l.isConnected&&l.focus(),S.current=null,_.deactivateMenu(t)},[_,t,n]),(0,r.useEffect)(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||g.current&&!g.current.contains(t.target)&&v.current()},r=e=>{e.key===`Escape`&&v.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=g.current)!=null&&n.contains(t.target)){t.stopPropagation();return}t.preventDefault(),t.stopPropagation()};return document.addEventListener(`pointerdown`,t),document.addEventListener(`keydown`,r),document.addEventListener(`wheel`,i,{capture:!0,passive:!1}),()=>{document.removeEventListener(`pointerdown`,t),document.removeEventListener(`keydown`,r),document.removeEventListener(`wheel`,i,!0)}},[n]);let C=(0,r.useMemo)(()=>{if(!a)return[0,0];let e=l===`top`?a.top:a.bottom,t=l===`top`?e-d:e+d;return[a.left,t]},[a,l,d]);return(0,c.jsx)(i.Popup,{visible:n&&!!a,offset:C,overflowVisible:!0,placementY:l===`top`?`above`:`below`,children:(0,c.jsx)(`section`,{ref:g,children:o&&(0,c.jsx)(la,{menuType:o,autoFocus:u,menuManagerService:f,layoutService:p,menuSessionVersion:y.current,onCancel:m,onOptionSelect:h},y.current)})})}function ma(){let[e,n]=(0,r.useState)(!1),[i,a]=(0,r.useState)(``),[o,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(),f=(0,r.useRef)(e),p=(0,s.useDependency)(si),m=(0,s.useDependency)(t.ICommandService),h=(0,s.useDependency)(D),g=(0,s.useDependency)(J),_=(0,s.useDependency)(Se);f.current=e,(0,r.useEffect)(()=>{let e=p.registerContextMenuHandler({handleContextMenu:v,hideContextMenu(){y()},get visible(){return f.current}});return()=>{e.dispose()}},[p]);function v(e,t,r){n(!1),requestAnimationFrame(()=>{a(t),d(r),l({left:e.clientX,top:e.clientY,bottom:e.clientY}),n(!0)})}function y(){n(!1)}let b=_.get(u==null?void 0:u.unitId),x=b!=null&&b.has(J)?b.get(J):g,S=b!=null&&b.has(t.ICommandService)?b.get(t.ICommandService):m,C=b!=null&&b.has(D)?b.get(D):h;return(0,c.jsx)(pa,{hostId:`desktop-context-menu`,visible:e,anchorRect:o,menuType:i,autoFocus:u==null?void 0:u.autoFocus,menuManagerService:x,layoutService:C,onRequestClose:y,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e,i=typeof e.params==`function`?e.params():e.params,a=i===void 0?{value:r}:i;S&&S.executeCommand(n??t,a),C.focus(),y()}})}function ha(e){if(!e)return null;let{children:t,footer:n,header:r,...i}=e,a=e=>{if(!e)return;let{key:t,...n}=e;return(0,c.jsx)($,{...n},t)};return{...i,children:a(t),footer:a(n),header:a(r)}}function ga(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useDependency)(P),a=(0,s.useObservable)(n.sidebarOptions$),o=(0,r.useRef)(null),l=(0,r.useRef)(null),u=(0,r.useRef)(null),d=(0,r.useRef)(null),f=(0,r.useRef)(void 0),p=(0,r.useRef)(!1),[m,h]=(0,r.useState)(!1),g=(0,r.useRef)(null),_=(0,r.useMemo)(()=>ha(a),[a]);(0,r.useEffect)(()=>{let e=!!(_!=null&&_.visible);if(e&&(!p.current||f.current!==(_==null?void 0:_.id))){var t,n;let e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&!((t=l.current)!=null&&t.contains(e))&&(d.current=e),(n=u.current)==null||n.focus()}else if(!e&&p.current){var r;let e=document.activeElement,t=e===document.body||!!((r=l.current)!=null&&r.contains(e)),n=d.current;t&&n!=null&&n.isConnected&&n.focus({preventScroll:!0}),d.current=null}p.current=e,f.current=_==null?void 0:_.id},[_==null?void 0:_.id,_==null?void 0:_.visible]),(0,r.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n.visible&&(e.stopPropagation(),n.close())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n]);let v=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]);(0,r.useEffect)(()=>{if(!m){document.body.style.cursor=``,document.body.style.userSelect=``;return}let e=e=>{if(!l.current)return;let t=l.current.getBoundingClientRect().right-e.clientX,n=Math.max(280,Math.min(t,800));g.current=n,l.current.style.width=`${n}px`},t=()=>{h(!1),g.current!=null&&(n.setWidth(g.current),g.current=null)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[m,n]),(0,r.useEffect)(()=>(o.current&&n.setContainer(o.current),()=>{n.setContainer(void 0)}),[n]),(0,r.useEffect)(()=>{let e=e=>{n.scrollEvent$.next(e)},t=o.current;return t&&t.addEventListener(`scroll`,e),()=>{t==null||t.removeEventListener(`scroll`,e)}},[n]);let y=(0,r.useMemo)(()=>{if(m&&g.current!=null)return`${g.current}px`;if(!(_!=null&&_.visible))return 0;let e=n.width;return e?`${e}px`:typeof _.width==`number`?`${_.width}px`:_.width},[m,_,n]);function b(){n.close(a==null?void 0:a.id)}return(0,c.jsxs)(`section`,{ref:l,"data-u-comp":`sidebar`,role:`complementary`,"aria-expanded":!!(_!=null&&_.visible),"aria-hidden":!(_!=null&&_.visible),"aria-label":e.t(`ui.sidebar.panel`),className:(0,i.clsx)(`univer-relative univer-h-full univer-flex-shrink-0 univer-bg-gray-0 univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-gray-0`,{"univer-w-96 univer-translate-x-0":_==null?void 0:_.visible,"univer-pointer-events-none univer-invisible univer-w-0 univer-translate-x-full":!(_!=null&&_.visible)}),style:{width:m?void 0:y},children:[(_==null?void 0:_.visible)&&(0,c.jsx)(`div`,{className:`hover:univer-bg-primary-500/30 active:univer-bg-primary-500/50 univer-absolute univer-left-0 univer-top-0 univer-z-20 univer-h-full univer-w-1 univer-cursor-col-resize univer-transition-colors`,onMouseDown:v,role:`separator`,"aria-orientation":`vertical`,"aria-label":e.t(`ui.sidebar.resize`),tabIndex:0,onKeyDown:e=>{if(!l.current)return;let t=l.current.getBoundingClientRect().width,r=t;e.key===`ArrowLeft`?(e.preventDefault(),r=Math.max(280,t-20)):e.key===`ArrowRight`&&(e.preventDefault(),r=Math.min(800,t+20)),r!==t&&(l.current.style.width=`${r}px`,n.setWidth(r))}}),(0,c.jsxs)(`section`,{ref:o,className:(0,i.clsx)(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,i.borderLeftBottomClassName,i.scrollbarClassName),children:[(0,c.jsxs)(`header`,{className:`univer-sticky univer-top-0 univer-z-10 univer-box-border univer-flex univer-cursor-default univer-items-center univer-justify-between univer-bg-gray-0 univer-p-4 univer-pb-2 univer-text-base univer-font-medium univer-text-gray-800 dark:!univer-bg-gray-900 dark:!univer-text-gray-0`,children:[_==null?void 0:_.header,(0,c.jsx)(`button`,{ref:u,type:`button`,className:`focus:univer-ring-primary-500/50 univer-flex univer-size-6 univer-cursor-pointer univer-appearance-none univer-items-center univer-justify-center univer-rounded-sm univer-border-none univer-bg-transparent univer-p-0 univer-text-gray-500 focus:univer-outline-none focus:univer-ring-2 dark:!univer-text-gray-300`,onClick:b,"aria-label":e.t(`ui.sidebar.close`),children:(0,c.jsx)(gn,{})})]}),(0,c.jsx)(`section`,{className:`univer-box-border univer-min-w-0 univer-cursor-default univer-px-4`,children:_==null?void 0:_.children}),(_==null?void 0:_.footer)&&(0,c.jsx)(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-gray-0 univer-p-4 dark:!univer-bg-gray-900`,children:_.footer})]})]})}function _a({darkMode:e,direction:t,overlay:n=!1}){let r=`
18
27
  univer-animate-pulse univer-bg-gray-100 motion-reduce:univer-animate-none
19
28
  dark:!univer-bg-gray-700
20
- `,a={animationDuration:`1.2s`};return(0,c.jsxs)(`div`,{"aria-busy":`true`,className:(0,i.clsx)(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-overflow-hidden univer-bg-gray-50 dark:!univer-bg-gray-900`,{"univer-absolute univer-inset-0 univer-z-50":n,"univer-dark":e}),dir:t,children:[(0,c.jsxs)(`header`,{"data-u-comp":`workbench-skeleton-toolbar`,className:`univer-flex univer-h-11 univer-shrink-0 univer-items-center univer-gap-2 univer-border-0 univer-border-b univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-px-4 dark:!univer-border-gray-700 dark:!univer-bg-gray-800`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-4 univer-w-24 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-ml-2 univer-size-6 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-6 univer-rounded`),style:a})]}),(0,c.jsxs)(`main`,{"data-u-comp":`workbench-skeleton-content`,className:`univer-flex univer-min-h-0 univer-min-w-0 univer-flex-1 univer-flex-col univer-gap-4 univer-p-4`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-4 univer-w-1/3 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-flex-1 univer-rounded-md`),style:a})]}),(0,c.jsxs)(`footer`,{"data-u-comp":`workbench-skeleton-footer`,className:`univer-flex univer-h-10 univer-shrink-0 univer-items-center univer-justify-between univer-border-0 univer-border-t univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-px-4 dark:!univer-border-gray-700 dark:!univer-bg-gray-800`,children:[(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-5 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-5 univer-w-14 univer-rounded`),style:a})]}),(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-5 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-2 univer-w-24 univer-rounded-full`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-5 univer-rounded`),style:a})]})]})]})}let ia=(e,t)=>{let n=(0,r.useRef)(!1);(0,r.useEffect)(()=>{if(n.current)return e();n.current=!0},t)};function aa(e,t){let n=Rt(t.handler);(0,r.useEffect)(()=>{let t=t=>{e.current&&t.target&&!e.current.contains(t.target)&&n()};return document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`mousedown`,t)}},[n,e])}function oa(e,t=300){let n=(0,r.useRef)(null);return(0,r.useCallback)((...r)=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{e(...r)},t)},[e,t])}let sa=e=>typeof e==`number`;function ca(e){let t=(0,r.useRef)(e);return t.current=e,t}let la=(e,t)=>{let{containerTarget:n,itemHeight:i,overscan:a=5}=t,o=ca(i),[s,c]=(0,r.useState)(null),l=(0,r.useRef)(!1),[u,d]=(0,r.useState)([]),[f,p]=(0,r.useState)({height:void 0,marginTop:void 0}),m=(t,n)=>{if(typeof o.current==`number`)return Math.ceil(t/o.current);let r=0,i=0;for(let a=n;a<e.length;a++){let n=o.current(a,e[a]);if(r+=n,i=a,r>=t)break}return i-n},h=t=>{if(sa(o.current))return Math.floor(t/o.current);let n=0,r=0;for(let i=0;i<e.length;i++){let a=o.current(i,e[i]);if(n+=a,n>=t){r=i;break}}return r+1},g=t=>typeof o.current==`number`?t*o.current:e.slice(0,t).reduce((t,n,r)=>t+o.current(r,e[r]),0),_=(0,r.useMemo)(()=>sa(o.current)?e.length*o.current:e.reduce((t,n,r)=>t+o.current(r,e[r]),0),[e]),v=()=>{let t=n.current;if(t){let{scrollTop:n,clientHeight:r}=t,i=h(n),o=m(r,i),s=Math.max(0,i-a),c=Math.min(e.length,i+o+a),l=g(s);p({height:`${_-l}px`,marginTop:`${l}px`}),d(e.slice(s,c).map((e,t)=>({data:e,index:t+s})))}};return(0,r.useEffect)(()=>{if(n.current){let e=()=>{let e=n.current.clientWidth,t=n.current.clientHeight;(e!==(s==null?void 0:s.width)||t!==(s==null?void 0:s.height))&&c({width:e,height:t})};e();let t=new ResizeObserver(e);return t.observe(n.current),()=>{t.disconnect()}}},[]),(0,r.useEffect)(()=>{!(s!=null&&s.width)||!(s!=null&&s.height)||v()},[s==null?void 0:s.width,s==null?void 0:s.height,e]),[u,{wrapperStyle:f,scrollTo:Rt(e=>{let t=n.current;t&&(l.current=!0,t.scrollTop=g(e),v())}),containerProps:{onScroll:e=>{if(l.current){l.current=!1;return}e.preventDefault(),v()}}}]};function ua(e){let t=Qr(oe);return(0,c.jsx)(fa,{...e,...t})}function da(e,t,n,r){(0,i.render)((0,c.jsx)((0,s.connectInjector)(ua,e),{...t,mountContainer:n,onRendered:r}),n)}function fa(e){let{header:a=!0,toolbar:o=!0,footer:l=!0,headerMenu:u=!0,contextMenu:d=!0,ribbonType:f=`classic`,mountContainer:p,onRendered:m}=e,h=(0,s.useDependency)(t.LocaleService),g=(0,s.useDependency)(t.LifecycleService),_=(0,s.useDependency)(W),v=(0,s.useDependency)(t.ThemeService),y=(0,s.useDependency)(Kr),b=(0,r.useRef)(null),x=(0,s.useDependency)(t.IConfigService).getConfig(oe),S=Q(`custom-header`),C=Q(`footer`),w=Q(`header`),T=Q(`header-menu`),E=Q(`content`),D=Q(`left-sidebar`),O=Q(`global`),k=Q(`toolbar`),A=(0,s.useObservable)(g.lifecycle$,g.stage),j=(0,s.useObservable)(_.skeletonVisible$,void 0,!0),M=A>=t.LifecycleStages.Ready,N=(x==null?void 0:x.popupRootId)??`univer-popup-portal`;(0,r.useLayoutEffect)(()=>{let e=v.currentTheme$.subscribe(e=>{y.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let P=(0,s.useObservable)(v.darkMode$,v.darkMode);(0,r.useLayoutEffect)(()=>{P?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)},[P]),(0,r.useEffect)(()=>{M&&b.current&&(m==null||m(b.current))},[M,m]);let F=(0,s.useObservable)(()=>h.localeChanged$.pipe((0,n.map)(()=>h.getLocales())),h.getLocales(),!1,[h]),I=(0,s.useObservable)(h.direction$,h.getDirection()),L=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useEffect)(()=>(document.body.appendChild(L),()=>{document.body.removeChild(L)}),[p,L]),(0,r.useEffect)(()=>{L.dir=I},[I,L]),(0,c.jsxs)(i.ConfigProvider,{locale:F==null?void 0:F.design,direction:I,mountContainer:L,children:[(0,c.jsxs)(`div`,{className:`univer-relative univer-h-full univer-min-h-0`,children:[(0,c.jsxs)(`div`,{"data-u-comp":`workbench-layout`,className:(0,i.clsx)(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-gray-0 dark:!univer-bg-gray-800`,{"univer-dark":P}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),dir:I,children:[(0,c.jsx)(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-gray-0 dark:!univer-bg-gray-800`,children:(0,c.jsx)(Z,{components:S},`custom-header`)}),a&&o&&(0,c.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,c.jsx)(Z,{components:k,sharedProps:{ribbonType:f,headerMenuComponents:T,headerMenu:u}},`toolbar`)}),(0,c.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,c.jsxs)(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,c.jsx)(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:(0,c.jsx)(Z,{components:D},`left-sidebar`)}),(0,c.jsxs)(`section`,{className:(0,i.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-gray-0 dark:!univer-bg-gray-800`,i.borderBottomClassName),children:[(0,c.jsx)(`header`,{children:a&&(0,c.jsx)(Z,{components:w},`header`)}),(0,c.jsx)(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:b,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,c.jsx)(Z,{components:E},`content`)})]}),(0,c.jsx)(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:(0,c.jsx)(na,{})})]}),l&&(0,c.jsx)(`footer`,{children:(0,c.jsx)(Z,{components:C,sharedProps:{contextMenu:d}},`footer`)})]})]}),(!M||j)&&(0,c.jsx)(ra,{darkMode:P,direction:I,overlay:!0})]}),(0,c.jsxs)(`div`,{dir:I,children:[(0,c.jsx)(Z,{components:O},`global`),d&&(0,c.jsx)(ea,{}),(0,c.jsx)(pa,{}),(0,c.jsx)(`div`,{id:N})]})]})}function pa(){let{mountContainer:e}=(0,r.useContext)(i.ConfigContext);return(0,l.createPortal)((0,c.jsx)(Z,{components:Q(`floating`)},`floating`),e)}var ma=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,S(this,`_steadyTimeout`,void 0),S(this,`_renderTimeout`,void 0),S(this,`_currentRenderId`,null)}dispose(){super.dispose(),clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),delete this._instanceService,delete this._layoutService,delete this._lifecycleService,delete this._renderManagerService}_bootstrapWorkbench(){var e;let n=(e=this._injector.get(W,t.Quantity.OPTIONAL))==null?void 0:e.acquireSkeleton();n&&this.disposeWithMe(n),this.disposeWithMe(this.bootstrap(async(e,r)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(r)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(t.LifecycleStages.Ready),this._renderTimeout=window.setTimeout(()=>{let r=this._renderManagerService.getRenderAll();for(let[t]of r)if(this._changeRenderUnit(t,e))break;requestAnimationFrame(()=>requestAnimationFrame(()=>n==null?void 0:n.dispose())),this.disposeWithMe(this._instanceService.focused$.subscribe(t=>{t&&this._changeRenderUnit(t,e)})),this.disposeWithMe(this._renderManagerService.created$.subscribe(t=>{var n;t.unitId===((n=this._instanceService.getFocusedUnit())==null?void 0:n.getUnitId())&&this._changeRenderUnit(t.unitId,e)})),this.disposeWithMe(this._renderManagerService.disposed$.subscribe(e=>{this._currentRenderId===e&&(this._currentRenderId=null)})),this._lifecycleService.stage=t.LifecycleStages.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=t.LifecycleStages.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof t.LifecycleUnreachableError)return;throw e}}))}_changeRenderUnit(e,n){let r=this._renderManagerService.getRenderUnitById(e);if(!r||!r.unitId||r.isMainScene===!1||(0,t.isInternalEditorID)(r.unitId))return!1;let i=r.engine.getCanvasElement(),a=this._currentRenderId===e;if(a&&n.contains(i))return!1;if(!a){let e=this._currentRenderId?this._renderManagerService.getRenderUnitById(this._currentRenderId):null;e==null||e.deactivate(),e==null||e.engine.unmount()}return n.contains(i)||r.engine.mount(n),r.activate(),this._currentRenderId=e,!0}};let ha=class extends ma{constructor(e,t,n,r,i,a,o,s){super(t,a,i,n,r),this._config=e,o.mergeMenu(xt),this._initBuiltinComponents(s),this._bootstrapWorkbench()}dispose(){super.dispose()}bootstrap(e){return ga(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(`floating`,()=>(0,s.connectInjector)(Gt,this._injector))),this.disposeWithMe(e.registerComponent(`content`,()=>(0,s.connectInjector)(Nt,this._injector))),this.disposeWithMe(e.registerComponent(`toolbar`,()=>(0,s.connectInjector)(Ur,this._injector)))}};ha=w([C(1,(0,t.Inject)(t.Injector)),C(2,(0,t.Inject)(t.LifecycleService)),C(3,a.IRenderManagerService),C(4,D),C(5,t.IUniverInstanceService),C(6,J),C(7,Y)],ha);function ga(e,n,r){let a,o=n.container;a=typeof o==`string`?document.getElementById(o)||_a(o):o instanceof HTMLElement?o:_a(`univer`);let s=e=>r(e,a);function c(){da(e,n,a,s)}return c(),(0,t.toDisposable)(()=>{(0,i.unmount)(a)})}function _a(e){let t=document.createElement(`div`);return t.id=e,t}let va=(0,t.createIdentifier)(`univer.ui.ui-controller`);var ya=`@univerjs/ui`,ba=`1.0.0-rc.0`;let xa=`UI_COLOR_PICKER_COMPONENT`,Sa=e=>{let{value:n,selections:i}=e,a=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`div`,{className:`univer-truncate univer-text-sm`,children:(0,r.useMemo)(()=>{var e;return n==null?``:a.t(((e=i.find(e=>e.value===n))==null?void 0:e.label)??``)},[n,i])})},Ca=`UI_PLUGIN_COMMON_LABEL_COMPONENT`,wa={frequent:[{emoji:`👍`,title:`Thumbs Up`},{emoji:`😀`,title:`Grinning Face`},{emoji:`😘`,title:`Face Blowing A Kiss`},{emoji:`😍`,title:`Smiling Face With Heart-eyes`},{emoji:`😆`,title:`Grinning Squinting Face`},{emoji:`😜`,title:`Winking Face With Tongue`},{emoji:`😅`,title:`Grinning Face With Sweat`},{emoji:`😂`,title:`Face With Tears Of Joy`},{emoji:`😱`,title:`Face Screaming In Fear`},{emoji:`😞`,title:`Disappointed Face`},{emoji:`😒`,title:`Unamused Face`}],people:[{emoji:`😀`,title:`Grinning Face`},{emoji:`😃`,title:`Grinning Face With Big Eyes`},{emoji:`😄`,title:`Grinning Face With Smiling Eyes`},{emoji:`😁`,title:`Beaming Face With Smiling Eyes`},{emoji:`😆`,title:`Grinning Squinting Face`},{emoji:`😅`,title:`Grinning Face With Sweat`},{emoji:`🤣`,title:`Rolling On The Floor Laughing`},{emoji:`😂`,title:`Face With Tears Of Joy`},{emoji:`🙂`,title:`Slightly Smiling Face`},{emoji:`🙃`,title:`Upside-down Face`},{emoji:`🫠`,title:`Melting Face`},{emoji:`😉`,title:`Winking Face`},{emoji:`😊`,title:`Smiling Face With Smiling Eyes`},{emoji:`😇`,title:`Smiling Face With Halo`},{emoji:`🥰`,title:`Smiling Face With Hearts`},{emoji:`😍`,title:`Smiling Face With Heart-eyes`},{emoji:`🤩`,title:`Star-struck`},{emoji:`😘`,title:`Face Blowing A Kiss`},{emoji:`😗`,title:`Kissing Face`},{emoji:`☺️`,title:`Smiling Face`},{emoji:`😚`,title:`Kissing Face With Closed Eyes`},{emoji:`😙`,title:`Kissing Face With Smiling Eyes`},{emoji:`🥲`,title:`Smiling Face With Tear`},{emoji:`😋`,title:`Face Savoring Food`},{emoji:`😛`,title:`Face With Tongue`},{emoji:`😜`,title:`Winking Face With Tongue`},{emoji:`🤪`,title:`Zany Face`},{emoji:`😝`,title:`Squinting Face With Tongue`},{emoji:`🤑`,title:`Money-mouth Face`},{emoji:`🤗`,title:`Smiling Face With Open Hands`},{emoji:`🤭`,title:`Face With Hand Over Mouth`},{emoji:`🫢`,title:`Face With Open Eyes And Hand Over Mouth`},{emoji:`🫣`,title:`Face With Peeking Eye`},{emoji:`🤫`,title:`Shushing Face`},{emoji:`🤔`,title:`Thinking Face`},{emoji:`🫡`,title:`Saluting Face`},{emoji:`🤐`,title:`Zipper-mouth Face`},{emoji:`🤨`,title:`Face With Raised Eyebrow`},{emoji:`😐`,title:`Neutral Face`},{emoji:`😑`,title:`Expressionless Face`},{emoji:`😶`,title:`Face Without Mouth`},{emoji:`🫥`,title:`Dotted Line Face`},{emoji:`😶‍🌫️`,title:`Face In Clouds`},{emoji:`😏`,title:`Smirking Face`},{emoji:`😒`,title:`Unamused Face`},{emoji:`🙄`,title:`Face With Rolling Eyes`},{emoji:`😬`,title:`Grimacing Face`},{emoji:`😮‍💨`,title:`Face Exhaling`},{emoji:`🤥`,title:`Lying Face`},{emoji:`🫨`,title:`Shaking Face`},{emoji:`🙂‍↔️`,title:`Head Shaking Horizontally`},{emoji:`🙂‍↕️`,title:`Head Shaking Vertically`},{emoji:`😌`,title:`Relieved Face`},{emoji:`😔`,title:`Pensive Face`},{emoji:`😪`,title:`Sleepy Face`},{emoji:`🤤`,title:`Drooling Face`},{emoji:`😴`,title:`Sleeping Face`},{emoji:`🫩`,title:`Face With Bags Under Eyes`},{emoji:`😷`,title:`Face With Medical Mask`},{emoji:`🤒`,title:`Face With Thermometer`},{emoji:`🤕`,title:`Face With Head-bandage`},{emoji:`🤢`,title:`Nauseated Face`},{emoji:`🤮`,title:`Face Vomiting`},{emoji:`🤧`,title:`Sneezing Face`},{emoji:`🥵`,title:`Hot Face`},{emoji:`🥶`,title:`Cold Face`},{emoji:`🥴`,title:`Woozy Face`},{emoji:`😵`,title:`Face With Crossed-out Eyes`},{emoji:`😵‍💫`,title:`Face With Spiral Eyes`},{emoji:`🤯`,title:`Exploding Head`},{emoji:`🤠`,title:`Cowboy Hat Face`},{emoji:`🥳`,title:`Partying Face`},{emoji:`🥸`,title:`Disguised Face`},{emoji:`😎`,title:`Smiling Face With Sunglasses`},{emoji:`🤓`,title:`Nerd Face`},{emoji:`🧐`,title:`Face With Monocle`},{emoji:`😕`,title:`Confused Face`},{emoji:`🫤`,title:`Face With Diagonal Mouth`},{emoji:`😟`,title:`Worried Face`},{emoji:`🙁`,title:`Slightly Frowning Face`},{emoji:`☹️`,title:`Frowning Face`},{emoji:`😮`,title:`Face With Open Mouth`},{emoji:`😯`,title:`Hushed Face`},{emoji:`😲`,title:`Astonished Face`},{emoji:`😳`,title:`Flushed Face`},{emoji:`🫪`,title:`Distorted Face`},{emoji:`🥺`,title:`Pleading Face`},{emoji:`🥹`,title:`Face Holding Back Tears`},{emoji:`😦`,title:`Frowning Face With Open Mouth`},{emoji:`😧`,title:`Anguished Face`},{emoji:`😨`,title:`Fearful Face`},{emoji:`😰`,title:`Anxious Face With Sweat`},{emoji:`😥`,title:`Sad But Relieved Face`},{emoji:`😢`,title:`Crying Face`},{emoji:`😭`,title:`Loudly Crying Face`},{emoji:`😱`,title:`Face Screaming In Fear`},{emoji:`😖`,title:`Confounded Face`},{emoji:`😣`,title:`Persevering Face`},{emoji:`😞`,title:`Disappointed Face`},{emoji:`😓`,title:`Downcast Face With Sweat`},{emoji:`😩`,title:`Weary Face`},{emoji:`😫`,title:`Tired Face`},{emoji:`🥱`,title:`Yawning Face`},{emoji:`😤`,title:`Face With Steam From Nose`},{emoji:`😡`,title:`Enraged Face`},{emoji:`😠`,title:`Angry Face`},{emoji:`🤬`,title:`Face With Symbols On Mouth`},{emoji:`😈`,title:`Smiling Face With Horns`},{emoji:`👿`,title:`Angry Face With Horns`},{emoji:`💀`,title:`Skull`},{emoji:`☠️`,title:`Skull And Crossbones`},{emoji:`💩`,title:`Pile Of Poo`},{emoji:`🤡`,title:`Clown Face`},{emoji:`👹`,title:`Ogre`},{emoji:`👺`,title:`Goblin`},{emoji:`👻`,title:`Ghost`},{emoji:`👽`,title:`Alien`},{emoji:`👾`,title:`Alien Monster`},{emoji:`🤖`,title:`Robot`},{emoji:`😺`,title:`Grinning Cat`},{emoji:`😸`,title:`Grinning Cat With Smiling Eyes`},{emoji:`😹`,title:`Cat With Tears Of Joy`},{emoji:`😻`,title:`Smiling Cat With Heart-eyes`},{emoji:`😼`,title:`Cat With Wry Smile`},{emoji:`😽`,title:`Kissing Cat`},{emoji:`🙀`,title:`Weary Cat`},{emoji:`😿`,title:`Crying Cat`},{emoji:`😾`,title:`Pouting Cat`},{emoji:`🙈`,title:`See-no-evil Monkey`},{emoji:`🙉`,title:`Hear-no-evil Monkey`},{emoji:`🙊`,title:`Speak-no-evil Monkey`},{emoji:`💌`,title:`Love Letter`},{emoji:`💘`,title:`Heart With Arrow`},{emoji:`💝`,title:`Heart With Ribbon`},{emoji:`💖`,title:`Sparkling Heart`},{emoji:`💗`,title:`Growing Heart`},{emoji:`💓`,title:`Beating Heart`},{emoji:`💞`,title:`Revolving Hearts`},{emoji:`💕`,title:`Two Hearts`},{emoji:`💟`,title:`Heart Decoration`},{emoji:`❣️`,title:`Heart Exclamation`},{emoji:`💔`,title:`Broken Heart`},{emoji:`❤️‍🔥`,title:`Heart On Fire`},{emoji:`❤️‍🩹`,title:`Mending Heart`},{emoji:`❤️`,title:`Red Heart`},{emoji:`🩷`,title:`Pink Heart`},{emoji:`🧡`,title:`Orange Heart`},{emoji:`💛`,title:`Yellow Heart`},{emoji:`💚`,title:`Green Heart`},{emoji:`💙`,title:`Blue Heart`},{emoji:`🩵`,title:`Light Blue Heart`},{emoji:`💜`,title:`Purple Heart`},{emoji:`🤎`,title:`Brown Heart`},{emoji:`🖤`,title:`Black Heart`},{emoji:`🩶`,title:`Grey Heart`},{emoji:`🤍`,title:`White Heart`},{emoji:`💋`,title:`Kiss Mark`},{emoji:`💯`,title:`Hundred Points`},{emoji:`💢`,title:`Anger Symbol`},{emoji:`🫯`,title:`Fight Cloud`},{emoji:`💥`,title:`Collision`},{emoji:`💫`,title:`Dizzy`},{emoji:`💦`,title:`Sweat Droplets`},{emoji:`💨`,title:`Dashing Away`},{emoji:`🕳️`,title:`Hole`},{emoji:`💬`,title:`Speech Balloon`},{emoji:`👁️‍🗨️`,title:`Eye In Speech Bubble`},{emoji:`🗨️`,title:`Left Speech Bubble`},{emoji:`🗯️`,title:`Right Anger Bubble`},{emoji:`💭`,title:`Thought Balloon`},{emoji:`💤`,title:`ZZZ`},{emoji:`👋`,title:`Waving Hand`,skinToneVariants:[{emoji:`👋🏻`,title:`Waving Hand: Light Skin Tone`},{emoji:`👋🏼`,title:`Waving Hand: Medium-light Skin Tone`},{emoji:`👋🏽`,title:`Waving Hand: Medium Skin Tone`},{emoji:`👋🏾`,title:`Waving Hand: Medium-dark Skin Tone`},{emoji:`👋🏿`,title:`Waving Hand: Dark Skin Tone`}]},{emoji:`🤚`,title:`Raised Back Of Hand`,skinToneVariants:[{emoji:`🤚🏻`,title:`Raised Back Of Hand: Light Skin Tone`},{emoji:`🤚🏼`,title:`Raised Back Of Hand: Medium-light Skin Tone`},{emoji:`🤚🏽`,title:`Raised Back Of Hand: Medium Skin Tone`},{emoji:`🤚🏾`,title:`Raised Back Of Hand: Medium-dark Skin Tone`},{emoji:`🤚🏿`,title:`Raised Back Of Hand: Dark Skin Tone`}]},{emoji:`🖐️`,title:`Hand With Fingers Splayed`,skinToneVariants:[{emoji:`🖐🏻`,title:`Hand With Fingers Splayed: Light Skin Tone`},{emoji:`🖐🏼`,title:`Hand With Fingers Splayed: Medium-light Skin Tone`},{emoji:`🖐🏽`,title:`Hand With Fingers Splayed: Medium Skin Tone`},{emoji:`🖐🏾`,title:`Hand With Fingers Splayed: Medium-dark Skin Tone`},{emoji:`🖐🏿`,title:`Hand With Fingers Splayed: Dark Skin Tone`}]},{emoji:`✋`,title:`Raised Hand`,skinToneVariants:[{emoji:`✋🏻`,title:`Raised Hand: Light Skin Tone`},{emoji:`✋🏼`,title:`Raised Hand: Medium-light Skin Tone`},{emoji:`✋🏽`,title:`Raised Hand: Medium Skin Tone`},{emoji:`✋🏾`,title:`Raised Hand: Medium-dark Skin Tone`},{emoji:`✋🏿`,title:`Raised Hand: Dark Skin Tone`}]},{emoji:`🖖`,title:`Vulcan Salute`,skinToneVariants:[{emoji:`🖖🏻`,title:`Vulcan Salute: Light Skin Tone`},{emoji:`🖖🏼`,title:`Vulcan Salute: Medium-light Skin Tone`},{emoji:`🖖🏽`,title:`Vulcan Salute: Medium Skin Tone`},{emoji:`🖖🏾`,title:`Vulcan Salute: Medium-dark Skin Tone`},{emoji:`🖖🏿`,title:`Vulcan Salute: Dark Skin Tone`}]},{emoji:`🫱`,title:`Rightwards Hand`,skinToneVariants:[{emoji:`🫱🏻`,title:`Rightwards Hand: Light Skin Tone`},{emoji:`🫱🏼`,title:`Rightwards Hand: Medium-light Skin Tone`},{emoji:`🫱🏽`,title:`Rightwards Hand: Medium Skin Tone`},{emoji:`🫱🏾`,title:`Rightwards Hand: Medium-dark Skin Tone`},{emoji:`🫱🏿`,title:`Rightwards Hand: Dark Skin Tone`}]},{emoji:`🫲`,title:`Leftwards Hand`,skinToneVariants:[{emoji:`🫲🏻`,title:`Leftwards Hand: Light Skin Tone`},{emoji:`🫲🏼`,title:`Leftwards Hand: Medium-light Skin Tone`},{emoji:`🫲🏽`,title:`Leftwards Hand: Medium Skin Tone`},{emoji:`🫲🏾`,title:`Leftwards Hand: Medium-dark Skin Tone`},{emoji:`🫲🏿`,title:`Leftwards Hand: Dark Skin Tone`}]},{emoji:`🫳`,title:`Palm Down Hand`,skinToneVariants:[{emoji:`🫳🏻`,title:`Palm Down Hand: Light Skin Tone`},{emoji:`🫳🏼`,title:`Palm Down Hand: Medium-light Skin Tone`},{emoji:`🫳🏽`,title:`Palm Down Hand: Medium Skin Tone`},{emoji:`🫳🏾`,title:`Palm Down Hand: Medium-dark Skin Tone`},{emoji:`🫳🏿`,title:`Palm Down Hand: Dark Skin Tone`}]},{emoji:`🫴`,title:`Palm Up Hand`,skinToneVariants:[{emoji:`🫴🏻`,title:`Palm Up Hand: Light Skin Tone`},{emoji:`🫴🏼`,title:`Palm Up Hand: Medium-light Skin Tone`},{emoji:`🫴🏽`,title:`Palm Up Hand: Medium Skin Tone`},{emoji:`🫴🏾`,title:`Palm Up Hand: Medium-dark Skin Tone`},{emoji:`🫴🏿`,title:`Palm Up Hand: Dark Skin Tone`}]},{emoji:`🫷`,title:`Leftwards Pushing Hand`,skinToneVariants:[{emoji:`🫷🏻`,title:`Leftwards Pushing Hand: Light Skin Tone`},{emoji:`🫷🏼`,title:`Leftwards Pushing Hand: Medium-light Skin Tone`},{emoji:`🫷🏽`,title:`Leftwards Pushing Hand: Medium Skin Tone`},{emoji:`🫷🏾`,title:`Leftwards Pushing Hand: Medium-dark Skin Tone`},{emoji:`🫷🏿`,title:`Leftwards Pushing Hand: Dark Skin Tone`}]},{emoji:`🫸`,title:`Rightwards Pushing Hand`,skinToneVariants:[{emoji:`🫸🏻`,title:`Rightwards Pushing Hand: Light Skin Tone`},{emoji:`🫸🏼`,title:`Rightwards Pushing Hand: Medium-light Skin Tone`},{emoji:`🫸🏽`,title:`Rightwards Pushing Hand: Medium Skin Tone`},{emoji:`🫸🏾`,title:`Rightwards Pushing Hand: Medium-dark Skin Tone`},{emoji:`🫸🏿`,title:`Rightwards Pushing Hand: Dark Skin Tone`}]},{emoji:`👌`,title:`OK Hand`,skinToneVariants:[{emoji:`👌🏻`,title:`OK Hand: Light Skin Tone`},{emoji:`👌🏼`,title:`OK Hand: Medium-light Skin Tone`},{emoji:`👌🏽`,title:`OK Hand: Medium Skin Tone`},{emoji:`👌🏾`,title:`OK Hand: Medium-dark Skin Tone`},{emoji:`👌🏿`,title:`OK Hand: Dark Skin Tone`}]},{emoji:`🤌`,title:`Pinched Fingers`,skinToneVariants:[{emoji:`🤌🏻`,title:`Pinched Fingers: Light Skin Tone`},{emoji:`🤌🏼`,title:`Pinched Fingers: Medium-light Skin Tone`},{emoji:`🤌🏽`,title:`Pinched Fingers: Medium Skin Tone`},{emoji:`🤌🏾`,title:`Pinched Fingers: Medium-dark Skin Tone`},{emoji:`🤌🏿`,title:`Pinched Fingers: Dark Skin Tone`}]},{emoji:`🤏`,title:`Pinching Hand`,skinToneVariants:[{emoji:`🤏🏻`,title:`Pinching Hand: Light Skin Tone`},{emoji:`🤏🏼`,title:`Pinching Hand: Medium-light Skin Tone`},{emoji:`🤏🏽`,title:`Pinching Hand: Medium Skin Tone`},{emoji:`🤏🏾`,title:`Pinching Hand: Medium-dark Skin Tone`},{emoji:`🤏🏿`,title:`Pinching Hand: Dark Skin Tone`}]},{emoji:`✌️`,title:`Victory Hand`,skinToneVariants:[{emoji:`✌🏻`,title:`Victory Hand: Light Skin Tone`},{emoji:`✌🏼`,title:`Victory Hand: Medium-light Skin Tone`},{emoji:`✌🏽`,title:`Victory Hand: Medium Skin Tone`},{emoji:`✌🏾`,title:`Victory Hand: Medium-dark Skin Tone`},{emoji:`✌🏿`,title:`Victory Hand: Dark Skin Tone`}]},{emoji:`🤞`,title:`Crossed Fingers`,skinToneVariants:[{emoji:`🤞🏻`,title:`Crossed Fingers: Light Skin Tone`},{emoji:`🤞🏼`,title:`Crossed Fingers: Medium-light Skin Tone`},{emoji:`🤞🏽`,title:`Crossed Fingers: Medium Skin Tone`},{emoji:`🤞🏾`,title:`Crossed Fingers: Medium-dark Skin Tone`},{emoji:`🤞🏿`,title:`Crossed Fingers: Dark Skin Tone`}]},{emoji:`🫰`,title:`Hand With Index Finger And Thumb Crossed`,skinToneVariants:[{emoji:`🫰🏻`,title:`Hand With Index Finger And Thumb Crossed: Light Skin Tone`},{emoji:`🫰🏼`,title:`Hand With Index Finger And Thumb Crossed: Medium-light Skin Tone`},{emoji:`🫰🏽`,title:`Hand With Index Finger And Thumb Crossed: Medium Skin Tone`},{emoji:`🫰🏾`,title:`Hand With Index Finger And Thumb Crossed: Medium-dark Skin Tone`},{emoji:`🫰🏿`,title:`Hand With Index Finger And Thumb Crossed: Dark Skin Tone`}]},{emoji:`🤟`,title:`Love-you Gesture`,skinToneVariants:[{emoji:`🤟🏻`,title:`Love-you Gesture: Light Skin Tone`},{emoji:`🤟🏼`,title:`Love-you Gesture: Medium-light Skin Tone`},{emoji:`🤟🏽`,title:`Love-you Gesture: Medium Skin Tone`},{emoji:`🤟🏾`,title:`Love-you Gesture: Medium-dark Skin Tone`},{emoji:`🤟🏿`,title:`Love-you Gesture: Dark Skin Tone`}]},{emoji:`🤘`,title:`Sign Of The Horns`,skinToneVariants:[{emoji:`🤘🏻`,title:`Sign Of The Horns: Light Skin Tone`},{emoji:`🤘🏼`,title:`Sign Of The Horns: Medium-light Skin Tone`},{emoji:`🤘🏽`,title:`Sign Of The Horns: Medium Skin Tone`},{emoji:`🤘🏾`,title:`Sign Of The Horns: Medium-dark Skin Tone`},{emoji:`🤘🏿`,title:`Sign Of The Horns: Dark Skin Tone`}]},{emoji:`🤙`,title:`Call Me Hand`,skinToneVariants:[{emoji:`🤙🏻`,title:`Call Me Hand: Light Skin Tone`},{emoji:`🤙🏼`,title:`Call Me Hand: Medium-light Skin Tone`},{emoji:`🤙🏽`,title:`Call Me Hand: Medium Skin Tone`},{emoji:`🤙🏾`,title:`Call Me Hand: Medium-dark Skin Tone`},{emoji:`🤙🏿`,title:`Call Me Hand: Dark Skin Tone`}]},{emoji:`👈`,title:`Backhand Index Pointing Left`,skinToneVariants:[{emoji:`👈🏻`,title:`Backhand Index Pointing Left: Light Skin Tone`},{emoji:`👈🏼`,title:`Backhand Index Pointing Left: Medium-light Skin Tone`},{emoji:`👈🏽`,title:`Backhand Index Pointing Left: Medium Skin Tone`},{emoji:`👈🏾`,title:`Backhand Index Pointing Left: Medium-dark Skin Tone`},{emoji:`👈🏿`,title:`Backhand Index Pointing Left: Dark Skin Tone`}]},{emoji:`👉`,title:`Backhand Index Pointing Right`,skinToneVariants:[{emoji:`👉🏻`,title:`Backhand Index Pointing Right: Light Skin Tone`},{emoji:`👉🏼`,title:`Backhand Index Pointing Right: Medium-light Skin Tone`},{emoji:`👉🏽`,title:`Backhand Index Pointing Right: Medium Skin Tone`},{emoji:`👉🏾`,title:`Backhand Index Pointing Right: Medium-dark Skin Tone`},{emoji:`👉🏿`,title:`Backhand Index Pointing Right: Dark Skin Tone`}]},{emoji:`👆`,title:`Backhand Index Pointing Up`,skinToneVariants:[{emoji:`👆🏻`,title:`Backhand Index Pointing Up: Light Skin Tone`},{emoji:`👆🏼`,title:`Backhand Index Pointing Up: Medium-light Skin Tone`},{emoji:`👆🏽`,title:`Backhand Index Pointing Up: Medium Skin Tone`},{emoji:`👆🏾`,title:`Backhand Index Pointing Up: Medium-dark Skin Tone`},{emoji:`👆🏿`,title:`Backhand Index Pointing Up: Dark Skin Tone`}]},{emoji:`🖕`,title:`Middle Finger`,skinToneVariants:[{emoji:`🖕🏻`,title:`Middle Finger: Light Skin Tone`},{emoji:`🖕🏼`,title:`Middle Finger: Medium-light Skin Tone`},{emoji:`🖕🏽`,title:`Middle Finger: Medium Skin Tone`},{emoji:`🖕🏾`,title:`Middle Finger: Medium-dark Skin Tone`},{emoji:`🖕🏿`,title:`Middle Finger: Dark Skin Tone`}]},{emoji:`👇`,title:`Backhand Index Pointing Down`,skinToneVariants:[{emoji:`👇🏻`,title:`Backhand Index Pointing Down: Light Skin Tone`},{emoji:`👇🏼`,title:`Backhand Index Pointing Down: Medium-light Skin Tone`},{emoji:`👇🏽`,title:`Backhand Index Pointing Down: Medium Skin Tone`},{emoji:`👇🏾`,title:`Backhand Index Pointing Down: Medium-dark Skin Tone`},{emoji:`👇🏿`,title:`Backhand Index Pointing Down: Dark Skin Tone`}]},{emoji:`☝️`,title:`Index Pointing Up`,skinToneVariants:[{emoji:`☝🏻`,title:`Index Pointing Up: Light Skin Tone`},{emoji:`☝🏼`,title:`Index Pointing Up: Medium-light Skin Tone`},{emoji:`☝🏽`,title:`Index Pointing Up: Medium Skin Tone`},{emoji:`☝🏾`,title:`Index Pointing Up: Medium-dark Skin Tone`},{emoji:`☝🏿`,title:`Index Pointing Up: Dark Skin Tone`}]},{emoji:`🫵`,title:`Index Pointing At The Viewer`,skinToneVariants:[{emoji:`🫵🏻`,title:`Index Pointing At The Viewer: Light Skin Tone`},{emoji:`🫵🏼`,title:`Index Pointing At The Viewer: Medium-light Skin Tone`},{emoji:`🫵🏽`,title:`Index Pointing At The Viewer: Medium Skin Tone`},{emoji:`🫵🏾`,title:`Index Pointing At The Viewer: Medium-dark Skin Tone`},{emoji:`🫵🏿`,title:`Index Pointing At The Viewer: Dark Skin Tone`}]},{emoji:`👍`,title:`Thumbs Up`,skinToneVariants:[{emoji:`👍🏻`,title:`Thumbs Up: Light Skin Tone`},{emoji:`👍🏼`,title:`Thumbs Up: Medium-light Skin Tone`},{emoji:`👍🏽`,title:`Thumbs Up: Medium Skin Tone`},{emoji:`👍🏾`,title:`Thumbs Up: Medium-dark Skin Tone`},{emoji:`👍🏿`,title:`Thumbs Up: Dark Skin Tone`}]},{emoji:`👎`,title:`Thumbs Down`,skinToneVariants:[{emoji:`👎🏻`,title:`Thumbs Down: Light Skin Tone`},{emoji:`👎🏼`,title:`Thumbs Down: Medium-light Skin Tone`},{emoji:`👎🏽`,title:`Thumbs Down: Medium Skin Tone`},{emoji:`👎🏾`,title:`Thumbs Down: Medium-dark Skin Tone`},{emoji:`👎🏿`,title:`Thumbs Down: Dark Skin Tone`}]},{emoji:`✊`,title:`Raised Fist`,skinToneVariants:[{emoji:`✊🏻`,title:`Raised Fist: Light Skin Tone`},{emoji:`✊🏼`,title:`Raised Fist: Medium-light Skin Tone`},{emoji:`✊🏽`,title:`Raised Fist: Medium Skin Tone`},{emoji:`✊🏾`,title:`Raised Fist: Medium-dark Skin Tone`},{emoji:`✊🏿`,title:`Raised Fist: Dark Skin Tone`}]},{emoji:`👊`,title:`Oncoming Fist`,skinToneVariants:[{emoji:`👊🏻`,title:`Oncoming Fist: Light Skin Tone`},{emoji:`👊🏼`,title:`Oncoming Fist: Medium-light Skin Tone`},{emoji:`👊🏽`,title:`Oncoming Fist: Medium Skin Tone`},{emoji:`👊🏾`,title:`Oncoming Fist: Medium-dark Skin Tone`},{emoji:`👊🏿`,title:`Oncoming Fist: Dark Skin Tone`}]},{emoji:`🤛`,title:`Left-facing Fist`,skinToneVariants:[{emoji:`🤛🏻`,title:`Left-facing Fist: Light Skin Tone`},{emoji:`🤛🏼`,title:`Left-facing Fist: Medium-light Skin Tone`},{emoji:`🤛🏽`,title:`Left-facing Fist: Medium Skin Tone`},{emoji:`🤛🏾`,title:`Left-facing Fist: Medium-dark Skin Tone`},{emoji:`🤛🏿`,title:`Left-facing Fist: Dark Skin Tone`}]},{emoji:`🤜`,title:`Right-facing Fist`,skinToneVariants:[{emoji:`🤜🏻`,title:`Right-facing Fist: Light Skin Tone`},{emoji:`🤜🏼`,title:`Right-facing Fist: Medium-light Skin Tone`},{emoji:`🤜🏽`,title:`Right-facing Fist: Medium Skin Tone`},{emoji:`🤜🏾`,title:`Right-facing Fist: Medium-dark Skin Tone`},{emoji:`🤜🏿`,title:`Right-facing Fist: Dark Skin Tone`}]},{emoji:`👏`,title:`Clapping Hands`,skinToneVariants:[{emoji:`👏🏻`,title:`Clapping Hands: Light Skin Tone`},{emoji:`👏🏼`,title:`Clapping Hands: Medium-light Skin Tone`},{emoji:`👏🏽`,title:`Clapping Hands: Medium Skin Tone`},{emoji:`👏🏾`,title:`Clapping Hands: Medium-dark Skin Tone`},{emoji:`👏🏿`,title:`Clapping Hands: Dark Skin Tone`}]},{emoji:`🙌`,title:`Raising Hands`,skinToneVariants:[{emoji:`🙌🏻`,title:`Raising Hands: Light Skin Tone`},{emoji:`🙌🏼`,title:`Raising Hands: Medium-light Skin Tone`},{emoji:`🙌🏽`,title:`Raising Hands: Medium Skin Tone`},{emoji:`🙌🏾`,title:`Raising Hands: Medium-dark Skin Tone`},{emoji:`🙌🏿`,title:`Raising Hands: Dark Skin Tone`}]},{emoji:`🫶`,title:`Heart Hands`,skinToneVariants:[{emoji:`🫶🏻`,title:`Heart Hands: Light Skin Tone`},{emoji:`🫶🏼`,title:`Heart Hands: Medium-light Skin Tone`},{emoji:`🫶🏽`,title:`Heart Hands: Medium Skin Tone`},{emoji:`🫶🏾`,title:`Heart Hands: Medium-dark Skin Tone`},{emoji:`🫶🏿`,title:`Heart Hands: Dark Skin Tone`}]},{emoji:`👐`,title:`Open Hands`,skinToneVariants:[{emoji:`👐🏻`,title:`Open Hands: Light Skin Tone`},{emoji:`👐🏼`,title:`Open Hands: Medium-light Skin Tone`},{emoji:`👐🏽`,title:`Open Hands: Medium Skin Tone`},{emoji:`👐🏾`,title:`Open Hands: Medium-dark Skin Tone`},{emoji:`👐🏿`,title:`Open Hands: Dark Skin Tone`}]},{emoji:`🤲`,title:`Palms Up Together`,skinToneVariants:[{emoji:`🤲🏻`,title:`Palms Up Together: Light Skin Tone`},{emoji:`🤲🏼`,title:`Palms Up Together: Medium-light Skin Tone`},{emoji:`🤲🏽`,title:`Palms Up Together: Medium Skin Tone`},{emoji:`🤲🏾`,title:`Palms Up Together: Medium-dark Skin Tone`},{emoji:`🤲🏿`,title:`Palms Up Together: Dark Skin Tone`}]},{emoji:`🤝`,title:`Handshake`,skinToneVariants:[{emoji:`🤝🏻`,title:`Handshake: Light Skin Tone`},{emoji:`🤝🏼`,title:`Handshake: Medium-light Skin Tone`},{emoji:`🤝🏽`,title:`Handshake: Medium Skin Tone`},{emoji:`🤝🏾`,title:`Handshake: Medium-dark Skin Tone`},{emoji:`🤝🏿`,title:`Handshake: Dark Skin Tone`},{emoji:`🫱🏻‍🫲🏼`,title:`Handshake: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏻‍🫲🏽`,title:`Handshake: Light Skin Tone, Medium Skin Tone`},{emoji:`🫱🏻‍🫲🏾`,title:`Handshake: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🫱🏻‍🫲🏿`,title:`Handshake: Light Skin Tone, Dark Skin Tone`},{emoji:`🫱🏼‍🫲🏻`,title:`Handshake: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🫱🏼‍🫲🏽`,title:`Handshake: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🫱🏼‍🫲🏾`,title:`Handshake: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🫱🏼‍🫲🏿`,title:`Handshake: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🫱🏽‍🫲🏻`,title:`Handshake: Medium Skin Tone, Light Skin Tone`},{emoji:`🫱🏽‍🫲🏼`,title:`Handshake: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏽‍🫲🏾`,title:`Handshake: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🫱🏽‍🫲🏿`,title:`Handshake: Medium Skin Tone, Dark Skin Tone`},{emoji:`🫱🏾‍🫲🏻`,title:`Handshake: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🫱🏾‍🫲🏼`,title:`Handshake: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏾‍🫲🏽`,title:`Handshake: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🫱🏾‍🫲🏿`,title:`Handshake: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🫱🏿‍🫲🏻`,title:`Handshake: Dark Skin Tone, Light Skin Tone`},{emoji:`🫱🏿‍🫲🏼`,title:`Handshake: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏿‍🫲🏽`,title:`Handshake: Dark Skin Tone, Medium Skin Tone`},{emoji:`🫱🏿‍🫲🏾`,title:`Handshake: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🙏`,title:`Folded Hands`,skinToneVariants:[{emoji:`🙏🏻`,title:`Folded Hands: Light Skin Tone`},{emoji:`🙏🏼`,title:`Folded Hands: Medium-light Skin Tone`},{emoji:`🙏🏽`,title:`Folded Hands: Medium Skin Tone`},{emoji:`🙏🏾`,title:`Folded Hands: Medium-dark Skin Tone`},{emoji:`🙏🏿`,title:`Folded Hands: Dark Skin Tone`}]},{emoji:`✍️`,title:`Writing Hand`,skinToneVariants:[{emoji:`✍🏻`,title:`Writing Hand: Light Skin Tone`},{emoji:`✍🏼`,title:`Writing Hand: Medium-light Skin Tone`},{emoji:`✍🏽`,title:`Writing Hand: Medium Skin Tone`},{emoji:`✍🏾`,title:`Writing Hand: Medium-dark Skin Tone`},{emoji:`✍🏿`,title:`Writing Hand: Dark Skin Tone`}]},{emoji:`💅`,title:`Nail Polish`,skinToneVariants:[{emoji:`💅🏻`,title:`Nail Polish: Light Skin Tone`},{emoji:`💅🏼`,title:`Nail Polish: Medium-light Skin Tone`},{emoji:`💅🏽`,title:`Nail Polish: Medium Skin Tone`},{emoji:`💅🏾`,title:`Nail Polish: Medium-dark Skin Tone`},{emoji:`💅🏿`,title:`Nail Polish: Dark Skin Tone`}]},{emoji:`🤳`,title:`Selfie`,skinToneVariants:[{emoji:`🤳🏻`,title:`Selfie: Light Skin Tone`},{emoji:`🤳🏼`,title:`Selfie: Medium-light Skin Tone`},{emoji:`🤳🏽`,title:`Selfie: Medium Skin Tone`},{emoji:`🤳🏾`,title:`Selfie: Medium-dark Skin Tone`},{emoji:`🤳🏿`,title:`Selfie: Dark Skin Tone`}]},{emoji:`💪`,title:`Flexed Biceps`,skinToneVariants:[{emoji:`💪🏻`,title:`Flexed Biceps: Light Skin Tone`},{emoji:`💪🏼`,title:`Flexed Biceps: Medium-light Skin Tone`},{emoji:`💪🏽`,title:`Flexed Biceps: Medium Skin Tone`},{emoji:`💪🏾`,title:`Flexed Biceps: Medium-dark Skin Tone`},{emoji:`💪🏿`,title:`Flexed Biceps: Dark Skin Tone`}]},{emoji:`🦾`,title:`Mechanical Arm`},{emoji:`🦿`,title:`Mechanical Leg`},{emoji:`🦵`,title:`Leg`,skinToneVariants:[{emoji:`🦵🏻`,title:`Leg: Light Skin Tone`},{emoji:`🦵🏼`,title:`Leg: Medium-light Skin Tone`},{emoji:`🦵🏽`,title:`Leg: Medium Skin Tone`},{emoji:`🦵🏾`,title:`Leg: Medium-dark Skin Tone`},{emoji:`🦵🏿`,title:`Leg: Dark Skin Tone`}]},{emoji:`🦶`,title:`Foot`,skinToneVariants:[{emoji:`🦶🏻`,title:`Foot: Light Skin Tone`},{emoji:`🦶🏼`,title:`Foot: Medium-light Skin Tone`},{emoji:`🦶🏽`,title:`Foot: Medium Skin Tone`},{emoji:`🦶🏾`,title:`Foot: Medium-dark Skin Tone`},{emoji:`🦶🏿`,title:`Foot: Dark Skin Tone`}]},{emoji:`👂`,title:`Ear`,skinToneVariants:[{emoji:`👂🏻`,title:`Ear: Light Skin Tone`},{emoji:`👂🏼`,title:`Ear: Medium-light Skin Tone`},{emoji:`👂🏽`,title:`Ear: Medium Skin Tone`},{emoji:`👂🏾`,title:`Ear: Medium-dark Skin Tone`},{emoji:`👂🏿`,title:`Ear: Dark Skin Tone`}]},{emoji:`🦻`,title:`Ear With Hearing Aid`,skinToneVariants:[{emoji:`🦻🏻`,title:`Ear With Hearing Aid: Light Skin Tone`},{emoji:`🦻🏼`,title:`Ear With Hearing Aid: Medium-light Skin Tone`},{emoji:`🦻🏽`,title:`Ear With Hearing Aid: Medium Skin Tone`},{emoji:`🦻🏾`,title:`Ear With Hearing Aid: Medium-dark Skin Tone`},{emoji:`🦻🏿`,title:`Ear With Hearing Aid: Dark Skin Tone`}]},{emoji:`👃`,title:`Nose`,skinToneVariants:[{emoji:`👃🏻`,title:`Nose: Light Skin Tone`},{emoji:`👃🏼`,title:`Nose: Medium-light Skin Tone`},{emoji:`👃🏽`,title:`Nose: Medium Skin Tone`},{emoji:`👃🏾`,title:`Nose: Medium-dark Skin Tone`},{emoji:`👃🏿`,title:`Nose: Dark Skin Tone`}]},{emoji:`🧠`,title:`Brain`},{emoji:`🫀`,title:`Anatomical Heart`},{emoji:`🫁`,title:`Lungs`},{emoji:`🦷`,title:`Tooth`},{emoji:`🦴`,title:`Bone`},{emoji:`👀`,title:`Eyes`},{emoji:`👁️`,title:`Eye`},{emoji:`👅`,title:`Tongue`},{emoji:`👄`,title:`Mouth`},{emoji:`🫦`,title:`Biting Lip`},{emoji:`👶`,title:`Baby`,skinToneVariants:[{emoji:`👶🏻`,title:`Baby: Light Skin Tone`},{emoji:`👶🏼`,title:`Baby: Medium-light Skin Tone`},{emoji:`👶🏽`,title:`Baby: Medium Skin Tone`},{emoji:`👶🏾`,title:`Baby: Medium-dark Skin Tone`},{emoji:`👶🏿`,title:`Baby: Dark Skin Tone`}]},{emoji:`🧒`,title:`Child`,skinToneVariants:[{emoji:`🧒🏻`,title:`Child: Light Skin Tone`},{emoji:`🧒🏼`,title:`Child: Medium-light Skin Tone`},{emoji:`🧒🏽`,title:`Child: Medium Skin Tone`},{emoji:`🧒🏾`,title:`Child: Medium-dark Skin Tone`},{emoji:`🧒🏿`,title:`Child: Dark Skin Tone`}]},{emoji:`👦`,title:`Boy`,skinToneVariants:[{emoji:`👦🏻`,title:`Boy: Light Skin Tone`},{emoji:`👦🏼`,title:`Boy: Medium-light Skin Tone`},{emoji:`👦🏽`,title:`Boy: Medium Skin Tone`},{emoji:`👦🏾`,title:`Boy: Medium-dark Skin Tone`},{emoji:`👦🏿`,title:`Boy: Dark Skin Tone`}]},{emoji:`👧`,title:`Girl`,skinToneVariants:[{emoji:`👧🏻`,title:`Girl: Light Skin Tone`},{emoji:`👧🏼`,title:`Girl: Medium-light Skin Tone`},{emoji:`👧🏽`,title:`Girl: Medium Skin Tone`},{emoji:`👧🏾`,title:`Girl: Medium-dark Skin Tone`},{emoji:`👧🏿`,title:`Girl: Dark Skin Tone`}]},{emoji:`🧑`,title:`Person`,skinToneVariants:[{emoji:`🧑🏻`,title:`Person: Light Skin Tone`},{emoji:`🧑🏼`,title:`Person: Medium-light Skin Tone`},{emoji:`🧑🏽`,title:`Person: Medium Skin Tone`},{emoji:`🧑🏾`,title:`Person: Medium-dark Skin Tone`},{emoji:`🧑🏿`,title:`Person: Dark Skin Tone`}]},{emoji:`👱`,title:`Person: Blond Hair`,skinToneVariants:[{emoji:`👱🏻`,title:`Person: Light Skin Tone, Blond Hair`},{emoji:`👱🏼`,title:`Person: Medium-light Skin Tone, Blond Hair`},{emoji:`👱🏽`,title:`Person: Medium Skin Tone, Blond Hair`},{emoji:`👱🏾`,title:`Person: Medium-dark Skin Tone, Blond Hair`},{emoji:`👱🏿`,title:`Person: Dark Skin Tone, Blond Hair`}]},{emoji:`👨`,title:`Man`,skinToneVariants:[{emoji:`👨🏻`,title:`Man: Light Skin Tone`},{emoji:`👨🏼`,title:`Man: Medium-light Skin Tone`},{emoji:`👨🏽`,title:`Man: Medium Skin Tone`},{emoji:`👨🏾`,title:`Man: Medium-dark Skin Tone`},{emoji:`👨🏿`,title:`Man: Dark Skin Tone`}]},{emoji:`🧔`,title:`Person: Beard`,skinToneVariants:[{emoji:`🧔🏻`,title:`Person: Light Skin Tone, Beard`},{emoji:`🧔🏼`,title:`Person: Medium-light Skin Tone, Beard`},{emoji:`🧔🏽`,title:`Person: Medium Skin Tone, Beard`},{emoji:`🧔🏾`,title:`Person: Medium-dark Skin Tone, Beard`},{emoji:`🧔🏿`,title:`Person: Dark Skin Tone, Beard`}]},{emoji:`🧔‍♂️`,title:`Man: Beard`,skinToneVariants:[{emoji:`🧔🏻‍♂️`,title:`Man: Light Skin Tone, Beard`},{emoji:`🧔🏼‍♂️`,title:`Man: Medium-light Skin Tone, Beard`},{emoji:`🧔🏽‍♂️`,title:`Man: Medium Skin Tone, Beard`},{emoji:`🧔🏾‍♂️`,title:`Man: Medium-dark Skin Tone, Beard`},{emoji:`🧔🏿‍♂️`,title:`Man: Dark Skin Tone, Beard`}]},{emoji:`🧔‍♀️`,title:`Woman: Beard`,skinToneVariants:[{emoji:`🧔🏻‍♀️`,title:`Woman: Light Skin Tone, Beard`},{emoji:`🧔🏼‍♀️`,title:`Woman: Medium-light Skin Tone, Beard`},{emoji:`🧔🏽‍♀️`,title:`Woman: Medium Skin Tone, Beard`},{emoji:`🧔🏾‍♀️`,title:`Woman: Medium-dark Skin Tone, Beard`},{emoji:`🧔🏿‍♀️`,title:`Woman: Dark Skin Tone, Beard`}]},{emoji:`👨‍🦰`,title:`Man: Red Hair`,skinToneVariants:[{emoji:`👨🏻‍🦰`,title:`Man: Light Skin Tone, Red Hair`},{emoji:`👨🏼‍🦰`,title:`Man: Medium-light Skin Tone, Red Hair`},{emoji:`👨🏽‍🦰`,title:`Man: Medium Skin Tone, Red Hair`},{emoji:`👨🏾‍🦰`,title:`Man: Medium-dark Skin Tone, Red Hair`},{emoji:`👨🏿‍🦰`,title:`Man: Dark Skin Tone, Red Hair`}]},{emoji:`👨‍🦱`,title:`Man: Curly Hair`,skinToneVariants:[{emoji:`👨🏻‍🦱`,title:`Man: Light Skin Tone, Curly Hair`},{emoji:`👨🏼‍🦱`,title:`Man: Medium-light Skin Tone, Curly Hair`},{emoji:`👨🏽‍🦱`,title:`Man: Medium Skin Tone, Curly Hair`},{emoji:`👨🏾‍🦱`,title:`Man: Medium-dark Skin Tone, Curly Hair`},{emoji:`👨🏿‍🦱`,title:`Man: Dark Skin Tone, Curly Hair`}]},{emoji:`👨‍🦳`,title:`Man: White Hair`,skinToneVariants:[{emoji:`👨🏻‍🦳`,title:`Man: Light Skin Tone, White Hair`},{emoji:`👨🏼‍🦳`,title:`Man: Medium-light Skin Tone, White Hair`},{emoji:`👨🏽‍🦳`,title:`Man: Medium Skin Tone, White Hair`},{emoji:`👨🏾‍🦳`,title:`Man: Medium-dark Skin Tone, White Hair`},{emoji:`👨🏿‍🦳`,title:`Man: Dark Skin Tone, White Hair`}]},{emoji:`👨‍🦲`,title:`Man: Bald`,skinToneVariants:[{emoji:`👨🏻‍🦲`,title:`Man: Light Skin Tone, Bald`},{emoji:`👨🏼‍🦲`,title:`Man: Medium-light Skin Tone, Bald`},{emoji:`👨🏽‍🦲`,title:`Man: Medium Skin Tone, Bald`},{emoji:`👨🏾‍🦲`,title:`Man: Medium-dark Skin Tone, Bald`},{emoji:`👨🏿‍🦲`,title:`Man: Dark Skin Tone, Bald`}]},{emoji:`👩`,title:`Woman`,skinToneVariants:[{emoji:`👩🏻`,title:`Woman: Light Skin Tone`},{emoji:`👩🏼`,title:`Woman: Medium-light Skin Tone`},{emoji:`👩🏽`,title:`Woman: Medium Skin Tone`},{emoji:`👩🏾`,title:`Woman: Medium-dark Skin Tone`},{emoji:`👩🏿`,title:`Woman: Dark Skin Tone`}]},{emoji:`👩‍🦰`,title:`Woman: Red Hair`,skinToneVariants:[{emoji:`👩🏻‍🦰`,title:`Woman: Light Skin Tone, Red Hair`},{emoji:`👩🏼‍🦰`,title:`Woman: Medium-light Skin Tone, Red Hair`},{emoji:`👩🏽‍🦰`,title:`Woman: Medium Skin Tone, Red Hair`},{emoji:`👩🏾‍🦰`,title:`Woman: Medium-dark Skin Tone, Red Hair`},{emoji:`👩🏿‍🦰`,title:`Woman: Dark Skin Tone, Red Hair`}]},{emoji:`🧑‍🦰`,title:`Person: Red Hair`,skinToneVariants:[{emoji:`🧑🏻‍🦰`,title:`Person: Light Skin Tone, Red Hair`},{emoji:`🧑🏼‍🦰`,title:`Person: Medium-light Skin Tone, Red Hair`},{emoji:`🧑🏽‍🦰`,title:`Person: Medium Skin Tone, Red Hair`},{emoji:`🧑🏾‍🦰`,title:`Person: Medium-dark Skin Tone, Red Hair`},{emoji:`🧑🏿‍🦰`,title:`Person: Dark Skin Tone, Red Hair`}]},{emoji:`👩‍🦱`,title:`Woman: Curly Hair`,skinToneVariants:[{emoji:`👩🏻‍🦱`,title:`Woman: Light Skin Tone, Curly Hair`},{emoji:`👩🏼‍🦱`,title:`Woman: Medium-light Skin Tone, Curly Hair`},{emoji:`👩🏽‍🦱`,title:`Woman: Medium Skin Tone, Curly Hair`},{emoji:`👩🏾‍🦱`,title:`Woman: Medium-dark Skin Tone, Curly Hair`},{emoji:`👩🏿‍🦱`,title:`Woman: Dark Skin Tone, Curly Hair`}]},{emoji:`🧑‍🦱`,title:`Person: Curly Hair`,skinToneVariants:[{emoji:`🧑🏻‍🦱`,title:`Person: Light Skin Tone, Curly Hair`},{emoji:`🧑🏼‍🦱`,title:`Person: Medium-light Skin Tone, Curly Hair`},{emoji:`🧑🏽‍🦱`,title:`Person: Medium Skin Tone, Curly Hair`},{emoji:`🧑🏾‍🦱`,title:`Person: Medium-dark Skin Tone, Curly Hair`},{emoji:`🧑🏿‍🦱`,title:`Person: Dark Skin Tone, Curly Hair`}]},{emoji:`👩‍🦳`,title:`Woman: White Hair`,skinToneVariants:[{emoji:`👩🏻‍🦳`,title:`Woman: Light Skin Tone, White Hair`},{emoji:`👩🏼‍🦳`,title:`Woman: Medium-light Skin Tone, White Hair`},{emoji:`👩🏽‍🦳`,title:`Woman: Medium Skin Tone, White Hair`},{emoji:`👩🏾‍🦳`,title:`Woman: Medium-dark Skin Tone, White Hair`},{emoji:`👩🏿‍🦳`,title:`Woman: Dark Skin Tone, White Hair`}]},{emoji:`🧑‍🦳`,title:`Person: White Hair`,skinToneVariants:[{emoji:`🧑🏻‍🦳`,title:`Person: Light Skin Tone, White Hair`},{emoji:`🧑🏼‍🦳`,title:`Person: Medium-light Skin Tone, White Hair`},{emoji:`🧑🏽‍🦳`,title:`Person: Medium Skin Tone, White Hair`},{emoji:`🧑🏾‍🦳`,title:`Person: Medium-dark Skin Tone, White Hair`},{emoji:`🧑🏿‍🦳`,title:`Person: Dark Skin Tone, White Hair`}]},{emoji:`👩‍🦲`,title:`Woman: Bald`,skinToneVariants:[{emoji:`👩🏻‍🦲`,title:`Woman: Light Skin Tone, Bald`},{emoji:`👩🏼‍🦲`,title:`Woman: Medium-light Skin Tone, Bald`},{emoji:`👩🏽‍🦲`,title:`Woman: Medium Skin Tone, Bald`},{emoji:`👩🏾‍🦲`,title:`Woman: Medium-dark Skin Tone, Bald`},{emoji:`👩🏿‍🦲`,title:`Woman: Dark Skin Tone, Bald`}]},{emoji:`🧑‍🦲`,title:`Person: Bald`,skinToneVariants:[{emoji:`🧑🏻‍🦲`,title:`Person: Light Skin Tone, Bald`},{emoji:`🧑🏼‍🦲`,title:`Person: Medium-light Skin Tone, Bald`},{emoji:`🧑🏽‍🦲`,title:`Person: Medium Skin Tone, Bald`},{emoji:`🧑🏾‍🦲`,title:`Person: Medium-dark Skin Tone, Bald`},{emoji:`🧑🏿‍🦲`,title:`Person: Dark Skin Tone, Bald`}]},{emoji:`👱‍♀️`,title:`Woman: Blond Hair`,skinToneVariants:[{emoji:`👱🏻‍♀️`,title:`Woman: Light Skin Tone, Blond Hair`},{emoji:`👱🏼‍♀️`,title:`Woman: Medium-light Skin Tone, Blond Hair`},{emoji:`👱🏽‍♀️`,title:`Woman: Medium Skin Tone, Blond Hair`},{emoji:`👱🏾‍♀️`,title:`Woman: Medium-dark Skin Tone, Blond Hair`},{emoji:`👱🏿‍♀️`,title:`Woman: Dark Skin Tone, Blond Hair`}]},{emoji:`👱‍♂️`,title:`Man: Blond Hair`,skinToneVariants:[{emoji:`👱🏻‍♂️`,title:`Man: Light Skin Tone, Blond Hair`},{emoji:`👱🏼‍♂️`,title:`Man: Medium-light Skin Tone, Blond Hair`},{emoji:`👱🏽‍♂️`,title:`Man: Medium Skin Tone, Blond Hair`},{emoji:`👱🏾‍♂️`,title:`Man: Medium-dark Skin Tone, Blond Hair`},{emoji:`👱🏿‍♂️`,title:`Man: Dark Skin Tone, Blond Hair`}]},{emoji:`🧓`,title:`Older Person`,skinToneVariants:[{emoji:`🧓🏻`,title:`Older Person: Light Skin Tone`},{emoji:`🧓🏼`,title:`Older Person: Medium-light Skin Tone`},{emoji:`🧓🏽`,title:`Older Person: Medium Skin Tone`},{emoji:`🧓🏾`,title:`Older Person: Medium-dark Skin Tone`},{emoji:`🧓🏿`,title:`Older Person: Dark Skin Tone`}]},{emoji:`👴`,title:`Old Man`,skinToneVariants:[{emoji:`👴🏻`,title:`Old Man: Light Skin Tone`},{emoji:`👴🏼`,title:`Old Man: Medium-light Skin Tone`},{emoji:`👴🏽`,title:`Old Man: Medium Skin Tone`},{emoji:`👴🏾`,title:`Old Man: Medium-dark Skin Tone`},{emoji:`👴🏿`,title:`Old Man: Dark Skin Tone`}]},{emoji:`👵`,title:`Old Woman`,skinToneVariants:[{emoji:`👵🏻`,title:`Old Woman: Light Skin Tone`},{emoji:`👵🏼`,title:`Old Woman: Medium-light Skin Tone`},{emoji:`👵🏽`,title:`Old Woman: Medium Skin Tone`},{emoji:`👵🏾`,title:`Old Woman: Medium-dark Skin Tone`},{emoji:`👵🏿`,title:`Old Woman: Dark Skin Tone`}]},{emoji:`🙍`,title:`Person Frowning`,skinToneVariants:[{emoji:`🙍🏻`,title:`Person Frowning: Light Skin Tone`},{emoji:`🙍🏼`,title:`Person Frowning: Medium-light Skin Tone`},{emoji:`🙍🏽`,title:`Person Frowning: Medium Skin Tone`},{emoji:`🙍🏾`,title:`Person Frowning: Medium-dark Skin Tone`},{emoji:`🙍🏿`,title:`Person Frowning: Dark Skin Tone`}]},{emoji:`🙍‍♂️`,title:`Man Frowning`,skinToneVariants:[{emoji:`🙍🏻‍♂️`,title:`Man Frowning: Light Skin Tone`},{emoji:`🙍🏼‍♂️`,title:`Man Frowning: Medium-light Skin Tone`},{emoji:`🙍🏽‍♂️`,title:`Man Frowning: Medium Skin Tone`},{emoji:`🙍🏾‍♂️`,title:`Man Frowning: Medium-dark Skin Tone`},{emoji:`🙍🏿‍♂️`,title:`Man Frowning: Dark Skin Tone`}]},{emoji:`🙍‍♀️`,title:`Woman Frowning`,skinToneVariants:[{emoji:`🙍🏻‍♀️`,title:`Woman Frowning: Light Skin Tone`},{emoji:`🙍🏼‍♀️`,title:`Woman Frowning: Medium-light Skin Tone`},{emoji:`🙍🏽‍♀️`,title:`Woman Frowning: Medium Skin Tone`},{emoji:`🙍🏾‍♀️`,title:`Woman Frowning: Medium-dark Skin Tone`},{emoji:`🙍🏿‍♀️`,title:`Woman Frowning: Dark Skin Tone`}]},{emoji:`🙎`,title:`Person Pouting`,skinToneVariants:[{emoji:`🙎🏻`,title:`Person Pouting: Light Skin Tone`},{emoji:`🙎🏼`,title:`Person Pouting: Medium-light Skin Tone`},{emoji:`🙎🏽`,title:`Person Pouting: Medium Skin Tone`},{emoji:`🙎🏾`,title:`Person Pouting: Medium-dark Skin Tone`},{emoji:`🙎🏿`,title:`Person Pouting: Dark Skin Tone`}]},{emoji:`🙎‍♂️`,title:`Man Pouting`,skinToneVariants:[{emoji:`🙎🏻‍♂️`,title:`Man Pouting: Light Skin Tone`},{emoji:`🙎🏼‍♂️`,title:`Man Pouting: Medium-light Skin Tone`},{emoji:`🙎🏽‍♂️`,title:`Man Pouting: Medium Skin Tone`},{emoji:`🙎🏾‍♂️`,title:`Man Pouting: Medium-dark Skin Tone`},{emoji:`🙎🏿‍♂️`,title:`Man Pouting: Dark Skin Tone`}]},{emoji:`🙎‍♀️`,title:`Woman Pouting`,skinToneVariants:[{emoji:`🙎🏻‍♀️`,title:`Woman Pouting: Light Skin Tone`},{emoji:`🙎🏼‍♀️`,title:`Woman Pouting: Medium-light Skin Tone`},{emoji:`🙎🏽‍♀️`,title:`Woman Pouting: Medium Skin Tone`},{emoji:`🙎🏾‍♀️`,title:`Woman Pouting: Medium-dark Skin Tone`},{emoji:`🙎🏿‍♀️`,title:`Woman Pouting: Dark Skin Tone`}]},{emoji:`🙅`,title:`Person Gesturing NO`,skinToneVariants:[{emoji:`🙅🏻`,title:`Person Gesturing NO: Light Skin Tone`},{emoji:`🙅🏼`,title:`Person Gesturing NO: Medium-light Skin Tone`},{emoji:`🙅🏽`,title:`Person Gesturing NO: Medium Skin Tone`},{emoji:`🙅🏾`,title:`Person Gesturing NO: Medium-dark Skin Tone`},{emoji:`🙅🏿`,title:`Person Gesturing NO: Dark Skin Tone`}]},{emoji:`🙅‍♂️`,title:`Man Gesturing NO`,skinToneVariants:[{emoji:`🙅🏻‍♂️`,title:`Man Gesturing NO: Light Skin Tone`},{emoji:`🙅🏼‍♂️`,title:`Man Gesturing NO: Medium-light Skin Tone`},{emoji:`🙅🏽‍♂️`,title:`Man Gesturing NO: Medium Skin Tone`},{emoji:`🙅🏾‍♂️`,title:`Man Gesturing NO: Medium-dark Skin Tone`},{emoji:`🙅🏿‍♂️`,title:`Man Gesturing NO: Dark Skin Tone`}]},{emoji:`🙅‍♀️`,title:`Woman Gesturing NO`,skinToneVariants:[{emoji:`🙅🏻‍♀️`,title:`Woman Gesturing NO: Light Skin Tone`},{emoji:`🙅🏼‍♀️`,title:`Woman Gesturing NO: Medium-light Skin Tone`},{emoji:`🙅🏽‍♀️`,title:`Woman Gesturing NO: Medium Skin Tone`},{emoji:`🙅🏾‍♀️`,title:`Woman Gesturing NO: Medium-dark Skin Tone`},{emoji:`🙅🏿‍♀️`,title:`Woman Gesturing NO: Dark Skin Tone`}]},{emoji:`🙆`,title:`Person Gesturing OK`,skinToneVariants:[{emoji:`🙆🏻`,title:`Person Gesturing OK: Light Skin Tone`},{emoji:`🙆🏼`,title:`Person Gesturing OK: Medium-light Skin Tone`},{emoji:`🙆🏽`,title:`Person Gesturing OK: Medium Skin Tone`},{emoji:`🙆🏾`,title:`Person Gesturing OK: Medium-dark Skin Tone`},{emoji:`🙆🏿`,title:`Person Gesturing OK: Dark Skin Tone`}]},{emoji:`🙆‍♂️`,title:`Man Gesturing OK`,skinToneVariants:[{emoji:`🙆🏻‍♂️`,title:`Man Gesturing OK: Light Skin Tone`},{emoji:`🙆🏼‍♂️`,title:`Man Gesturing OK: Medium-light Skin Tone`},{emoji:`🙆🏽‍♂️`,title:`Man Gesturing OK: Medium Skin Tone`},{emoji:`🙆🏾‍♂️`,title:`Man Gesturing OK: Medium-dark Skin Tone`},{emoji:`🙆🏿‍♂️`,title:`Man Gesturing OK: Dark Skin Tone`}]},{emoji:`🙆‍♀️`,title:`Woman Gesturing OK`,skinToneVariants:[{emoji:`🙆🏻‍♀️`,title:`Woman Gesturing OK: Light Skin Tone`},{emoji:`🙆🏼‍♀️`,title:`Woman Gesturing OK: Medium-light Skin Tone`},{emoji:`🙆🏽‍♀️`,title:`Woman Gesturing OK: Medium Skin Tone`},{emoji:`🙆🏾‍♀️`,title:`Woman Gesturing OK: Medium-dark Skin Tone`},{emoji:`🙆🏿‍♀️`,title:`Woman Gesturing OK: Dark Skin Tone`}]},{emoji:`💁`,title:`Person Tipping Hand`,skinToneVariants:[{emoji:`💁🏻`,title:`Person Tipping Hand: Light Skin Tone`},{emoji:`💁🏼`,title:`Person Tipping Hand: Medium-light Skin Tone`},{emoji:`💁🏽`,title:`Person Tipping Hand: Medium Skin Tone`},{emoji:`💁🏾`,title:`Person Tipping Hand: Medium-dark Skin Tone`},{emoji:`💁🏿`,title:`Person Tipping Hand: Dark Skin Tone`}]},{emoji:`💁‍♂️`,title:`Man Tipping Hand`,skinToneVariants:[{emoji:`💁🏻‍♂️`,title:`Man Tipping Hand: Light Skin Tone`},{emoji:`💁🏼‍♂️`,title:`Man Tipping Hand: Medium-light Skin Tone`},{emoji:`💁🏽‍♂️`,title:`Man Tipping Hand: Medium Skin Tone`},{emoji:`💁🏾‍♂️`,title:`Man Tipping Hand: Medium-dark Skin Tone`},{emoji:`💁🏿‍♂️`,title:`Man Tipping Hand: Dark Skin Tone`}]},{emoji:`💁‍♀️`,title:`Woman Tipping Hand`,skinToneVariants:[{emoji:`💁🏻‍♀️`,title:`Woman Tipping Hand: Light Skin Tone`},{emoji:`💁🏼‍♀️`,title:`Woman Tipping Hand: Medium-light Skin Tone`},{emoji:`💁🏽‍♀️`,title:`Woman Tipping Hand: Medium Skin Tone`},{emoji:`💁🏾‍♀️`,title:`Woman Tipping Hand: Medium-dark Skin Tone`},{emoji:`💁🏿‍♀️`,title:`Woman Tipping Hand: Dark Skin Tone`}]},{emoji:`🙋`,title:`Person Raising Hand`,skinToneVariants:[{emoji:`🙋🏻`,title:`Person Raising Hand: Light Skin Tone`},{emoji:`🙋🏼`,title:`Person Raising Hand: Medium-light Skin Tone`},{emoji:`🙋🏽`,title:`Person Raising Hand: Medium Skin Tone`},{emoji:`🙋🏾`,title:`Person Raising Hand: Medium-dark Skin Tone`},{emoji:`🙋🏿`,title:`Person Raising Hand: Dark Skin Tone`}]},{emoji:`🙋‍♂️`,title:`Man Raising Hand`,skinToneVariants:[{emoji:`🙋🏻‍♂️`,title:`Man Raising Hand: Light Skin Tone`},{emoji:`🙋🏼‍♂️`,title:`Man Raising Hand: Medium-light Skin Tone`},{emoji:`🙋🏽‍♂️`,title:`Man Raising Hand: Medium Skin Tone`},{emoji:`🙋🏾‍♂️`,title:`Man Raising Hand: Medium-dark Skin Tone`},{emoji:`🙋🏿‍♂️`,title:`Man Raising Hand: Dark Skin Tone`}]},{emoji:`🙋‍♀️`,title:`Woman Raising Hand`,skinToneVariants:[{emoji:`🙋🏻‍♀️`,title:`Woman Raising Hand: Light Skin Tone`},{emoji:`🙋🏼‍♀️`,title:`Woman Raising Hand: Medium-light Skin Tone`},{emoji:`🙋🏽‍♀️`,title:`Woman Raising Hand: Medium Skin Tone`},{emoji:`🙋🏾‍♀️`,title:`Woman Raising Hand: Medium-dark Skin Tone`},{emoji:`🙋🏿‍♀️`,title:`Woman Raising Hand: Dark Skin Tone`}]},{emoji:`🧏`,title:`Deaf Person`,skinToneVariants:[{emoji:`🧏🏻`,title:`Deaf Person: Light Skin Tone`},{emoji:`🧏🏼`,title:`Deaf Person: Medium-light Skin Tone`},{emoji:`🧏🏽`,title:`Deaf Person: Medium Skin Tone`},{emoji:`🧏🏾`,title:`Deaf Person: Medium-dark Skin Tone`},{emoji:`🧏🏿`,title:`Deaf Person: Dark Skin Tone`}]},{emoji:`🧏‍♂️`,title:`Deaf Man`,skinToneVariants:[{emoji:`🧏🏻‍♂️`,title:`Deaf Man: Light Skin Tone`},{emoji:`🧏🏼‍♂️`,title:`Deaf Man: Medium-light Skin Tone`},{emoji:`🧏🏽‍♂️`,title:`Deaf Man: Medium Skin Tone`},{emoji:`🧏🏾‍♂️`,title:`Deaf Man: Medium-dark Skin Tone`},{emoji:`🧏🏿‍♂️`,title:`Deaf Man: Dark Skin Tone`}]},{emoji:`🧏‍♀️`,title:`Deaf Woman`,skinToneVariants:[{emoji:`🧏🏻‍♀️`,title:`Deaf Woman: Light Skin Tone`},{emoji:`🧏🏼‍♀️`,title:`Deaf Woman: Medium-light Skin Tone`},{emoji:`🧏🏽‍♀️`,title:`Deaf Woman: Medium Skin Tone`},{emoji:`🧏🏾‍♀️`,title:`Deaf Woman: Medium-dark Skin Tone`},{emoji:`🧏🏿‍♀️`,title:`Deaf Woman: Dark Skin Tone`}]},{emoji:`🙇`,title:`Person Bowing`,skinToneVariants:[{emoji:`🙇🏻`,title:`Person Bowing: Light Skin Tone`},{emoji:`🙇🏼`,title:`Person Bowing: Medium-light Skin Tone`},{emoji:`🙇🏽`,title:`Person Bowing: Medium Skin Tone`},{emoji:`🙇🏾`,title:`Person Bowing: Medium-dark Skin Tone`},{emoji:`🙇🏿`,title:`Person Bowing: Dark Skin Tone`}]},{emoji:`🙇‍♂️`,title:`Man Bowing`,skinToneVariants:[{emoji:`🙇🏻‍♂️`,title:`Man Bowing: Light Skin Tone`},{emoji:`🙇🏼‍♂️`,title:`Man Bowing: Medium-light Skin Tone`},{emoji:`🙇🏽‍♂️`,title:`Man Bowing: Medium Skin Tone`},{emoji:`🙇🏾‍♂️`,title:`Man Bowing: Medium-dark Skin Tone`},{emoji:`🙇🏿‍♂️`,title:`Man Bowing: Dark Skin Tone`}]},{emoji:`🙇‍♀️`,title:`Woman Bowing`,skinToneVariants:[{emoji:`🙇🏻‍♀️`,title:`Woman Bowing: Light Skin Tone`},{emoji:`🙇🏼‍♀️`,title:`Woman Bowing: Medium-light Skin Tone`},{emoji:`🙇🏽‍♀️`,title:`Woman Bowing: Medium Skin Tone`},{emoji:`🙇🏾‍♀️`,title:`Woman Bowing: Medium-dark Skin Tone`},{emoji:`🙇🏿‍♀️`,title:`Woman Bowing: Dark Skin Tone`}]},{emoji:`🤦`,title:`Person Facepalming`,skinToneVariants:[{emoji:`🤦🏻`,title:`Person Facepalming: Light Skin Tone`},{emoji:`🤦🏼`,title:`Person Facepalming: Medium-light Skin Tone`},{emoji:`🤦🏽`,title:`Person Facepalming: Medium Skin Tone`},{emoji:`🤦🏾`,title:`Person Facepalming: Medium-dark Skin Tone`},{emoji:`🤦🏿`,title:`Person Facepalming: Dark Skin Tone`}]},{emoji:`🤦‍♂️`,title:`Man Facepalming`,skinToneVariants:[{emoji:`🤦🏻‍♂️`,title:`Man Facepalming: Light Skin Tone`},{emoji:`🤦🏼‍♂️`,title:`Man Facepalming: Medium-light Skin Tone`},{emoji:`🤦🏽‍♂️`,title:`Man Facepalming: Medium Skin Tone`},{emoji:`🤦🏾‍♂️`,title:`Man Facepalming: Medium-dark Skin Tone`},{emoji:`🤦🏿‍♂️`,title:`Man Facepalming: Dark Skin Tone`}]},{emoji:`🤦‍♀️`,title:`Woman Facepalming`,skinToneVariants:[{emoji:`🤦🏻‍♀️`,title:`Woman Facepalming: Light Skin Tone`},{emoji:`🤦🏼‍♀️`,title:`Woman Facepalming: Medium-light Skin Tone`},{emoji:`🤦🏽‍♀️`,title:`Woman Facepalming: Medium Skin Tone`},{emoji:`🤦🏾‍♀️`,title:`Woman Facepalming: Medium-dark Skin Tone`},{emoji:`🤦🏿‍♀️`,title:`Woman Facepalming: Dark Skin Tone`}]},{emoji:`🤷`,title:`Person Shrugging`,skinToneVariants:[{emoji:`🤷🏻`,title:`Person Shrugging: Light Skin Tone`},{emoji:`🤷🏼`,title:`Person Shrugging: Medium-light Skin Tone`},{emoji:`🤷🏽`,title:`Person Shrugging: Medium Skin Tone`},{emoji:`🤷🏾`,title:`Person Shrugging: Medium-dark Skin Tone`},{emoji:`🤷🏿`,title:`Person Shrugging: Dark Skin Tone`}]},{emoji:`🤷‍♂️`,title:`Man Shrugging`,skinToneVariants:[{emoji:`🤷🏻‍♂️`,title:`Man Shrugging: Light Skin Tone`},{emoji:`🤷🏼‍♂️`,title:`Man Shrugging: Medium-light Skin Tone`},{emoji:`🤷🏽‍♂️`,title:`Man Shrugging: Medium Skin Tone`},{emoji:`🤷🏾‍♂️`,title:`Man Shrugging: Medium-dark Skin Tone`},{emoji:`🤷🏿‍♂️`,title:`Man Shrugging: Dark Skin Tone`}]},{emoji:`🤷‍♀️`,title:`Woman Shrugging`,skinToneVariants:[{emoji:`🤷🏻‍♀️`,title:`Woman Shrugging: Light Skin Tone`},{emoji:`🤷🏼‍♀️`,title:`Woman Shrugging: Medium-light Skin Tone`},{emoji:`🤷🏽‍♀️`,title:`Woman Shrugging: Medium Skin Tone`},{emoji:`🤷🏾‍♀️`,title:`Woman Shrugging: Medium-dark Skin Tone`},{emoji:`🤷🏿‍♀️`,title:`Woman Shrugging: Dark Skin Tone`}]},{emoji:`🧑‍⚕️`,title:`Health Worker`,skinToneVariants:[{emoji:`🧑🏻‍⚕️`,title:`Health Worker: Light Skin Tone`},{emoji:`🧑🏼‍⚕️`,title:`Health Worker: Medium-light Skin Tone`},{emoji:`🧑🏽‍⚕️`,title:`Health Worker: Medium Skin Tone`},{emoji:`🧑🏾‍⚕️`,title:`Health Worker: Medium-dark Skin Tone`},{emoji:`🧑🏿‍⚕️`,title:`Health Worker: Dark Skin Tone`}]},{emoji:`👨‍⚕️`,title:`Man Health Worker`,skinToneVariants:[{emoji:`👨🏻‍⚕️`,title:`Man Health Worker: Light Skin Tone`},{emoji:`👨🏼‍⚕️`,title:`Man Health Worker: Medium-light Skin Tone`},{emoji:`👨🏽‍⚕️`,title:`Man Health Worker: Medium Skin Tone`},{emoji:`👨🏾‍⚕️`,title:`Man Health Worker: Medium-dark Skin Tone`},{emoji:`👨🏿‍⚕️`,title:`Man Health Worker: Dark Skin Tone`}]},{emoji:`👩‍⚕️`,title:`Woman Health Worker`,skinToneVariants:[{emoji:`👩🏻‍⚕️`,title:`Woman Health Worker: Light Skin Tone`},{emoji:`👩🏼‍⚕️`,title:`Woman Health Worker: Medium-light Skin Tone`},{emoji:`👩🏽‍⚕️`,title:`Woman Health Worker: Medium Skin Tone`},{emoji:`👩🏾‍⚕️`,title:`Woman Health Worker: Medium-dark Skin Tone`},{emoji:`👩🏿‍⚕️`,title:`Woman Health Worker: Dark Skin Tone`}]},{emoji:`🧑‍🎓`,title:`Student`,skinToneVariants:[{emoji:`🧑🏻‍🎓`,title:`Student: Light Skin Tone`},{emoji:`🧑🏼‍🎓`,title:`Student: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎓`,title:`Student: Medium Skin Tone`},{emoji:`🧑🏾‍🎓`,title:`Student: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎓`,title:`Student: Dark Skin Tone`}]},{emoji:`👨‍🎓`,title:`Man Student`,skinToneVariants:[{emoji:`👨🏻‍🎓`,title:`Man Student: Light Skin Tone`},{emoji:`👨🏼‍🎓`,title:`Man Student: Medium-light Skin Tone`},{emoji:`👨🏽‍🎓`,title:`Man Student: Medium Skin Tone`},{emoji:`👨🏾‍🎓`,title:`Man Student: Medium-dark Skin Tone`},{emoji:`👨🏿‍🎓`,title:`Man Student: Dark Skin Tone`}]},{emoji:`👩‍🎓`,title:`Woman Student`,skinToneVariants:[{emoji:`👩🏻‍🎓`,title:`Woman Student: Light Skin Tone`},{emoji:`👩🏼‍🎓`,title:`Woman Student: Medium-light Skin Tone`},{emoji:`👩🏽‍🎓`,title:`Woman Student: Medium Skin Tone`},{emoji:`👩🏾‍🎓`,title:`Woman Student: Medium-dark Skin Tone`},{emoji:`👩🏿‍🎓`,title:`Woman Student: Dark Skin Tone`}]},{emoji:`🧑‍🏫`,title:`Teacher`,skinToneVariants:[{emoji:`🧑🏻‍🏫`,title:`Teacher: Light Skin Tone`},{emoji:`🧑🏼‍🏫`,title:`Teacher: Medium-light Skin Tone`},{emoji:`🧑🏽‍🏫`,title:`Teacher: Medium Skin Tone`},{emoji:`🧑🏾‍🏫`,title:`Teacher: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🏫`,title:`Teacher: Dark Skin Tone`}]},{emoji:`👨‍🏫`,title:`Man Teacher`,skinToneVariants:[{emoji:`👨🏻‍🏫`,title:`Man Teacher: Light Skin Tone`},{emoji:`👨🏼‍🏫`,title:`Man Teacher: Medium-light Skin Tone`},{emoji:`👨🏽‍🏫`,title:`Man Teacher: Medium Skin Tone`},{emoji:`👨🏾‍🏫`,title:`Man Teacher: Medium-dark Skin Tone`},{emoji:`👨🏿‍🏫`,title:`Man Teacher: Dark Skin Tone`}]},{emoji:`👩‍🏫`,title:`Woman Teacher`,skinToneVariants:[{emoji:`👩🏻‍🏫`,title:`Woman Teacher: Light Skin Tone`},{emoji:`👩🏼‍🏫`,title:`Woman Teacher: Medium-light Skin Tone`},{emoji:`👩🏽‍🏫`,title:`Woman Teacher: Medium Skin Tone`},{emoji:`👩🏾‍🏫`,title:`Woman Teacher: Medium-dark Skin Tone`},{emoji:`👩🏿‍🏫`,title:`Woman Teacher: Dark Skin Tone`}]},{emoji:`🧑‍⚖️`,title:`Judge`,skinToneVariants:[{emoji:`🧑🏻‍⚖️`,title:`Judge: Light Skin Tone`},{emoji:`🧑🏼‍⚖️`,title:`Judge: Medium-light Skin Tone`},{emoji:`🧑🏽‍⚖️`,title:`Judge: Medium Skin Tone`},{emoji:`🧑🏾‍⚖️`,title:`Judge: Medium-dark Skin Tone`},{emoji:`🧑🏿‍⚖️`,title:`Judge: Dark Skin Tone`}]},{emoji:`👨‍⚖️`,title:`Man Judge`,skinToneVariants:[{emoji:`👨🏻‍⚖️`,title:`Man Judge: Light Skin Tone`},{emoji:`👨🏼‍⚖️`,title:`Man Judge: Medium-light Skin Tone`},{emoji:`👨🏽‍⚖️`,title:`Man Judge: Medium Skin Tone`},{emoji:`👨🏾‍⚖️`,title:`Man Judge: Medium-dark Skin Tone`},{emoji:`👨🏿‍⚖️`,title:`Man Judge: Dark Skin Tone`}]},{emoji:`👩‍⚖️`,title:`Woman Judge`,skinToneVariants:[{emoji:`👩🏻‍⚖️`,title:`Woman Judge: Light Skin Tone`},{emoji:`👩🏼‍⚖️`,title:`Woman Judge: Medium-light Skin Tone`},{emoji:`👩🏽‍⚖️`,title:`Woman Judge: Medium Skin Tone`},{emoji:`👩🏾‍⚖️`,title:`Woman Judge: Medium-dark Skin Tone`},{emoji:`👩🏿‍⚖️`,title:`Woman Judge: Dark Skin Tone`}]},{emoji:`🧑‍🌾`,title:`Farmer`,skinToneVariants:[{emoji:`🧑🏻‍🌾`,title:`Farmer: Light Skin Tone`},{emoji:`🧑🏼‍🌾`,title:`Farmer: Medium-light Skin Tone`},{emoji:`🧑🏽‍🌾`,title:`Farmer: Medium Skin Tone`},{emoji:`🧑🏾‍🌾`,title:`Farmer: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🌾`,title:`Farmer: Dark Skin Tone`}]},{emoji:`👨‍🌾`,title:`Man Farmer`,skinToneVariants:[{emoji:`👨🏻‍🌾`,title:`Man Farmer: Light Skin Tone`},{emoji:`👨🏼‍🌾`,title:`Man Farmer: Medium-light Skin Tone`},{emoji:`👨🏽‍🌾`,title:`Man Farmer: Medium Skin Tone`},{emoji:`👨🏾‍🌾`,title:`Man Farmer: Medium-dark Skin Tone`},{emoji:`👨🏿‍🌾`,title:`Man Farmer: Dark Skin Tone`}]},{emoji:`👩‍🌾`,title:`Woman Farmer`,skinToneVariants:[{emoji:`👩🏻‍🌾`,title:`Woman Farmer: Light Skin Tone`},{emoji:`👩🏼‍🌾`,title:`Woman Farmer: Medium-light Skin Tone`},{emoji:`👩🏽‍🌾`,title:`Woman Farmer: Medium Skin Tone`},{emoji:`👩🏾‍🌾`,title:`Woman Farmer: Medium-dark Skin Tone`},{emoji:`👩🏿‍🌾`,title:`Woman Farmer: Dark Skin Tone`}]},{emoji:`🧑‍🍳`,title:`Cook`,skinToneVariants:[{emoji:`🧑🏻‍🍳`,title:`Cook: Light Skin Tone`},{emoji:`🧑🏼‍🍳`,title:`Cook: Medium-light Skin Tone`},{emoji:`🧑🏽‍🍳`,title:`Cook: Medium Skin Tone`},{emoji:`🧑🏾‍🍳`,title:`Cook: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🍳`,title:`Cook: Dark Skin Tone`}]},{emoji:`👨‍🍳`,title:`Man Cook`,skinToneVariants:[{emoji:`👨🏻‍🍳`,title:`Man Cook: Light Skin Tone`},{emoji:`👨🏼‍🍳`,title:`Man Cook: Medium-light Skin Tone`},{emoji:`👨🏽‍🍳`,title:`Man Cook: Medium Skin Tone`},{emoji:`👨🏾‍🍳`,title:`Man Cook: Medium-dark Skin Tone`},{emoji:`👨🏿‍🍳`,title:`Man Cook: Dark Skin Tone`}]},{emoji:`👩‍🍳`,title:`Woman Cook`,skinToneVariants:[{emoji:`👩🏻‍🍳`,title:`Woman Cook: Light Skin Tone`},{emoji:`👩🏼‍🍳`,title:`Woman Cook: Medium-light Skin Tone`},{emoji:`👩🏽‍🍳`,title:`Woman Cook: Medium Skin Tone`},{emoji:`👩🏾‍🍳`,title:`Woman Cook: Medium-dark Skin Tone`},{emoji:`👩🏿‍🍳`,title:`Woman Cook: Dark Skin Tone`}]},{emoji:`🧑‍🔧`,title:`Mechanic`,skinToneVariants:[{emoji:`🧑🏻‍🔧`,title:`Mechanic: Light Skin Tone`},{emoji:`🧑🏼‍🔧`,title:`Mechanic: Medium-light Skin Tone`},{emoji:`🧑🏽‍🔧`,title:`Mechanic: Medium Skin Tone`},{emoji:`🧑🏾‍🔧`,title:`Mechanic: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🔧`,title:`Mechanic: Dark Skin Tone`}]},{emoji:`👨‍🔧`,title:`Man Mechanic`,skinToneVariants:[{emoji:`👨🏻‍🔧`,title:`Man Mechanic: Light Skin Tone`},{emoji:`👨🏼‍🔧`,title:`Man Mechanic: Medium-light Skin Tone`},{emoji:`👨🏽‍🔧`,title:`Man Mechanic: Medium Skin Tone`},{emoji:`👨🏾‍🔧`,title:`Man Mechanic: Medium-dark Skin Tone`},{emoji:`👨🏿‍🔧`,title:`Man Mechanic: Dark Skin Tone`}]},{emoji:`👩‍🔧`,title:`Woman Mechanic`,skinToneVariants:[{emoji:`👩🏻‍🔧`,title:`Woman Mechanic: Light Skin Tone`},{emoji:`👩🏼‍🔧`,title:`Woman Mechanic: Medium-light Skin Tone`},{emoji:`👩🏽‍🔧`,title:`Woman Mechanic: Medium Skin Tone`},{emoji:`👩🏾‍🔧`,title:`Woman Mechanic: Medium-dark Skin Tone`},{emoji:`👩🏿‍🔧`,title:`Woman Mechanic: Dark Skin Tone`}]},{emoji:`🧑‍🏭`,title:`Factory Worker`,skinToneVariants:[{emoji:`🧑🏻‍🏭`,title:`Factory Worker: Light Skin Tone`},{emoji:`🧑🏼‍🏭`,title:`Factory Worker: Medium-light Skin Tone`},{emoji:`🧑🏽‍🏭`,title:`Factory Worker: Medium Skin Tone`},{emoji:`🧑🏾‍🏭`,title:`Factory Worker: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🏭`,title:`Factory Worker: Dark Skin Tone`}]},{emoji:`👨‍🏭`,title:`Man Factory Worker`,skinToneVariants:[{emoji:`👨🏻‍🏭`,title:`Man Factory Worker: Light Skin Tone`},{emoji:`👨🏼‍🏭`,title:`Man Factory Worker: Medium-light Skin Tone`},{emoji:`👨🏽‍🏭`,title:`Man Factory Worker: Medium Skin Tone`},{emoji:`👨🏾‍🏭`,title:`Man Factory Worker: Medium-dark Skin Tone`},{emoji:`👨🏿‍🏭`,title:`Man Factory Worker: Dark Skin Tone`}]},{emoji:`👩‍🏭`,title:`Woman Factory Worker`,skinToneVariants:[{emoji:`👩🏻‍🏭`,title:`Woman Factory Worker: Light Skin Tone`},{emoji:`👩🏼‍🏭`,title:`Woman Factory Worker: Medium-light Skin Tone`},{emoji:`👩🏽‍🏭`,title:`Woman Factory Worker: Medium Skin Tone`},{emoji:`👩🏾‍🏭`,title:`Woman Factory Worker: Medium-dark Skin Tone`},{emoji:`👩🏿‍🏭`,title:`Woman Factory Worker: Dark Skin Tone`}]},{emoji:`🧑‍💼`,title:`Office Worker`,skinToneVariants:[{emoji:`🧑🏻‍💼`,title:`Office Worker: Light Skin Tone`},{emoji:`🧑🏼‍💼`,title:`Office Worker: Medium-light Skin Tone`},{emoji:`🧑🏽‍💼`,title:`Office Worker: Medium Skin Tone`},{emoji:`🧑🏾‍💼`,title:`Office Worker: Medium-dark Skin Tone`},{emoji:`🧑🏿‍💼`,title:`Office Worker: Dark Skin Tone`}]},{emoji:`👨‍💼`,title:`Man Office Worker`,skinToneVariants:[{emoji:`👨🏻‍💼`,title:`Man Office Worker: Light Skin Tone`},{emoji:`👨🏼‍💼`,title:`Man Office Worker: Medium-light Skin Tone`},{emoji:`👨🏽‍💼`,title:`Man Office Worker: Medium Skin Tone`},{emoji:`👨🏾‍💼`,title:`Man Office Worker: Medium-dark Skin Tone`},{emoji:`👨🏿‍💼`,title:`Man Office Worker: Dark Skin Tone`}]},{emoji:`👩‍💼`,title:`Woman Office Worker`,skinToneVariants:[{emoji:`👩🏻‍💼`,title:`Woman Office Worker: Light Skin Tone`},{emoji:`👩🏼‍💼`,title:`Woman Office Worker: Medium-light Skin Tone`},{emoji:`👩🏽‍💼`,title:`Woman Office Worker: Medium Skin Tone`},{emoji:`👩🏾‍💼`,title:`Woman Office Worker: Medium-dark Skin Tone`},{emoji:`👩🏿‍💼`,title:`Woman Office Worker: Dark Skin Tone`}]},{emoji:`🧑‍🔬`,title:`Scientist`,skinToneVariants:[{emoji:`🧑🏻‍🔬`,title:`Scientist: Light Skin Tone`},{emoji:`🧑🏼‍🔬`,title:`Scientist: Medium-light Skin Tone`},{emoji:`🧑🏽‍🔬`,title:`Scientist: Medium Skin Tone`},{emoji:`🧑🏾‍🔬`,title:`Scientist: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🔬`,title:`Scientist: Dark Skin Tone`}]},{emoji:`👨‍🔬`,title:`Man Scientist`,skinToneVariants:[{emoji:`👨🏻‍🔬`,title:`Man Scientist: Light Skin Tone`},{emoji:`👨🏼‍🔬`,title:`Man Scientist: Medium-light Skin Tone`},{emoji:`👨🏽‍🔬`,title:`Man Scientist: Medium Skin Tone`},{emoji:`👨🏾‍🔬`,title:`Man Scientist: Medium-dark Skin Tone`},{emoji:`👨🏿‍🔬`,title:`Man Scientist: Dark Skin Tone`}]},{emoji:`👩‍🔬`,title:`Woman Scientist`,skinToneVariants:[{emoji:`👩🏻‍🔬`,title:`Woman Scientist: Light Skin Tone`},{emoji:`👩🏼‍🔬`,title:`Woman Scientist: Medium-light Skin Tone`},{emoji:`👩🏽‍🔬`,title:`Woman Scientist: Medium Skin Tone`},{emoji:`👩🏾‍🔬`,title:`Woman Scientist: Medium-dark Skin Tone`},{emoji:`👩🏿‍🔬`,title:`Woman Scientist: Dark Skin Tone`}]},{emoji:`🧑‍💻`,title:`Technologist`,skinToneVariants:[{emoji:`🧑🏻‍💻`,title:`Technologist: Light Skin Tone`},{emoji:`🧑🏼‍💻`,title:`Technologist: Medium-light Skin Tone`},{emoji:`🧑🏽‍💻`,title:`Technologist: Medium Skin Tone`},{emoji:`🧑🏾‍💻`,title:`Technologist: Medium-dark Skin Tone`},{emoji:`🧑🏿‍💻`,title:`Technologist: Dark Skin Tone`}]},{emoji:`👨‍💻`,title:`Man Technologist`,skinToneVariants:[{emoji:`👨🏻‍💻`,title:`Man Technologist: Light Skin Tone`},{emoji:`👨🏼‍💻`,title:`Man Technologist: Medium-light Skin Tone`},{emoji:`👨🏽‍💻`,title:`Man Technologist: Medium Skin Tone`},{emoji:`👨🏾‍💻`,title:`Man Technologist: Medium-dark Skin Tone`},{emoji:`👨🏿‍💻`,title:`Man Technologist: Dark Skin Tone`}]},{emoji:`👩‍💻`,title:`Woman Technologist`,skinToneVariants:[{emoji:`👩🏻‍💻`,title:`Woman Technologist: Light Skin Tone`},{emoji:`👩🏼‍💻`,title:`Woman Technologist: Medium-light Skin Tone`},{emoji:`👩🏽‍💻`,title:`Woman Technologist: Medium Skin Tone`},{emoji:`👩🏾‍💻`,title:`Woman Technologist: Medium-dark Skin Tone`},{emoji:`👩🏿‍💻`,title:`Woman Technologist: Dark Skin Tone`}]},{emoji:`🧑‍🎤`,title:`Singer`,skinToneVariants:[{emoji:`🧑🏻‍🎤`,title:`Singer: Light Skin Tone`},{emoji:`🧑🏼‍🎤`,title:`Singer: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎤`,title:`Singer: Medium Skin Tone`},{emoji:`🧑🏾‍🎤`,title:`Singer: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎤`,title:`Singer: Dark Skin Tone`}]},{emoji:`👨‍🎤`,title:`Man Singer`,skinToneVariants:[{emoji:`👨🏻‍🎤`,title:`Man Singer: Light Skin Tone`},{emoji:`👨🏼‍🎤`,title:`Man Singer: Medium-light Skin Tone`},{emoji:`👨🏽‍🎤`,title:`Man Singer: Medium Skin Tone`},{emoji:`👨🏾‍🎤`,title:`Man Singer: Medium-dark Skin Tone`},{emoji:`👨🏿‍🎤`,title:`Man Singer: Dark Skin Tone`}]},{emoji:`👩‍🎤`,title:`Woman Singer`,skinToneVariants:[{emoji:`👩🏻‍🎤`,title:`Woman Singer: Light Skin Tone`},{emoji:`👩🏼‍🎤`,title:`Woman Singer: Medium-light Skin Tone`},{emoji:`👩🏽‍🎤`,title:`Woman Singer: Medium Skin Tone`},{emoji:`👩🏾‍🎤`,title:`Woman Singer: Medium-dark Skin Tone`},{emoji:`👩🏿‍🎤`,title:`Woman Singer: Dark Skin Tone`}]},{emoji:`🧑‍🎨`,title:`Artist`,skinToneVariants:[{emoji:`🧑🏻‍🎨`,title:`Artist: Light Skin Tone`},{emoji:`🧑🏼‍🎨`,title:`Artist: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎨`,title:`Artist: Medium Skin Tone`},{emoji:`🧑🏾‍🎨`,title:`Artist: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎨`,title:`Artist: Dark Skin Tone`}]},{emoji:`👨‍🎨`,title:`Man Artist`,skinToneVariants:[{emoji:`👨🏻‍🎨`,title:`Man Artist: Light Skin Tone`},{emoji:`👨🏼‍🎨`,title:`Man Artist: Medium-light Skin Tone`},{emoji:`👨🏽‍🎨`,title:`Man Artist: Medium Skin Tone`},{emoji:`👨🏾‍🎨`,title:`Man Artist: Medium-dark Skin Tone`},{emoji:`👨🏿‍🎨`,title:`Man Artist: Dark Skin Tone`}]},{emoji:`👩‍🎨`,title:`Woman Artist`,skinToneVariants:[{emoji:`👩🏻‍🎨`,title:`Woman Artist: Light Skin Tone`},{emoji:`👩🏼‍🎨`,title:`Woman Artist: Medium-light Skin Tone`},{emoji:`👩🏽‍🎨`,title:`Woman Artist: Medium Skin Tone`},{emoji:`👩🏾‍🎨`,title:`Woman Artist: Medium-dark Skin Tone`},{emoji:`👩🏿‍🎨`,title:`Woman Artist: Dark Skin Tone`}]},{emoji:`🧑‍✈️`,title:`Pilot`,skinToneVariants:[{emoji:`🧑🏻‍✈️`,title:`Pilot: Light Skin Tone`},{emoji:`🧑🏼‍✈️`,title:`Pilot: Medium-light Skin Tone`},{emoji:`🧑🏽‍✈️`,title:`Pilot: Medium Skin Tone`},{emoji:`🧑🏾‍✈️`,title:`Pilot: Medium-dark Skin Tone`},{emoji:`🧑🏿‍✈️`,title:`Pilot: Dark Skin Tone`}]},{emoji:`👨‍✈️`,title:`Man Pilot`,skinToneVariants:[{emoji:`👨🏻‍✈️`,title:`Man Pilot: Light Skin Tone`},{emoji:`👨🏼‍✈️`,title:`Man Pilot: Medium-light Skin Tone`},{emoji:`👨🏽‍✈️`,title:`Man Pilot: Medium Skin Tone`},{emoji:`👨🏾‍✈️`,title:`Man Pilot: Medium-dark Skin Tone`},{emoji:`👨🏿‍✈️`,title:`Man Pilot: Dark Skin Tone`}]},{emoji:`👩‍✈️`,title:`Woman Pilot`,skinToneVariants:[{emoji:`👩🏻‍✈️`,title:`Woman Pilot: Light Skin Tone`},{emoji:`👩🏼‍✈️`,title:`Woman Pilot: Medium-light Skin Tone`},{emoji:`👩🏽‍✈️`,title:`Woman Pilot: Medium Skin Tone`},{emoji:`👩🏾‍✈️`,title:`Woman Pilot: Medium-dark Skin Tone`},{emoji:`👩🏿‍✈️`,title:`Woman Pilot: Dark Skin Tone`}]},{emoji:`🧑‍🚀`,title:`Astronaut`,skinToneVariants:[{emoji:`🧑🏻‍🚀`,title:`Astronaut: Light Skin Tone`},{emoji:`🧑🏼‍🚀`,title:`Astronaut: Medium-light Skin Tone`},{emoji:`🧑🏽‍🚀`,title:`Astronaut: Medium Skin Tone`},{emoji:`🧑🏾‍🚀`,title:`Astronaut: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🚀`,title:`Astronaut: Dark Skin Tone`}]},{emoji:`👨‍🚀`,title:`Man Astronaut`,skinToneVariants:[{emoji:`👨🏻‍🚀`,title:`Man Astronaut: Light Skin Tone`},{emoji:`👨🏼‍🚀`,title:`Man Astronaut: Medium-light Skin Tone`},{emoji:`👨🏽‍🚀`,title:`Man Astronaut: Medium Skin Tone`},{emoji:`👨🏾‍🚀`,title:`Man Astronaut: Medium-dark Skin Tone`},{emoji:`👨🏿‍🚀`,title:`Man Astronaut: Dark Skin Tone`}]},{emoji:`👩‍🚀`,title:`Woman Astronaut`,skinToneVariants:[{emoji:`👩🏻‍🚀`,title:`Woman Astronaut: Light Skin Tone`},{emoji:`👩🏼‍🚀`,title:`Woman Astronaut: Medium-light Skin Tone`},{emoji:`👩🏽‍🚀`,title:`Woman Astronaut: Medium Skin Tone`},{emoji:`👩🏾‍🚀`,title:`Woman Astronaut: Medium-dark Skin Tone`},{emoji:`👩🏿‍🚀`,title:`Woman Astronaut: Dark Skin Tone`}]},{emoji:`🧑‍🚒`,title:`Firefighter`,skinToneVariants:[{emoji:`🧑🏻‍🚒`,title:`Firefighter: Light Skin Tone`},{emoji:`🧑🏼‍🚒`,title:`Firefighter: Medium-light Skin Tone`},{emoji:`🧑🏽‍🚒`,title:`Firefighter: Medium Skin Tone`},{emoji:`🧑🏾‍🚒`,title:`Firefighter: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🚒`,title:`Firefighter: Dark Skin Tone`}]},{emoji:`👨‍🚒`,title:`Man Firefighter`,skinToneVariants:[{emoji:`👨🏻‍🚒`,title:`Man Firefighter: Light Skin Tone`},{emoji:`👨🏼‍🚒`,title:`Man Firefighter: Medium-light Skin Tone`},{emoji:`👨🏽‍🚒`,title:`Man Firefighter: Medium Skin Tone`},{emoji:`👨🏾‍🚒`,title:`Man Firefighter: Medium-dark Skin Tone`},{emoji:`👨🏿‍🚒`,title:`Man Firefighter: Dark Skin Tone`}]},{emoji:`👩‍🚒`,title:`Woman Firefighter`,skinToneVariants:[{emoji:`👩🏻‍🚒`,title:`Woman Firefighter: Light Skin Tone`},{emoji:`👩🏼‍🚒`,title:`Woman Firefighter: Medium-light Skin Tone`},{emoji:`👩🏽‍🚒`,title:`Woman Firefighter: Medium Skin Tone`},{emoji:`👩🏾‍🚒`,title:`Woman Firefighter: Medium-dark Skin Tone`},{emoji:`👩🏿‍🚒`,title:`Woman Firefighter: Dark Skin Tone`}]},{emoji:`👮`,title:`Police Officer`,skinToneVariants:[{emoji:`👮🏻`,title:`Police Officer: Light Skin Tone`},{emoji:`👮🏼`,title:`Police Officer: Medium-light Skin Tone`},{emoji:`👮🏽`,title:`Police Officer: Medium Skin Tone`},{emoji:`👮🏾`,title:`Police Officer: Medium-dark Skin Tone`},{emoji:`👮🏿`,title:`Police Officer: Dark Skin Tone`}]},{emoji:`👮‍♂️`,title:`Man Police Officer`,skinToneVariants:[{emoji:`👮🏻‍♂️`,title:`Man Police Officer: Light Skin Tone`},{emoji:`👮🏼‍♂️`,title:`Man Police Officer: Medium-light Skin Tone`},{emoji:`👮🏽‍♂️`,title:`Man Police Officer: Medium Skin Tone`},{emoji:`👮🏾‍♂️`,title:`Man Police Officer: Medium-dark Skin Tone`},{emoji:`👮🏿‍♂️`,title:`Man Police Officer: Dark Skin Tone`}]},{emoji:`👮‍♀️`,title:`Woman Police Officer`,skinToneVariants:[{emoji:`👮🏻‍♀️`,title:`Woman Police Officer: Light Skin Tone`},{emoji:`👮🏼‍♀️`,title:`Woman Police Officer: Medium-light Skin Tone`},{emoji:`👮🏽‍♀️`,title:`Woman Police Officer: Medium Skin Tone`},{emoji:`👮🏾‍♀️`,title:`Woman Police Officer: Medium-dark Skin Tone`},{emoji:`👮🏿‍♀️`,title:`Woman Police Officer: Dark Skin Tone`}]},{emoji:`🕵️`,title:`Detective`,skinToneVariants:[{emoji:`🕵🏻`,title:`Detective: Light Skin Tone`},{emoji:`🕵🏼`,title:`Detective: Medium-light Skin Tone`},{emoji:`🕵🏽`,title:`Detective: Medium Skin Tone`},{emoji:`🕵🏾`,title:`Detective: Medium-dark Skin Tone`},{emoji:`🕵🏿`,title:`Detective: Dark Skin Tone`}]},{emoji:`🕵️‍♂️`,title:`Man Detective`,skinToneVariants:[{emoji:`🕵🏻‍♂️`,title:`Man Detective: Light Skin Tone`},{emoji:`🕵🏼‍♂️`,title:`Man Detective: Medium-light Skin Tone`},{emoji:`🕵🏽‍♂️`,title:`Man Detective: Medium Skin Tone`},{emoji:`🕵🏾‍♂️`,title:`Man Detective: Medium-dark Skin Tone`},{emoji:`🕵🏿‍♂️`,title:`Man Detective: Dark Skin Tone`}]},{emoji:`🕵️‍♀️`,title:`Woman Detective`,skinToneVariants:[{emoji:`🕵🏻‍♀️`,title:`Woman Detective: Light Skin Tone`},{emoji:`🕵🏼‍♀️`,title:`Woman Detective: Medium-light Skin Tone`},{emoji:`🕵🏽‍♀️`,title:`Woman Detective: Medium Skin Tone`},{emoji:`🕵🏾‍♀️`,title:`Woman Detective: Medium-dark Skin Tone`},{emoji:`🕵🏿‍♀️`,title:`Woman Detective: Dark Skin Tone`}]},{emoji:`💂`,title:`Guard`,skinToneVariants:[{emoji:`💂🏻`,title:`Guard: Light Skin Tone`},{emoji:`💂🏼`,title:`Guard: Medium-light Skin Tone`},{emoji:`💂🏽`,title:`Guard: Medium Skin Tone`},{emoji:`💂🏾`,title:`Guard: Medium-dark Skin Tone`},{emoji:`💂🏿`,title:`Guard: Dark Skin Tone`}]},{emoji:`💂‍♂️`,title:`Man Guard`,skinToneVariants:[{emoji:`💂🏻‍♂️`,title:`Man Guard: Light Skin Tone`},{emoji:`💂🏼‍♂️`,title:`Man Guard: Medium-light Skin Tone`},{emoji:`💂🏽‍♂️`,title:`Man Guard: Medium Skin Tone`},{emoji:`💂🏾‍♂️`,title:`Man Guard: Medium-dark Skin Tone`},{emoji:`💂🏿‍♂️`,title:`Man Guard: Dark Skin Tone`}]},{emoji:`💂‍♀️`,title:`Woman Guard`,skinToneVariants:[{emoji:`💂🏻‍♀️`,title:`Woman Guard: Light Skin Tone`},{emoji:`💂🏼‍♀️`,title:`Woman Guard: Medium-light Skin Tone`},{emoji:`💂🏽‍♀️`,title:`Woman Guard: Medium Skin Tone`},{emoji:`💂🏾‍♀️`,title:`Woman Guard: Medium-dark Skin Tone`},{emoji:`💂🏿‍♀️`,title:`Woman Guard: Dark Skin Tone`}]},{emoji:`🥷`,title:`Ninja`,skinToneVariants:[{emoji:`🥷🏻`,title:`Ninja: Light Skin Tone`},{emoji:`🥷🏼`,title:`Ninja: Medium-light Skin Tone`},{emoji:`🥷🏽`,title:`Ninja: Medium Skin Tone`},{emoji:`🥷🏾`,title:`Ninja: Medium-dark Skin Tone`},{emoji:`🥷🏿`,title:`Ninja: Dark Skin Tone`}]},{emoji:`👷`,title:`Construction Worker`,skinToneVariants:[{emoji:`👷🏻`,title:`Construction Worker: Light Skin Tone`},{emoji:`👷🏼`,title:`Construction Worker: Medium-light Skin Tone`},{emoji:`👷🏽`,title:`Construction Worker: Medium Skin Tone`},{emoji:`👷🏾`,title:`Construction Worker: Medium-dark Skin Tone`},{emoji:`👷🏿`,title:`Construction Worker: Dark Skin Tone`}]},{emoji:`👷‍♂️`,title:`Man Construction Worker`,skinToneVariants:[{emoji:`👷🏻‍♂️`,title:`Man Construction Worker: Light Skin Tone`},{emoji:`👷🏼‍♂️`,title:`Man Construction Worker: Medium-light Skin Tone`},{emoji:`👷🏽‍♂️`,title:`Man Construction Worker: Medium Skin Tone`},{emoji:`👷🏾‍♂️`,title:`Man Construction Worker: Medium-dark Skin Tone`},{emoji:`👷🏿‍♂️`,title:`Man Construction Worker: Dark Skin Tone`}]},{emoji:`👷‍♀️`,title:`Woman Construction Worker`,skinToneVariants:[{emoji:`👷🏻‍♀️`,title:`Woman Construction Worker: Light Skin Tone`},{emoji:`👷🏼‍♀️`,title:`Woman Construction Worker: Medium-light Skin Tone`},{emoji:`👷🏽‍♀️`,title:`Woman Construction Worker: Medium Skin Tone`},{emoji:`👷🏾‍♀️`,title:`Woman Construction Worker: Medium-dark Skin Tone`},{emoji:`👷🏿‍♀️`,title:`Woman Construction Worker: Dark Skin Tone`}]},{emoji:`🫅`,title:`Person With Crown`,skinToneVariants:[{emoji:`🫅🏻`,title:`Person With Crown: Light Skin Tone`},{emoji:`🫅🏼`,title:`Person With Crown: Medium-light Skin Tone`},{emoji:`🫅🏽`,title:`Person With Crown: Medium Skin Tone`},{emoji:`🫅🏾`,title:`Person With Crown: Medium-dark Skin Tone`},{emoji:`🫅🏿`,title:`Person With Crown: Dark Skin Tone`}]},{emoji:`🤴`,title:`Prince`,skinToneVariants:[{emoji:`🤴🏻`,title:`Prince: Light Skin Tone`},{emoji:`🤴🏼`,title:`Prince: Medium-light Skin Tone`},{emoji:`🤴🏽`,title:`Prince: Medium Skin Tone`},{emoji:`🤴🏾`,title:`Prince: Medium-dark Skin Tone`},{emoji:`🤴🏿`,title:`Prince: Dark Skin Tone`}]},{emoji:`👸`,title:`Princess`,skinToneVariants:[{emoji:`👸🏻`,title:`Princess: Light Skin Tone`},{emoji:`👸🏼`,title:`Princess: Medium-light Skin Tone`},{emoji:`👸🏽`,title:`Princess: Medium Skin Tone`},{emoji:`👸🏾`,title:`Princess: Medium-dark Skin Tone`},{emoji:`👸🏿`,title:`Princess: Dark Skin Tone`}]},{emoji:`👳`,title:`Person Wearing Turban`,skinToneVariants:[{emoji:`👳🏻`,title:`Person Wearing Turban: Light Skin Tone`},{emoji:`👳🏼`,title:`Person Wearing Turban: Medium-light Skin Tone`},{emoji:`👳🏽`,title:`Person Wearing Turban: Medium Skin Tone`},{emoji:`👳🏾`,title:`Person Wearing Turban: Medium-dark Skin Tone`},{emoji:`👳🏿`,title:`Person Wearing Turban: Dark Skin Tone`}]},{emoji:`👳‍♂️`,title:`Man Wearing Turban`,skinToneVariants:[{emoji:`👳🏻‍♂️`,title:`Man Wearing Turban: Light Skin Tone`},{emoji:`👳🏼‍♂️`,title:`Man Wearing Turban: Medium-light Skin Tone`},{emoji:`👳🏽‍♂️`,title:`Man Wearing Turban: Medium Skin Tone`},{emoji:`👳🏾‍♂️`,title:`Man Wearing Turban: Medium-dark Skin Tone`},{emoji:`👳🏿‍♂️`,title:`Man Wearing Turban: Dark Skin Tone`}]},{emoji:`👳‍♀️`,title:`Woman Wearing Turban`,skinToneVariants:[{emoji:`👳🏻‍♀️`,title:`Woman Wearing Turban: Light Skin Tone`},{emoji:`👳🏼‍♀️`,title:`Woman Wearing Turban: Medium-light Skin Tone`},{emoji:`👳🏽‍♀️`,title:`Woman Wearing Turban: Medium Skin Tone`},{emoji:`👳🏾‍♀️`,title:`Woman Wearing Turban: Medium-dark Skin Tone`},{emoji:`👳🏿‍♀️`,title:`Woman Wearing Turban: Dark Skin Tone`}]},{emoji:`👲`,title:`Person With Skullcap`,skinToneVariants:[{emoji:`👲🏻`,title:`Person With Skullcap: Light Skin Tone`},{emoji:`👲🏼`,title:`Person With Skullcap: Medium-light Skin Tone`},{emoji:`👲🏽`,title:`Person With Skullcap: Medium Skin Tone`},{emoji:`👲🏾`,title:`Person With Skullcap: Medium-dark Skin Tone`},{emoji:`👲🏿`,title:`Person With Skullcap: Dark Skin Tone`}]},{emoji:`🧕`,title:`Woman With Headscarf`,skinToneVariants:[{emoji:`🧕🏻`,title:`Woman With Headscarf: Light Skin Tone`},{emoji:`🧕🏼`,title:`Woman With Headscarf: Medium-light Skin Tone`},{emoji:`🧕🏽`,title:`Woman With Headscarf: Medium Skin Tone`},{emoji:`🧕🏾`,title:`Woman With Headscarf: Medium-dark Skin Tone`},{emoji:`🧕🏿`,title:`Woman With Headscarf: Dark Skin Tone`}]},{emoji:`🤵`,title:`Person In Tuxedo`,skinToneVariants:[{emoji:`🤵🏻`,title:`Person In Tuxedo: Light Skin Tone`},{emoji:`🤵🏼`,title:`Person In Tuxedo: Medium-light Skin Tone`},{emoji:`🤵🏽`,title:`Person In Tuxedo: Medium Skin Tone`},{emoji:`🤵🏾`,title:`Person In Tuxedo: Medium-dark Skin Tone`},{emoji:`🤵🏿`,title:`Person In Tuxedo: Dark Skin Tone`}]},{emoji:`🤵‍♂️`,title:`Man In Tuxedo`,skinToneVariants:[{emoji:`🤵🏻‍♂️`,title:`Man In Tuxedo: Light Skin Tone`},{emoji:`🤵🏼‍♂️`,title:`Man In Tuxedo: Medium-light Skin Tone`},{emoji:`🤵🏽‍♂️`,title:`Man In Tuxedo: Medium Skin Tone`},{emoji:`🤵🏾‍♂️`,title:`Man In Tuxedo: Medium-dark Skin Tone`},{emoji:`🤵🏿‍♂️`,title:`Man In Tuxedo: Dark Skin Tone`}]},{emoji:`🤵‍♀️`,title:`Woman In Tuxedo`,skinToneVariants:[{emoji:`🤵🏻‍♀️`,title:`Woman In Tuxedo: Light Skin Tone`},{emoji:`🤵🏼‍♀️`,title:`Woman In Tuxedo: Medium-light Skin Tone`},{emoji:`🤵🏽‍♀️`,title:`Woman In Tuxedo: Medium Skin Tone`},{emoji:`🤵🏾‍♀️`,title:`Woman In Tuxedo: Medium-dark Skin Tone`},{emoji:`🤵🏿‍♀️`,title:`Woman In Tuxedo: Dark Skin Tone`}]},{emoji:`👰`,title:`Person With Veil`,skinToneVariants:[{emoji:`👰🏻`,title:`Person With Veil: Light Skin Tone`},{emoji:`👰🏼`,title:`Person With Veil: Medium-light Skin Tone`},{emoji:`👰🏽`,title:`Person With Veil: Medium Skin Tone`},{emoji:`👰🏾`,title:`Person With Veil: Medium-dark Skin Tone`},{emoji:`👰🏿`,title:`Person With Veil: Dark Skin Tone`}]},{emoji:`👰‍♂️`,title:`Man With Veil`,skinToneVariants:[{emoji:`👰🏻‍♂️`,title:`Man With Veil: Light Skin Tone`},{emoji:`👰🏼‍♂️`,title:`Man With Veil: Medium-light Skin Tone`},{emoji:`👰🏽‍♂️`,title:`Man With Veil: Medium Skin Tone`},{emoji:`👰🏾‍♂️`,title:`Man With Veil: Medium-dark Skin Tone`},{emoji:`👰🏿‍♂️`,title:`Man With Veil: Dark Skin Tone`}]},{emoji:`👰‍♀️`,title:`Woman With Veil`,skinToneVariants:[{emoji:`👰🏻‍♀️`,title:`Woman With Veil: Light Skin Tone`},{emoji:`👰🏼‍♀️`,title:`Woman With Veil: Medium-light Skin Tone`},{emoji:`👰🏽‍♀️`,title:`Woman With Veil: Medium Skin Tone`},{emoji:`👰🏾‍♀️`,title:`Woman With Veil: Medium-dark Skin Tone`},{emoji:`👰🏿‍♀️`,title:`Woman With Veil: Dark Skin Tone`}]},{emoji:`🤰`,title:`Pregnant Woman`,skinToneVariants:[{emoji:`🤰🏻`,title:`Pregnant Woman: Light Skin Tone`},{emoji:`🤰🏼`,title:`Pregnant Woman: Medium-light Skin Tone`},{emoji:`🤰🏽`,title:`Pregnant Woman: Medium Skin Tone`},{emoji:`🤰🏾`,title:`Pregnant Woman: Medium-dark Skin Tone`},{emoji:`🤰🏿`,title:`Pregnant Woman: Dark Skin Tone`}]},{emoji:`🫃`,title:`Pregnant Man`,skinToneVariants:[{emoji:`🫃🏻`,title:`Pregnant Man: Light Skin Tone`},{emoji:`🫃🏼`,title:`Pregnant Man: Medium-light Skin Tone`},{emoji:`🫃🏽`,title:`Pregnant Man: Medium Skin Tone`},{emoji:`🫃🏾`,title:`Pregnant Man: Medium-dark Skin Tone`},{emoji:`🫃🏿`,title:`Pregnant Man: Dark Skin Tone`}]},{emoji:`🫄`,title:`Pregnant Person`,skinToneVariants:[{emoji:`🫄🏻`,title:`Pregnant Person: Light Skin Tone`},{emoji:`🫄🏼`,title:`Pregnant Person: Medium-light Skin Tone`},{emoji:`🫄🏽`,title:`Pregnant Person: Medium Skin Tone`},{emoji:`🫄🏾`,title:`Pregnant Person: Medium-dark Skin Tone`},{emoji:`🫄🏿`,title:`Pregnant Person: Dark Skin Tone`}]},{emoji:`🤱`,title:`Breast-feeding`,skinToneVariants:[{emoji:`🤱🏻`,title:`Breast-feeding: Light Skin Tone`},{emoji:`🤱🏼`,title:`Breast-feeding: Medium-light Skin Tone`},{emoji:`🤱🏽`,title:`Breast-feeding: Medium Skin Tone`},{emoji:`🤱🏾`,title:`Breast-feeding: Medium-dark Skin Tone`},{emoji:`🤱🏿`,title:`Breast-feeding: Dark Skin Tone`}]},{emoji:`👩‍🍼`,title:`Woman Feeding Baby`,skinToneVariants:[{emoji:`👩🏻‍🍼`,title:`Woman Feeding Baby: Light Skin Tone`},{emoji:`👩🏼‍🍼`,title:`Woman Feeding Baby: Medium-light Skin Tone`},{emoji:`👩🏽‍🍼`,title:`Woman Feeding Baby: Medium Skin Tone`},{emoji:`👩🏾‍🍼`,title:`Woman Feeding Baby: Medium-dark Skin Tone`},{emoji:`👩🏿‍🍼`,title:`Woman Feeding Baby: Dark Skin Tone`}]},{emoji:`👨‍🍼`,title:`Man Feeding Baby`,skinToneVariants:[{emoji:`👨🏻‍🍼`,title:`Man Feeding Baby: Light Skin Tone`},{emoji:`👨🏼‍🍼`,title:`Man Feeding Baby: Medium-light Skin Tone`},{emoji:`👨🏽‍🍼`,title:`Man Feeding Baby: Medium Skin Tone`},{emoji:`👨🏾‍🍼`,title:`Man Feeding Baby: Medium-dark Skin Tone`},{emoji:`👨🏿‍🍼`,title:`Man Feeding Baby: Dark Skin Tone`}]},{emoji:`🧑‍🍼`,title:`Person Feeding Baby`,skinToneVariants:[{emoji:`🧑🏻‍🍼`,title:`Person Feeding Baby: Light Skin Tone`},{emoji:`🧑🏼‍🍼`,title:`Person Feeding Baby: Medium-light Skin Tone`},{emoji:`🧑🏽‍🍼`,title:`Person Feeding Baby: Medium Skin Tone`},{emoji:`🧑🏾‍🍼`,title:`Person Feeding Baby: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🍼`,title:`Person Feeding Baby: Dark Skin Tone`}]},{emoji:`👼`,title:`Baby Angel`,skinToneVariants:[{emoji:`👼🏻`,title:`Baby Angel: Light Skin Tone`},{emoji:`👼🏼`,title:`Baby Angel: Medium-light Skin Tone`},{emoji:`👼🏽`,title:`Baby Angel: Medium Skin Tone`},{emoji:`👼🏾`,title:`Baby Angel: Medium-dark Skin Tone`},{emoji:`👼🏿`,title:`Baby Angel: Dark Skin Tone`}]},{emoji:`🎅`,title:`Santa Claus`,skinToneVariants:[{emoji:`🎅🏻`,title:`Santa Claus: Light Skin Tone`},{emoji:`🎅🏼`,title:`Santa Claus: Medium-light Skin Tone`},{emoji:`🎅🏽`,title:`Santa Claus: Medium Skin Tone`},{emoji:`🎅🏾`,title:`Santa Claus: Medium-dark Skin Tone`},{emoji:`🎅🏿`,title:`Santa Claus: Dark Skin Tone`}]},{emoji:`🤶`,title:`Mrs. Claus`,skinToneVariants:[{emoji:`🤶🏻`,title:`Mrs. Claus: Light Skin Tone`},{emoji:`🤶🏼`,title:`Mrs. Claus: Medium-light Skin Tone`},{emoji:`🤶🏽`,title:`Mrs. Claus: Medium Skin Tone`},{emoji:`🤶🏾`,title:`Mrs. Claus: Medium-dark Skin Tone`},{emoji:`🤶🏿`,title:`Mrs. Claus: Dark Skin Tone`}]},{emoji:`🧑‍🎄`,title:`Mx Claus`,skinToneVariants:[{emoji:`🧑🏻‍🎄`,title:`Mx Claus: Light Skin Tone`},{emoji:`🧑🏼‍🎄`,title:`Mx Claus: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎄`,title:`Mx Claus: Medium Skin Tone`},{emoji:`🧑🏾‍🎄`,title:`Mx Claus: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎄`,title:`Mx Claus: Dark Skin Tone`}]},{emoji:`🦸`,title:`Superhero`,skinToneVariants:[{emoji:`🦸🏻`,title:`Superhero: Light Skin Tone`},{emoji:`🦸🏼`,title:`Superhero: Medium-light Skin Tone`},{emoji:`🦸🏽`,title:`Superhero: Medium Skin Tone`},{emoji:`🦸🏾`,title:`Superhero: Medium-dark Skin Tone`},{emoji:`🦸🏿`,title:`Superhero: Dark Skin Tone`}]},{emoji:`🦸‍♂️`,title:`Man Superhero`,skinToneVariants:[{emoji:`🦸🏻‍♂️`,title:`Man Superhero: Light Skin Tone`},{emoji:`🦸🏼‍♂️`,title:`Man Superhero: Medium-light Skin Tone`},{emoji:`🦸🏽‍♂️`,title:`Man Superhero: Medium Skin Tone`},{emoji:`🦸🏾‍♂️`,title:`Man Superhero: Medium-dark Skin Tone`},{emoji:`🦸🏿‍♂️`,title:`Man Superhero: Dark Skin Tone`}]},{emoji:`🦸‍♀️`,title:`Woman Superhero`,skinToneVariants:[{emoji:`🦸🏻‍♀️`,title:`Woman Superhero: Light Skin Tone`},{emoji:`🦸🏼‍♀️`,title:`Woman Superhero: Medium-light Skin Tone`},{emoji:`🦸🏽‍♀️`,title:`Woman Superhero: Medium Skin Tone`},{emoji:`🦸🏾‍♀️`,title:`Woman Superhero: Medium-dark Skin Tone`},{emoji:`🦸🏿‍♀️`,title:`Woman Superhero: Dark Skin Tone`}]},{emoji:`🦹`,title:`Supervillain`,skinToneVariants:[{emoji:`🦹🏻`,title:`Supervillain: Light Skin Tone`},{emoji:`🦹🏼`,title:`Supervillain: Medium-light Skin Tone`},{emoji:`🦹🏽`,title:`Supervillain: Medium Skin Tone`},{emoji:`🦹🏾`,title:`Supervillain: Medium-dark Skin Tone`},{emoji:`🦹🏿`,title:`Supervillain: Dark Skin Tone`}]},{emoji:`🦹‍♂️`,title:`Man Supervillain`,skinToneVariants:[{emoji:`🦹🏻‍♂️`,title:`Man Supervillain: Light Skin Tone`},{emoji:`🦹🏼‍♂️`,title:`Man Supervillain: Medium-light Skin Tone`},{emoji:`🦹🏽‍♂️`,title:`Man Supervillain: Medium Skin Tone`},{emoji:`🦹🏾‍♂️`,title:`Man Supervillain: Medium-dark Skin Tone`},{emoji:`🦹🏿‍♂️`,title:`Man Supervillain: Dark Skin Tone`}]},{emoji:`🦹‍♀️`,title:`Woman Supervillain`,skinToneVariants:[{emoji:`🦹🏻‍♀️`,title:`Woman Supervillain: Light Skin Tone`},{emoji:`🦹🏼‍♀️`,title:`Woman Supervillain: Medium-light Skin Tone`},{emoji:`🦹🏽‍♀️`,title:`Woman Supervillain: Medium Skin Tone`},{emoji:`🦹🏾‍♀️`,title:`Woman Supervillain: Medium-dark Skin Tone`},{emoji:`🦹🏿‍♀️`,title:`Woman Supervillain: Dark Skin Tone`}]},{emoji:`🧙`,title:`Mage`,skinToneVariants:[{emoji:`🧙🏻`,title:`Mage: Light Skin Tone`},{emoji:`🧙🏼`,title:`Mage: Medium-light Skin Tone`},{emoji:`🧙🏽`,title:`Mage: Medium Skin Tone`},{emoji:`🧙🏾`,title:`Mage: Medium-dark Skin Tone`},{emoji:`🧙🏿`,title:`Mage: Dark Skin Tone`}]},{emoji:`🧙‍♂️`,title:`Man Mage`,skinToneVariants:[{emoji:`🧙🏻‍♂️`,title:`Man Mage: Light Skin Tone`},{emoji:`🧙🏼‍♂️`,title:`Man Mage: Medium-light Skin Tone`},{emoji:`🧙🏽‍♂️`,title:`Man Mage: Medium Skin Tone`},{emoji:`🧙🏾‍♂️`,title:`Man Mage: Medium-dark Skin Tone`},{emoji:`🧙🏿‍♂️`,title:`Man Mage: Dark Skin Tone`}]},{emoji:`🧙‍♀️`,title:`Woman Mage`,skinToneVariants:[{emoji:`🧙🏻‍♀️`,title:`Woman Mage: Light Skin Tone`},{emoji:`🧙🏼‍♀️`,title:`Woman Mage: Medium-light Skin Tone`},{emoji:`🧙🏽‍♀️`,title:`Woman Mage: Medium Skin Tone`},{emoji:`🧙🏾‍♀️`,title:`Woman Mage: Medium-dark Skin Tone`},{emoji:`🧙🏿‍♀️`,title:`Woman Mage: Dark Skin Tone`}]},{emoji:`🧚`,title:`Fairy`,skinToneVariants:[{emoji:`🧚🏻`,title:`Fairy: Light Skin Tone`},{emoji:`🧚🏼`,title:`Fairy: Medium-light Skin Tone`},{emoji:`🧚🏽`,title:`Fairy: Medium Skin Tone`},{emoji:`🧚🏾`,title:`Fairy: Medium-dark Skin Tone`},{emoji:`🧚🏿`,title:`Fairy: Dark Skin Tone`}]},{emoji:`🧚‍♂️`,title:`Man Fairy`,skinToneVariants:[{emoji:`🧚🏻‍♂️`,title:`Man Fairy: Light Skin Tone`},{emoji:`🧚🏼‍♂️`,title:`Man Fairy: Medium-light Skin Tone`},{emoji:`🧚🏽‍♂️`,title:`Man Fairy: Medium Skin Tone`},{emoji:`🧚🏾‍♂️`,title:`Man Fairy: Medium-dark Skin Tone`},{emoji:`🧚🏿‍♂️`,title:`Man Fairy: Dark Skin Tone`}]},{emoji:`🧚‍♀️`,title:`Woman Fairy`,skinToneVariants:[{emoji:`🧚🏻‍♀️`,title:`Woman Fairy: Light Skin Tone`},{emoji:`🧚🏼‍♀️`,title:`Woman Fairy: Medium-light Skin Tone`},{emoji:`🧚🏽‍♀️`,title:`Woman Fairy: Medium Skin Tone`},{emoji:`🧚🏾‍♀️`,title:`Woman Fairy: Medium-dark Skin Tone`},{emoji:`🧚🏿‍♀️`,title:`Woman Fairy: Dark Skin Tone`}]},{emoji:`🧛`,title:`Vampire`,skinToneVariants:[{emoji:`🧛🏻`,title:`Vampire: Light Skin Tone`},{emoji:`🧛🏼`,title:`Vampire: Medium-light Skin Tone`},{emoji:`🧛🏽`,title:`Vampire: Medium Skin Tone`},{emoji:`🧛🏾`,title:`Vampire: Medium-dark Skin Tone`},{emoji:`🧛🏿`,title:`Vampire: Dark Skin Tone`}]},{emoji:`🧛‍♂️`,title:`Man Vampire`,skinToneVariants:[{emoji:`🧛🏻‍♂️`,title:`Man Vampire: Light Skin Tone`},{emoji:`🧛🏼‍♂️`,title:`Man Vampire: Medium-light Skin Tone`},{emoji:`🧛🏽‍♂️`,title:`Man Vampire: Medium Skin Tone`},{emoji:`🧛🏾‍♂️`,title:`Man Vampire: Medium-dark Skin Tone`},{emoji:`🧛🏿‍♂️`,title:`Man Vampire: Dark Skin Tone`}]},{emoji:`🧛‍♀️`,title:`Woman Vampire`,skinToneVariants:[{emoji:`🧛🏻‍♀️`,title:`Woman Vampire: Light Skin Tone`},{emoji:`🧛🏼‍♀️`,title:`Woman Vampire: Medium-light Skin Tone`},{emoji:`🧛🏽‍♀️`,title:`Woman Vampire: Medium Skin Tone`},{emoji:`🧛🏾‍♀️`,title:`Woman Vampire: Medium-dark Skin Tone`},{emoji:`🧛🏿‍♀️`,title:`Woman Vampire: Dark Skin Tone`}]},{emoji:`🧜`,title:`Merperson`,skinToneVariants:[{emoji:`🧜🏻`,title:`Merperson: Light Skin Tone`},{emoji:`🧜🏼`,title:`Merperson: Medium-light Skin Tone`},{emoji:`🧜🏽`,title:`Merperson: Medium Skin Tone`},{emoji:`🧜🏾`,title:`Merperson: Medium-dark Skin Tone`},{emoji:`🧜🏿`,title:`Merperson: Dark Skin Tone`}]},{emoji:`🧜‍♂️`,title:`Merman`,skinToneVariants:[{emoji:`🧜🏻‍♂️`,title:`Merman: Light Skin Tone`},{emoji:`🧜🏼‍♂️`,title:`Merman: Medium-light Skin Tone`},{emoji:`🧜🏽‍♂️`,title:`Merman: Medium Skin Tone`},{emoji:`🧜🏾‍♂️`,title:`Merman: Medium-dark Skin Tone`},{emoji:`🧜🏿‍♂️`,title:`Merman: Dark Skin Tone`}]},{emoji:`🧜‍♀️`,title:`Mermaid`,skinToneVariants:[{emoji:`🧜🏻‍♀️`,title:`Mermaid: Light Skin Tone`},{emoji:`🧜🏼‍♀️`,title:`Mermaid: Medium-light Skin Tone`},{emoji:`🧜🏽‍♀️`,title:`Mermaid: Medium Skin Tone`},{emoji:`🧜🏾‍♀️`,title:`Mermaid: Medium-dark Skin Tone`},{emoji:`🧜🏿‍♀️`,title:`Mermaid: Dark Skin Tone`}]},{emoji:`🧝`,title:`Elf`,skinToneVariants:[{emoji:`🧝🏻`,title:`Elf: Light Skin Tone`},{emoji:`🧝🏼`,title:`Elf: Medium-light Skin Tone`},{emoji:`🧝🏽`,title:`Elf: Medium Skin Tone`},{emoji:`🧝🏾`,title:`Elf: Medium-dark Skin Tone`},{emoji:`🧝🏿`,title:`Elf: Dark Skin Tone`}]},{emoji:`🧝‍♂️`,title:`Man Elf`,skinToneVariants:[{emoji:`🧝🏻‍♂️`,title:`Man Elf: Light Skin Tone`},{emoji:`🧝🏼‍♂️`,title:`Man Elf: Medium-light Skin Tone`},{emoji:`🧝🏽‍♂️`,title:`Man Elf: Medium Skin Tone`},{emoji:`🧝🏾‍♂️`,title:`Man Elf: Medium-dark Skin Tone`},{emoji:`🧝🏿‍♂️`,title:`Man Elf: Dark Skin Tone`}]},{emoji:`🧝‍♀️`,title:`Woman Elf`,skinToneVariants:[{emoji:`🧝🏻‍♀️`,title:`Woman Elf: Light Skin Tone`},{emoji:`🧝🏼‍♀️`,title:`Woman Elf: Medium-light Skin Tone`},{emoji:`🧝🏽‍♀️`,title:`Woman Elf: Medium Skin Tone`},{emoji:`🧝🏾‍♀️`,title:`Woman Elf: Medium-dark Skin Tone`},{emoji:`🧝🏿‍♀️`,title:`Woman Elf: Dark Skin Tone`}]},{emoji:`🧞`,title:`Genie`},{emoji:`🧞‍♂️`,title:`Man Genie`},{emoji:`🧞‍♀️`,title:`Woman Genie`},{emoji:`🧟`,title:`Zombie`},{emoji:`🧟‍♂️`,title:`Man Zombie`},{emoji:`🧟‍♀️`,title:`Woman Zombie`},{emoji:`🧌`,title:`Troll`},{emoji:`🫈`,title:`Hairy Creature`},{emoji:`💆`,title:`Person Getting Massage`,skinToneVariants:[{emoji:`💆🏻`,title:`Person Getting Massage: Light Skin Tone`},{emoji:`💆🏼`,title:`Person Getting Massage: Medium-light Skin Tone`},{emoji:`💆🏽`,title:`Person Getting Massage: Medium Skin Tone`},{emoji:`💆🏾`,title:`Person Getting Massage: Medium-dark Skin Tone`},{emoji:`💆🏿`,title:`Person Getting Massage: Dark Skin Tone`}]},{emoji:`💆‍♂️`,title:`Man Getting Massage`,skinToneVariants:[{emoji:`💆🏻‍♂️`,title:`Man Getting Massage: Light Skin Tone`},{emoji:`💆🏼‍♂️`,title:`Man Getting Massage: Medium-light Skin Tone`},{emoji:`💆🏽‍♂️`,title:`Man Getting Massage: Medium Skin Tone`},{emoji:`💆🏾‍♂️`,title:`Man Getting Massage: Medium-dark Skin Tone`},{emoji:`💆🏿‍♂️`,title:`Man Getting Massage: Dark Skin Tone`}]},{emoji:`💆‍♀️`,title:`Woman Getting Massage`,skinToneVariants:[{emoji:`💆🏻‍♀️`,title:`Woman Getting Massage: Light Skin Tone`},{emoji:`💆🏼‍♀️`,title:`Woman Getting Massage: Medium-light Skin Tone`},{emoji:`💆🏽‍♀️`,title:`Woman Getting Massage: Medium Skin Tone`},{emoji:`💆🏾‍♀️`,title:`Woman Getting Massage: Medium-dark Skin Tone`},{emoji:`💆🏿‍♀️`,title:`Woman Getting Massage: Dark Skin Tone`}]},{emoji:`💇`,title:`Person Getting Haircut`,skinToneVariants:[{emoji:`💇🏻`,title:`Person Getting Haircut: Light Skin Tone`},{emoji:`💇🏼`,title:`Person Getting Haircut: Medium-light Skin Tone`},{emoji:`💇🏽`,title:`Person Getting Haircut: Medium Skin Tone`},{emoji:`💇🏾`,title:`Person Getting Haircut: Medium-dark Skin Tone`},{emoji:`💇🏿`,title:`Person Getting Haircut: Dark Skin Tone`}]},{emoji:`💇‍♂️`,title:`Man Getting Haircut`,skinToneVariants:[{emoji:`💇🏻‍♂️`,title:`Man Getting Haircut: Light Skin Tone`},{emoji:`💇🏼‍♂️`,title:`Man Getting Haircut: Medium-light Skin Tone`},{emoji:`💇🏽‍♂️`,title:`Man Getting Haircut: Medium Skin Tone`},{emoji:`💇🏾‍♂️`,title:`Man Getting Haircut: Medium-dark Skin Tone`},{emoji:`💇🏿‍♂️`,title:`Man Getting Haircut: Dark Skin Tone`}]},{emoji:`💇‍♀️`,title:`Woman Getting Haircut`,skinToneVariants:[{emoji:`💇🏻‍♀️`,title:`Woman Getting Haircut: Light Skin Tone`},{emoji:`💇🏼‍♀️`,title:`Woman Getting Haircut: Medium-light Skin Tone`},{emoji:`💇🏽‍♀️`,title:`Woman Getting Haircut: Medium Skin Tone`},{emoji:`💇🏾‍♀️`,title:`Woman Getting Haircut: Medium-dark Skin Tone`},{emoji:`💇🏿‍♀️`,title:`Woman Getting Haircut: Dark Skin Tone`}]},{emoji:`🚶`,title:`Person Walking`,skinToneVariants:[{emoji:`🚶🏻`,title:`Person Walking: Light Skin Tone`},{emoji:`🚶🏼`,title:`Person Walking: Medium-light Skin Tone`},{emoji:`🚶🏽`,title:`Person Walking: Medium Skin Tone`},{emoji:`🚶🏾`,title:`Person Walking: Medium-dark Skin Tone`},{emoji:`🚶🏿`,title:`Person Walking: Dark Skin Tone`}]},{emoji:`🚶‍♂️`,title:`Man Walking`,skinToneVariants:[{emoji:`🚶🏻‍♂️`,title:`Man Walking: Light Skin Tone`},{emoji:`🚶🏼‍♂️`,title:`Man Walking: Medium-light Skin Tone`},{emoji:`🚶🏽‍♂️`,title:`Man Walking: Medium Skin Tone`},{emoji:`🚶🏾‍♂️`,title:`Man Walking: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♂️`,title:`Man Walking: Dark Skin Tone`}]},{emoji:`🚶‍♀️`,title:`Woman Walking`,skinToneVariants:[{emoji:`🚶🏻‍♀️`,title:`Woman Walking: Light Skin Tone`},{emoji:`🚶🏼‍♀️`,title:`Woman Walking: Medium-light Skin Tone`},{emoji:`🚶🏽‍♀️`,title:`Woman Walking: Medium Skin Tone`},{emoji:`🚶🏾‍♀️`,title:`Woman Walking: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♀️`,title:`Woman Walking: Dark Skin Tone`}]},{emoji:`🚶‍➡️`,title:`Person Walking Facing Right`,skinToneVariants:[{emoji:`🚶🏻‍➡️`,title:`Person Walking Facing Right: Light Skin Tone`},{emoji:`🚶🏼‍➡️`,title:`Person Walking Facing Right: Medium-light Skin Tone`},{emoji:`🚶🏽‍➡️`,title:`Person Walking Facing Right: Medium Skin Tone`},{emoji:`🚶🏾‍➡️`,title:`Person Walking Facing Right: Medium-dark Skin Tone`},{emoji:`🚶🏿‍➡️`,title:`Person Walking Facing Right: Dark Skin Tone`}]},{emoji:`🚶‍♀️‍➡️`,title:`Woman Walking Facing Right`,skinToneVariants:[{emoji:`🚶🏻‍♀️‍➡️`,title:`Woman Walking Facing Right: Light Skin Tone`},{emoji:`🚶🏼‍♀️‍➡️`,title:`Woman Walking Facing Right: Medium-light Skin Tone`},{emoji:`🚶🏽‍♀️‍➡️`,title:`Woman Walking Facing Right: Medium Skin Tone`},{emoji:`🚶🏾‍♀️‍➡️`,title:`Woman Walking Facing Right: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♀️‍➡️`,title:`Woman Walking Facing Right: Dark Skin Tone`}]},{emoji:`🚶‍♂️‍➡️`,title:`Man Walking Facing Right`,skinToneVariants:[{emoji:`🚶🏻‍♂️‍➡️`,title:`Man Walking Facing Right: Light Skin Tone`},{emoji:`🚶🏼‍♂️‍➡️`,title:`Man Walking Facing Right: Medium-light Skin Tone`},{emoji:`🚶🏽‍♂️‍➡️`,title:`Man Walking Facing Right: Medium Skin Tone`},{emoji:`🚶🏾‍♂️‍➡️`,title:`Man Walking Facing Right: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♂️‍➡️`,title:`Man Walking Facing Right: Dark Skin Tone`}]},{emoji:`🧍`,title:`Person Standing`,skinToneVariants:[{emoji:`🧍🏻`,title:`Person Standing: Light Skin Tone`},{emoji:`🧍🏼`,title:`Person Standing: Medium-light Skin Tone`},{emoji:`🧍🏽`,title:`Person Standing: Medium Skin Tone`},{emoji:`🧍🏾`,title:`Person Standing: Medium-dark Skin Tone`},{emoji:`🧍🏿`,title:`Person Standing: Dark Skin Tone`}]},{emoji:`🧍‍♂️`,title:`Man Standing`,skinToneVariants:[{emoji:`🧍🏻‍♂️`,title:`Man Standing: Light Skin Tone`},{emoji:`🧍🏼‍♂️`,title:`Man Standing: Medium-light Skin Tone`},{emoji:`🧍🏽‍♂️`,title:`Man Standing: Medium Skin Tone`},{emoji:`🧍🏾‍♂️`,title:`Man Standing: Medium-dark Skin Tone`},{emoji:`🧍🏿‍♂️`,title:`Man Standing: Dark Skin Tone`}]},{emoji:`🧍‍♀️`,title:`Woman Standing`,skinToneVariants:[{emoji:`🧍🏻‍♀️`,title:`Woman Standing: Light Skin Tone`},{emoji:`🧍🏼‍♀️`,title:`Woman Standing: Medium-light Skin Tone`},{emoji:`🧍🏽‍♀️`,title:`Woman Standing: Medium Skin Tone`},{emoji:`🧍🏾‍♀️`,title:`Woman Standing: Medium-dark Skin Tone`},{emoji:`🧍🏿‍♀️`,title:`Woman Standing: Dark Skin Tone`}]},{emoji:`🧎`,title:`Person Kneeling`,skinToneVariants:[{emoji:`🧎🏻`,title:`Person Kneeling: Light Skin Tone`},{emoji:`🧎🏼`,title:`Person Kneeling: Medium-light Skin Tone`},{emoji:`🧎🏽`,title:`Person Kneeling: Medium Skin Tone`},{emoji:`🧎🏾`,title:`Person Kneeling: Medium-dark Skin Tone`},{emoji:`🧎🏿`,title:`Person Kneeling: Dark Skin Tone`}]},{emoji:`🧎‍♂️`,title:`Man Kneeling`,skinToneVariants:[{emoji:`🧎🏻‍♂️`,title:`Man Kneeling: Light Skin Tone`},{emoji:`🧎🏼‍♂️`,title:`Man Kneeling: Medium-light Skin Tone`},{emoji:`🧎🏽‍♂️`,title:`Man Kneeling: Medium Skin Tone`},{emoji:`🧎🏾‍♂️`,title:`Man Kneeling: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♂️`,title:`Man Kneeling: Dark Skin Tone`}]},{emoji:`🧎‍♀️`,title:`Woman Kneeling`,skinToneVariants:[{emoji:`🧎🏻‍♀️`,title:`Woman Kneeling: Light Skin Tone`},{emoji:`🧎🏼‍♀️`,title:`Woman Kneeling: Medium-light Skin Tone`},{emoji:`🧎🏽‍♀️`,title:`Woman Kneeling: Medium Skin Tone`},{emoji:`🧎🏾‍♀️`,title:`Woman Kneeling: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♀️`,title:`Woman Kneeling: Dark Skin Tone`}]},{emoji:`🧎‍➡️`,title:`Person Kneeling Facing Right`,skinToneVariants:[{emoji:`🧎🏻‍➡️`,title:`Person Kneeling Facing Right: Light Skin Tone`},{emoji:`🧎🏼‍➡️`,title:`Person Kneeling Facing Right: Medium-light Skin Tone`},{emoji:`🧎🏽‍➡️`,title:`Person Kneeling Facing Right: Medium Skin Tone`},{emoji:`🧎🏾‍➡️`,title:`Person Kneeling Facing Right: Medium-dark Skin Tone`},{emoji:`🧎🏿‍➡️`,title:`Person Kneeling Facing Right: Dark Skin Tone`}]},{emoji:`🧎‍♀️‍➡️`,title:`Woman Kneeling Facing Right`,skinToneVariants:[{emoji:`🧎🏻‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Light Skin Tone`},{emoji:`🧎🏼‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Medium-light Skin Tone`},{emoji:`🧎🏽‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Medium Skin Tone`},{emoji:`🧎🏾‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Dark Skin Tone`}]},{emoji:`🧎‍♂️‍➡️`,title:`Man Kneeling Facing Right`,skinToneVariants:[{emoji:`🧎🏻‍♂️‍➡️`,title:`Man Kneeling Facing Right: Light Skin Tone`},{emoji:`🧎🏼‍♂️‍➡️`,title:`Man Kneeling Facing Right: Medium-light Skin Tone`},{emoji:`🧎🏽‍♂️‍➡️`,title:`Man Kneeling Facing Right: Medium Skin Tone`},{emoji:`🧎🏾‍♂️‍➡️`,title:`Man Kneeling Facing Right: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♂️‍➡️`,title:`Man Kneeling Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🦯`,title:`Person With White Cane`,skinToneVariants:[{emoji:`🧑🏻‍🦯`,title:`Person With White Cane: Light Skin Tone`},{emoji:`🧑🏼‍🦯`,title:`Person With White Cane: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦯`,title:`Person With White Cane: Medium Skin Tone`},{emoji:`🧑🏾‍🦯`,title:`Person With White Cane: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦯`,title:`Person With White Cane: Dark Skin Tone`}]},{emoji:`🧑‍🦯‍➡️`,title:`Person With White Cane Facing Right`,skinToneVariants:[{emoji:`🧑🏻‍🦯‍➡️`,title:`Person With White Cane Facing Right: Light Skin Tone`},{emoji:`🧑🏼‍🦯‍➡️`,title:`Person With White Cane Facing Right: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦯‍➡️`,title:`Person With White Cane Facing Right: Medium Skin Tone`},{emoji:`🧑🏾‍🦯‍➡️`,title:`Person With White Cane Facing Right: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦯‍➡️`,title:`Person With White Cane Facing Right: Dark Skin Tone`}]},{emoji:`👨‍🦯`,title:`Man With White Cane`,skinToneVariants:[{emoji:`👨🏻‍🦯`,title:`Man With White Cane: Light Skin Tone`},{emoji:`👨🏼‍🦯`,title:`Man With White Cane: Medium-light Skin Tone`},{emoji:`👨🏽‍🦯`,title:`Man With White Cane: Medium Skin Tone`},{emoji:`👨🏾‍🦯`,title:`Man With White Cane: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦯`,title:`Man With White Cane: Dark Skin Tone`}]},{emoji:`👨‍🦯‍➡️`,title:`Man With White Cane Facing Right`,skinToneVariants:[{emoji:`👨🏻‍🦯‍➡️`,title:`Man With White Cane Facing Right: Light Skin Tone`},{emoji:`👨🏼‍🦯‍➡️`,title:`Man With White Cane Facing Right: Medium-light Skin Tone`},{emoji:`👨🏽‍🦯‍➡️`,title:`Man With White Cane Facing Right: Medium Skin Tone`},{emoji:`👨🏾‍🦯‍➡️`,title:`Man With White Cane Facing Right: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦯‍➡️`,title:`Man With White Cane Facing Right: Dark Skin Tone`}]},{emoji:`👩‍🦯`,title:`Woman With White Cane`,skinToneVariants:[{emoji:`👩🏻‍🦯`,title:`Woman With White Cane: Light Skin Tone`},{emoji:`👩🏼‍🦯`,title:`Woman With White Cane: Medium-light Skin Tone`},{emoji:`👩🏽‍🦯`,title:`Woman With White Cane: Medium Skin Tone`},{emoji:`👩🏾‍🦯`,title:`Woman With White Cane: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦯`,title:`Woman With White Cane: Dark Skin Tone`}]},{emoji:`👩‍🦯‍➡️`,title:`Woman With White Cane Facing Right`,skinToneVariants:[{emoji:`👩🏻‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Light Skin Tone`},{emoji:`👩🏼‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Medium-light Skin Tone`},{emoji:`👩🏽‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Medium Skin Tone`},{emoji:`👩🏾‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🦼`,title:`Person In Motorized Wheelchair`,skinToneVariants:[{emoji:`🧑🏻‍🦼`,title:`Person In Motorized Wheelchair: Light Skin Tone`},{emoji:`🧑🏼‍🦼`,title:`Person In Motorized Wheelchair: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦼`,title:`Person In Motorized Wheelchair: Medium Skin Tone`},{emoji:`🧑🏾‍🦼`,title:`Person In Motorized Wheelchair: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦼`,title:`Person In Motorized Wheelchair: Dark Skin Tone`}]},{emoji:`🧑‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right`,skinToneVariants:[{emoji:`🧑🏻‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Light Skin Tone`},{emoji:`🧑🏼‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Medium Skin Tone`},{emoji:`🧑🏾‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👨‍🦼`,title:`Man In Motorized Wheelchair`,skinToneVariants:[{emoji:`👨🏻‍🦼`,title:`Man In Motorized Wheelchair: Light Skin Tone`},{emoji:`👨🏼‍🦼`,title:`Man In Motorized Wheelchair: Medium-light Skin Tone`},{emoji:`👨🏽‍🦼`,title:`Man In Motorized Wheelchair: Medium Skin Tone`},{emoji:`👨🏾‍🦼`,title:`Man In Motorized Wheelchair: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦼`,title:`Man In Motorized Wheelchair: Dark Skin Tone`}]},{emoji:`👨‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right`,skinToneVariants:[{emoji:`👨🏻‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Light Skin Tone`},{emoji:`👨🏼‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👨🏽‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👨🏾‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👩‍🦼`,title:`Woman In Motorized Wheelchair`,skinToneVariants:[{emoji:`👩🏻‍🦼`,title:`Woman In Motorized Wheelchair: Light Skin Tone`},{emoji:`👩🏼‍🦼`,title:`Woman In Motorized Wheelchair: Medium-light Skin Tone`},{emoji:`👩🏽‍🦼`,title:`Woman In Motorized Wheelchair: Medium Skin Tone`},{emoji:`👩🏾‍🦼`,title:`Woman In Motorized Wheelchair: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦼`,title:`Woman In Motorized Wheelchair: Dark Skin Tone`}]},{emoji:`👩‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right`,skinToneVariants:[{emoji:`👩🏻‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Light Skin Tone`},{emoji:`👩🏼‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👩🏽‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👩🏾‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🦽`,title:`Person In Manual Wheelchair`,skinToneVariants:[{emoji:`🧑🏻‍🦽`,title:`Person In Manual Wheelchair: Light Skin Tone`},{emoji:`🧑🏼‍🦽`,title:`Person In Manual Wheelchair: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦽`,title:`Person In Manual Wheelchair: Medium Skin Tone`},{emoji:`🧑🏾‍🦽`,title:`Person In Manual Wheelchair: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦽`,title:`Person In Manual Wheelchair: Dark Skin Tone`}]},{emoji:`🧑‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right`,skinToneVariants:[{emoji:`🧑🏻‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Light Skin Tone`},{emoji:`🧑🏼‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Medium Skin Tone`},{emoji:`🧑🏾‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👨‍🦽`,title:`Man In Manual Wheelchair`,skinToneVariants:[{emoji:`👨🏻‍🦽`,title:`Man In Manual Wheelchair: Light Skin Tone`},{emoji:`👨🏼‍🦽`,title:`Man In Manual Wheelchair: Medium-light Skin Tone`},{emoji:`👨🏽‍🦽`,title:`Man In Manual Wheelchair: Medium Skin Tone`},{emoji:`👨🏾‍🦽`,title:`Man In Manual Wheelchair: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦽`,title:`Man In Manual Wheelchair: Dark Skin Tone`}]},{emoji:`👨‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right`,skinToneVariants:[{emoji:`👨🏻‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Light Skin Tone`},{emoji:`👨🏼‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👨🏽‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👨🏾‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👩‍🦽`,title:`Woman In Manual Wheelchair`,skinToneVariants:[{emoji:`👩🏻‍🦽`,title:`Woman In Manual Wheelchair: Light Skin Tone`},{emoji:`👩🏼‍🦽`,title:`Woman In Manual Wheelchair: Medium-light Skin Tone`},{emoji:`👩🏽‍🦽`,title:`Woman In Manual Wheelchair: Medium Skin Tone`},{emoji:`👩🏾‍🦽`,title:`Woman In Manual Wheelchair: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦽`,title:`Woman In Manual Wheelchair: Dark Skin Tone`}]},{emoji:`👩‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right`,skinToneVariants:[{emoji:`👩🏻‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Light Skin Tone`},{emoji:`👩🏼‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👩🏽‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👩🏾‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`🏃`,title:`Person Running`,skinToneVariants:[{emoji:`🏃🏻`,title:`Person Running: Light Skin Tone`},{emoji:`🏃🏼`,title:`Person Running: Medium-light Skin Tone`},{emoji:`🏃🏽`,title:`Person Running: Medium Skin Tone`},{emoji:`🏃🏾`,title:`Person Running: Medium-dark Skin Tone`},{emoji:`🏃🏿`,title:`Person Running: Dark Skin Tone`}]},{emoji:`🏃‍♂️`,title:`Man Running`,skinToneVariants:[{emoji:`🏃🏻‍♂️`,title:`Man Running: Light Skin Tone`},{emoji:`🏃🏼‍♂️`,title:`Man Running: Medium-light Skin Tone`},{emoji:`🏃🏽‍♂️`,title:`Man Running: Medium Skin Tone`},{emoji:`🏃🏾‍♂️`,title:`Man Running: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♂️`,title:`Man Running: Dark Skin Tone`}]},{emoji:`🏃‍♀️`,title:`Woman Running`,skinToneVariants:[{emoji:`🏃🏻‍♀️`,title:`Woman Running: Light Skin Tone`},{emoji:`🏃🏼‍♀️`,title:`Woman Running: Medium-light Skin Tone`},{emoji:`🏃🏽‍♀️`,title:`Woman Running: Medium Skin Tone`},{emoji:`🏃🏾‍♀️`,title:`Woman Running: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♀️`,title:`Woman Running: Dark Skin Tone`}]},{emoji:`🏃‍➡️`,title:`Person Running Facing Right`,skinToneVariants:[{emoji:`🏃🏻‍➡️`,title:`Person Running Facing Right: Light Skin Tone`},{emoji:`🏃🏼‍➡️`,title:`Person Running Facing Right: Medium-light Skin Tone`},{emoji:`🏃🏽‍➡️`,title:`Person Running Facing Right: Medium Skin Tone`},{emoji:`🏃🏾‍➡️`,title:`Person Running Facing Right: Medium-dark Skin Tone`},{emoji:`🏃🏿‍➡️`,title:`Person Running Facing Right: Dark Skin Tone`}]},{emoji:`🏃‍♀️‍➡️`,title:`Woman Running Facing Right`,skinToneVariants:[{emoji:`🏃🏻‍♀️‍➡️`,title:`Woman Running Facing Right: Light Skin Tone`},{emoji:`🏃🏼‍♀️‍➡️`,title:`Woman Running Facing Right: Medium-light Skin Tone`},{emoji:`🏃🏽‍♀️‍➡️`,title:`Woman Running Facing Right: Medium Skin Tone`},{emoji:`🏃🏾‍♀️‍➡️`,title:`Woman Running Facing Right: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♀️‍➡️`,title:`Woman Running Facing Right: Dark Skin Tone`}]},{emoji:`🏃‍♂️‍➡️`,title:`Man Running Facing Right`,skinToneVariants:[{emoji:`🏃🏻‍♂️‍➡️`,title:`Man Running Facing Right: Light Skin Tone`},{emoji:`🏃🏼‍♂️‍➡️`,title:`Man Running Facing Right: Medium-light Skin Tone`},{emoji:`🏃🏽‍♂️‍➡️`,title:`Man Running Facing Right: Medium Skin Tone`},{emoji:`🏃🏾‍♂️‍➡️`,title:`Man Running Facing Right: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♂️‍➡️`,title:`Man Running Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🩰`,title:`Ballet Dancer`,skinToneVariants:[{emoji:`🧑🏻‍🩰`,title:`Ballet Dancer: Light Skin Tone`},{emoji:`🧑🏼‍🩰`,title:`Ballet Dancer: Medium-light Skin Tone`},{emoji:`🧑🏽‍🩰`,title:`Ballet Dancer: Medium Skin Tone`},{emoji:`🧑🏾‍🩰`,title:`Ballet Dancer: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🩰`,title:`Ballet Dancer: Dark Skin Tone`}]},{emoji:`💃`,title:`Woman Dancing`,skinToneVariants:[{emoji:`💃🏻`,title:`Woman Dancing: Light Skin Tone`},{emoji:`💃🏼`,title:`Woman Dancing: Medium-light Skin Tone`},{emoji:`💃🏽`,title:`Woman Dancing: Medium Skin Tone`},{emoji:`💃🏾`,title:`Woman Dancing: Medium-dark Skin Tone`},{emoji:`💃🏿`,title:`Woman Dancing: Dark Skin Tone`}]},{emoji:`🕺`,title:`Man Dancing`,skinToneVariants:[{emoji:`🕺🏻`,title:`Man Dancing: Light Skin Tone`},{emoji:`🕺🏼`,title:`Man Dancing: Medium-light Skin Tone`},{emoji:`🕺🏽`,title:`Man Dancing: Medium Skin Tone`},{emoji:`🕺🏾`,title:`Man Dancing: Medium-dark Skin Tone`},{emoji:`🕺🏿`,title:`Man Dancing: Dark Skin Tone`}]},{emoji:`🕴️`,title:`Person In Suit Levitating`,skinToneVariants:[{emoji:`🕴🏻`,title:`Person In Suit Levitating: Light Skin Tone`},{emoji:`🕴🏼`,title:`Person In Suit Levitating: Medium-light Skin Tone`},{emoji:`🕴🏽`,title:`Person In Suit Levitating: Medium Skin Tone`},{emoji:`🕴🏾`,title:`Person In Suit Levitating: Medium-dark Skin Tone`},{emoji:`🕴🏿`,title:`Person In Suit Levitating: Dark Skin Tone`}]},{emoji:`👯`,title:`People With Bunny Ears`,skinToneVariants:[{emoji:`👯🏻`,title:`People With Bunny Ears: Light Skin Tone`},{emoji:`👯🏼`,title:`People With Bunny Ears: Medium-light Skin Tone`},{emoji:`👯🏽`,title:`People With Bunny Ears: Medium Skin Tone`},{emoji:`👯🏾`,title:`People With Bunny Ears: Medium-dark Skin Tone`},{emoji:`👯🏿`,title:`People With Bunny Ears: Dark Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏼`,title:`People With Bunny Ears: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏽`,title:`People With Bunny Ears: Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏾`,title:`People With Bunny Ears: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏿`,title:`People With Bunny Ears: Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏻`,title:`People With Bunny Ears: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏽`,title:`People With Bunny Ears: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏾`,title:`People With Bunny Ears: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏿`,title:`People With Bunny Ears: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏻`,title:`People With Bunny Ears: Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏼`,title:`People With Bunny Ears: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏾`,title:`People With Bunny Ears: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏿`,title:`People With Bunny Ears: Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏻`,title:`People With Bunny Ears: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏼`,title:`People With Bunny Ears: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏽`,title:`People With Bunny Ears: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏿`,title:`People With Bunny Ears: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏻`,title:`People With Bunny Ears: Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏼`,title:`People With Bunny Ears: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏽`,title:`People With Bunny Ears: Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏾`,title:`People With Bunny Ears: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👯‍♂️`,title:`Men With Bunny Ears`,skinToneVariants:[{emoji:`👯🏻‍♂️`,title:`Men With Bunny Ears: Light Skin Tone`},{emoji:`👯🏼‍♂️`,title:`Men With Bunny Ears: Medium-light Skin Tone`},{emoji:`👯🏽‍♂️`,title:`Men With Bunny Ears: Medium Skin Tone`},{emoji:`👯🏾‍♂️`,title:`Men With Bunny Ears: Medium-dark Skin Tone`},{emoji:`👯🏿‍♂️`,title:`Men With Bunny Ears: Dark Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏼`,title:`Men With Bunny Ears: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏽`,title:`Men With Bunny Ears: Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏾`,title:`Men With Bunny Ears: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏿`,title:`Men With Bunny Ears: Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏻`,title:`Men With Bunny Ears: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏽`,title:`Men With Bunny Ears: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏾`,title:`Men With Bunny Ears: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏿`,title:`Men With Bunny Ears: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏻`,title:`Men With Bunny Ears: Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏼`,title:`Men With Bunny Ears: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏾`,title:`Men With Bunny Ears: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏿`,title:`Men With Bunny Ears: Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏻`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏼`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏽`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏿`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏻`,title:`Men With Bunny Ears: Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏼`,title:`Men With Bunny Ears: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏽`,title:`Men With Bunny Ears: Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏾`,title:`Men With Bunny Ears: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👯‍♀️`,title:`Women With Bunny Ears`,skinToneVariants:[{emoji:`👯🏻‍♀️`,title:`Women With Bunny Ears: Light Skin Tone`},{emoji:`👯🏼‍♀️`,title:`Women With Bunny Ears: Medium-light Skin Tone`},{emoji:`👯🏽‍♀️`,title:`Women With Bunny Ears: Medium Skin Tone`},{emoji:`👯🏾‍♀️`,title:`Women With Bunny Ears: Medium-dark Skin Tone`},{emoji:`👯🏿‍♀️`,title:`Women With Bunny Ears: Dark Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏼`,title:`Women With Bunny Ears: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏽`,title:`Women With Bunny Ears: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏾`,title:`Women With Bunny Ears: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏿`,title:`Women With Bunny Ears: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏻`,title:`Women With Bunny Ears: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏽`,title:`Women With Bunny Ears: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏾`,title:`Women With Bunny Ears: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏿`,title:`Women With Bunny Ears: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏻`,title:`Women With Bunny Ears: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏼`,title:`Women With Bunny Ears: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏾`,title:`Women With Bunny Ears: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏿`,title:`Women With Bunny Ears: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏻`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏼`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏽`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏿`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏻`,title:`Women With Bunny Ears: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏼`,title:`Women With Bunny Ears: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏽`,title:`Women With Bunny Ears: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏾`,title:`Women With Bunny Ears: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🧖`,title:`Person In Steamy Room`,skinToneVariants:[{emoji:`🧖🏻`,title:`Person In Steamy Room: Light Skin Tone`},{emoji:`🧖🏼`,title:`Person In Steamy Room: Medium-light Skin Tone`},{emoji:`🧖🏽`,title:`Person In Steamy Room: Medium Skin Tone`},{emoji:`🧖🏾`,title:`Person In Steamy Room: Medium-dark Skin Tone`},{emoji:`🧖🏿`,title:`Person In Steamy Room: Dark Skin Tone`}]},{emoji:`🧖‍♂️`,title:`Man In Steamy Room`,skinToneVariants:[{emoji:`🧖🏻‍♂️`,title:`Man In Steamy Room: Light Skin Tone`},{emoji:`🧖🏼‍♂️`,title:`Man In Steamy Room: Medium-light Skin Tone`},{emoji:`🧖🏽‍♂️`,title:`Man In Steamy Room: Medium Skin Tone`},{emoji:`🧖🏾‍♂️`,title:`Man In Steamy Room: Medium-dark Skin Tone`},{emoji:`🧖🏿‍♂️`,title:`Man In Steamy Room: Dark Skin Tone`}]},{emoji:`🧖‍♀️`,title:`Woman In Steamy Room`,skinToneVariants:[{emoji:`🧖🏻‍♀️`,title:`Woman In Steamy Room: Light Skin Tone`},{emoji:`🧖🏼‍♀️`,title:`Woman In Steamy Room: Medium-light Skin Tone`},{emoji:`🧖🏽‍♀️`,title:`Woman In Steamy Room: Medium Skin Tone`},{emoji:`🧖🏾‍♀️`,title:`Woman In Steamy Room: Medium-dark Skin Tone`},{emoji:`🧖🏿‍♀️`,title:`Woman In Steamy Room: Dark Skin Tone`}]},{emoji:`🧗`,title:`Person Climbing`,skinToneVariants:[{emoji:`🧗🏻`,title:`Person Climbing: Light Skin Tone`},{emoji:`🧗🏼`,title:`Person Climbing: Medium-light Skin Tone`},{emoji:`🧗🏽`,title:`Person Climbing: Medium Skin Tone`},{emoji:`🧗🏾`,title:`Person Climbing: Medium-dark Skin Tone`},{emoji:`🧗🏿`,title:`Person Climbing: Dark Skin Tone`}]},{emoji:`🧗‍♂️`,title:`Man Climbing`,skinToneVariants:[{emoji:`🧗🏻‍♂️`,title:`Man Climbing: Light Skin Tone`},{emoji:`🧗🏼‍♂️`,title:`Man Climbing: Medium-light Skin Tone`},{emoji:`🧗🏽‍♂️`,title:`Man Climbing: Medium Skin Tone`},{emoji:`🧗🏾‍♂️`,title:`Man Climbing: Medium-dark Skin Tone`},{emoji:`🧗🏿‍♂️`,title:`Man Climbing: Dark Skin Tone`}]},{emoji:`🧗‍♀️`,title:`Woman Climbing`,skinToneVariants:[{emoji:`🧗🏻‍♀️`,title:`Woman Climbing: Light Skin Tone`},{emoji:`🧗🏼‍♀️`,title:`Woman Climbing: Medium-light Skin Tone`},{emoji:`🧗🏽‍♀️`,title:`Woman Climbing: Medium Skin Tone`},{emoji:`🧗🏾‍♀️`,title:`Woman Climbing: Medium-dark Skin Tone`},{emoji:`🧗🏿‍♀️`,title:`Woman Climbing: Dark Skin Tone`}]},{emoji:`🤺`,title:`Person Fencing`},{emoji:`🏇`,title:`Horse Racing`,skinToneVariants:[{emoji:`🏇🏻`,title:`Horse Racing: Light Skin Tone`},{emoji:`🏇🏼`,title:`Horse Racing: Medium-light Skin Tone`},{emoji:`🏇🏽`,title:`Horse Racing: Medium Skin Tone`},{emoji:`🏇🏾`,title:`Horse Racing: Medium-dark Skin Tone`},{emoji:`🏇🏿`,title:`Horse Racing: Dark Skin Tone`}]},{emoji:`⛷️`,title:`Skier`},{emoji:`🏂`,title:`Snowboarder`,skinToneVariants:[{emoji:`🏂🏻`,title:`Snowboarder: Light Skin Tone`},{emoji:`🏂🏼`,title:`Snowboarder: Medium-light Skin Tone`},{emoji:`🏂🏽`,title:`Snowboarder: Medium Skin Tone`},{emoji:`🏂🏾`,title:`Snowboarder: Medium-dark Skin Tone`},{emoji:`🏂🏿`,title:`Snowboarder: Dark Skin Tone`}]},{emoji:`🏌️`,title:`Person Golfing`,skinToneVariants:[{emoji:`🏌🏻`,title:`Person Golfing: Light Skin Tone`},{emoji:`🏌🏼`,title:`Person Golfing: Medium-light Skin Tone`},{emoji:`🏌🏽`,title:`Person Golfing: Medium Skin Tone`},{emoji:`🏌🏾`,title:`Person Golfing: Medium-dark Skin Tone`},{emoji:`🏌🏿`,title:`Person Golfing: Dark Skin Tone`}]},{emoji:`🏌️‍♂️`,title:`Man Golfing`,skinToneVariants:[{emoji:`🏌🏻‍♂️`,title:`Man Golfing: Light Skin Tone`},{emoji:`🏌🏼‍♂️`,title:`Man Golfing: Medium-light Skin Tone`},{emoji:`🏌🏽‍♂️`,title:`Man Golfing: Medium Skin Tone`},{emoji:`🏌🏾‍♂️`,title:`Man Golfing: Medium-dark Skin Tone`},{emoji:`🏌🏿‍♂️`,title:`Man Golfing: Dark Skin Tone`}]},{emoji:`🏌️‍♀️`,title:`Woman Golfing`,skinToneVariants:[{emoji:`🏌🏻‍♀️`,title:`Woman Golfing: Light Skin Tone`},{emoji:`🏌🏼‍♀️`,title:`Woman Golfing: Medium-light Skin Tone`},{emoji:`🏌🏽‍♀️`,title:`Woman Golfing: Medium Skin Tone`},{emoji:`🏌🏾‍♀️`,title:`Woman Golfing: Medium-dark Skin Tone`},{emoji:`🏌🏿‍♀️`,title:`Woman Golfing: Dark Skin Tone`}]},{emoji:`🏄`,title:`Person Surfing`,skinToneVariants:[{emoji:`🏄🏻`,title:`Person Surfing: Light Skin Tone`},{emoji:`🏄🏼`,title:`Person Surfing: Medium-light Skin Tone`},{emoji:`🏄🏽`,title:`Person Surfing: Medium Skin Tone`},{emoji:`🏄🏾`,title:`Person Surfing: Medium-dark Skin Tone`},{emoji:`🏄🏿`,title:`Person Surfing: Dark Skin Tone`}]},{emoji:`🏄‍♂️`,title:`Man Surfing`,skinToneVariants:[{emoji:`🏄🏻‍♂️`,title:`Man Surfing: Light Skin Tone`},{emoji:`🏄🏼‍♂️`,title:`Man Surfing: Medium-light Skin Tone`},{emoji:`🏄🏽‍♂️`,title:`Man Surfing: Medium Skin Tone`},{emoji:`🏄🏾‍♂️`,title:`Man Surfing: Medium-dark Skin Tone`},{emoji:`🏄🏿‍♂️`,title:`Man Surfing: Dark Skin Tone`}]},{emoji:`🏄‍♀️`,title:`Woman Surfing`,skinToneVariants:[{emoji:`🏄🏻‍♀️`,title:`Woman Surfing: Light Skin Tone`},{emoji:`🏄🏼‍♀️`,title:`Woman Surfing: Medium-light Skin Tone`},{emoji:`🏄🏽‍♀️`,title:`Woman Surfing: Medium Skin Tone`},{emoji:`🏄🏾‍♀️`,title:`Woman Surfing: Medium-dark Skin Tone`},{emoji:`🏄🏿‍♀️`,title:`Woman Surfing: Dark Skin Tone`}]},{emoji:`🚣`,title:`Person Rowing Boat`,skinToneVariants:[{emoji:`🚣🏻`,title:`Person Rowing Boat: Light Skin Tone`},{emoji:`🚣🏼`,title:`Person Rowing Boat: Medium-light Skin Tone`},{emoji:`🚣🏽`,title:`Person Rowing Boat: Medium Skin Tone`},{emoji:`🚣🏾`,title:`Person Rowing Boat: Medium-dark Skin Tone`},{emoji:`🚣🏿`,title:`Person Rowing Boat: Dark Skin Tone`}]},{emoji:`🚣‍♂️`,title:`Man Rowing Boat`,skinToneVariants:[{emoji:`🚣🏻‍♂️`,title:`Man Rowing Boat: Light Skin Tone`},{emoji:`🚣🏼‍♂️`,title:`Man Rowing Boat: Medium-light Skin Tone`},{emoji:`🚣🏽‍♂️`,title:`Man Rowing Boat: Medium Skin Tone`},{emoji:`🚣🏾‍♂️`,title:`Man Rowing Boat: Medium-dark Skin Tone`},{emoji:`🚣🏿‍♂️`,title:`Man Rowing Boat: Dark Skin Tone`}]},{emoji:`🚣‍♀️`,title:`Woman Rowing Boat`,skinToneVariants:[{emoji:`🚣🏻‍♀️`,title:`Woman Rowing Boat: Light Skin Tone`},{emoji:`🚣🏼‍♀️`,title:`Woman Rowing Boat: Medium-light Skin Tone`},{emoji:`🚣🏽‍♀️`,title:`Woman Rowing Boat: Medium Skin Tone`},{emoji:`🚣🏾‍♀️`,title:`Woman Rowing Boat: Medium-dark Skin Tone`},{emoji:`🚣🏿‍♀️`,title:`Woman Rowing Boat: Dark Skin Tone`}]},{emoji:`🏊`,title:`Person Swimming`,skinToneVariants:[{emoji:`🏊🏻`,title:`Person Swimming: Light Skin Tone`},{emoji:`🏊🏼`,title:`Person Swimming: Medium-light Skin Tone`},{emoji:`🏊🏽`,title:`Person Swimming: Medium Skin Tone`},{emoji:`🏊🏾`,title:`Person Swimming: Medium-dark Skin Tone`},{emoji:`🏊🏿`,title:`Person Swimming: Dark Skin Tone`}]},{emoji:`🏊‍♂️`,title:`Man Swimming`,skinToneVariants:[{emoji:`🏊🏻‍♂️`,title:`Man Swimming: Light Skin Tone`},{emoji:`🏊🏼‍♂️`,title:`Man Swimming: Medium-light Skin Tone`},{emoji:`🏊🏽‍♂️`,title:`Man Swimming: Medium Skin Tone`},{emoji:`🏊🏾‍♂️`,title:`Man Swimming: Medium-dark Skin Tone`},{emoji:`🏊🏿‍♂️`,title:`Man Swimming: Dark Skin Tone`}]},{emoji:`🏊‍♀️`,title:`Woman Swimming`,skinToneVariants:[{emoji:`🏊🏻‍♀️`,title:`Woman Swimming: Light Skin Tone`},{emoji:`🏊🏼‍♀️`,title:`Woman Swimming: Medium-light Skin Tone`},{emoji:`🏊🏽‍♀️`,title:`Woman Swimming: Medium Skin Tone`},{emoji:`🏊🏾‍♀️`,title:`Woman Swimming: Medium-dark Skin Tone`},{emoji:`🏊🏿‍♀️`,title:`Woman Swimming: Dark Skin Tone`}]},{emoji:`⛹️`,title:`Person Bouncing Ball`,skinToneVariants:[{emoji:`⛹🏻`,title:`Person Bouncing Ball: Light Skin Tone`},{emoji:`⛹🏼`,title:`Person Bouncing Ball: Medium-light Skin Tone`},{emoji:`⛹🏽`,title:`Person Bouncing Ball: Medium Skin Tone`},{emoji:`⛹🏾`,title:`Person Bouncing Ball: Medium-dark Skin Tone`},{emoji:`⛹🏿`,title:`Person Bouncing Ball: Dark Skin Tone`}]},{emoji:`⛹️‍♂️`,title:`Man Bouncing Ball`,skinToneVariants:[{emoji:`⛹🏻‍♂️`,title:`Man Bouncing Ball: Light Skin Tone`},{emoji:`⛹🏼‍♂️`,title:`Man Bouncing Ball: Medium-light Skin Tone`},{emoji:`⛹🏽‍♂️`,title:`Man Bouncing Ball: Medium Skin Tone`},{emoji:`⛹🏾‍♂️`,title:`Man Bouncing Ball: Medium-dark Skin Tone`},{emoji:`⛹🏿‍♂️`,title:`Man Bouncing Ball: Dark Skin Tone`}]},{emoji:`⛹️‍♀️`,title:`Woman Bouncing Ball`,skinToneVariants:[{emoji:`⛹🏻‍♀️`,title:`Woman Bouncing Ball: Light Skin Tone`},{emoji:`⛹🏼‍♀️`,title:`Woman Bouncing Ball: Medium-light Skin Tone`},{emoji:`⛹🏽‍♀️`,title:`Woman Bouncing Ball: Medium Skin Tone`},{emoji:`⛹🏾‍♀️`,title:`Woman Bouncing Ball: Medium-dark Skin Tone`},{emoji:`⛹🏿‍♀️`,title:`Woman Bouncing Ball: Dark Skin Tone`}]},{emoji:`🏋️`,title:`Person Lifting Weights`,skinToneVariants:[{emoji:`🏋🏻`,title:`Person Lifting Weights: Light Skin Tone`},{emoji:`🏋🏼`,title:`Person Lifting Weights: Medium-light Skin Tone`},{emoji:`🏋🏽`,title:`Person Lifting Weights: Medium Skin Tone`},{emoji:`🏋🏾`,title:`Person Lifting Weights: Medium-dark Skin Tone`},{emoji:`🏋🏿`,title:`Person Lifting Weights: Dark Skin Tone`}]},{emoji:`🏋️‍♂️`,title:`Man Lifting Weights`,skinToneVariants:[{emoji:`🏋🏻‍♂️`,title:`Man Lifting Weights: Light Skin Tone`},{emoji:`🏋🏼‍♂️`,title:`Man Lifting Weights: Medium-light Skin Tone`},{emoji:`🏋🏽‍♂️`,title:`Man Lifting Weights: Medium Skin Tone`},{emoji:`🏋🏾‍♂️`,title:`Man Lifting Weights: Medium-dark Skin Tone`},{emoji:`🏋🏿‍♂️`,title:`Man Lifting Weights: Dark Skin Tone`}]},{emoji:`🏋️‍♀️`,title:`Woman Lifting Weights`,skinToneVariants:[{emoji:`🏋🏻‍♀️`,title:`Woman Lifting Weights: Light Skin Tone`},{emoji:`🏋🏼‍♀️`,title:`Woman Lifting Weights: Medium-light Skin Tone`},{emoji:`🏋🏽‍♀️`,title:`Woman Lifting Weights: Medium Skin Tone`},{emoji:`🏋🏾‍♀️`,title:`Woman Lifting Weights: Medium-dark Skin Tone`},{emoji:`🏋🏿‍♀️`,title:`Woman Lifting Weights: Dark Skin Tone`}]},{emoji:`🚴`,title:`Person Biking`,skinToneVariants:[{emoji:`🚴🏻`,title:`Person Biking: Light Skin Tone`},{emoji:`🚴🏼`,title:`Person Biking: Medium-light Skin Tone`},{emoji:`🚴🏽`,title:`Person Biking: Medium Skin Tone`},{emoji:`🚴🏾`,title:`Person Biking: Medium-dark Skin Tone`},{emoji:`🚴🏿`,title:`Person Biking: Dark Skin Tone`}]},{emoji:`🚴‍♂️`,title:`Man Biking`,skinToneVariants:[{emoji:`🚴🏻‍♂️`,title:`Man Biking: Light Skin Tone`},{emoji:`🚴🏼‍♂️`,title:`Man Biking: Medium-light Skin Tone`},{emoji:`🚴🏽‍♂️`,title:`Man Biking: Medium Skin Tone`},{emoji:`🚴🏾‍♂️`,title:`Man Biking: Medium-dark Skin Tone`},{emoji:`🚴🏿‍♂️`,title:`Man Biking: Dark Skin Tone`}]},{emoji:`🚴‍♀️`,title:`Woman Biking`,skinToneVariants:[{emoji:`🚴🏻‍♀️`,title:`Woman Biking: Light Skin Tone`},{emoji:`🚴🏼‍♀️`,title:`Woman Biking: Medium-light Skin Tone`},{emoji:`🚴🏽‍♀️`,title:`Woman Biking: Medium Skin Tone`},{emoji:`🚴🏾‍♀️`,title:`Woman Biking: Medium-dark Skin Tone`},{emoji:`🚴🏿‍♀️`,title:`Woman Biking: Dark Skin Tone`}]},{emoji:`🚵`,title:`Person Mountain Biking`,skinToneVariants:[{emoji:`🚵🏻`,title:`Person Mountain Biking: Light Skin Tone`},{emoji:`🚵🏼`,title:`Person Mountain Biking: Medium-light Skin Tone`},{emoji:`🚵🏽`,title:`Person Mountain Biking: Medium Skin Tone`},{emoji:`🚵🏾`,title:`Person Mountain Biking: Medium-dark Skin Tone`},{emoji:`🚵🏿`,title:`Person Mountain Biking: Dark Skin Tone`}]},{emoji:`🚵‍♂️`,title:`Man Mountain Biking`,skinToneVariants:[{emoji:`🚵🏻‍♂️`,title:`Man Mountain Biking: Light Skin Tone`},{emoji:`🚵🏼‍♂️`,title:`Man Mountain Biking: Medium-light Skin Tone`},{emoji:`🚵🏽‍♂️`,title:`Man Mountain Biking: Medium Skin Tone`},{emoji:`🚵🏾‍♂️`,title:`Man Mountain Biking: Medium-dark Skin Tone`},{emoji:`🚵🏿‍♂️`,title:`Man Mountain Biking: Dark Skin Tone`}]},{emoji:`🚵‍♀️`,title:`Woman Mountain Biking`,skinToneVariants:[{emoji:`🚵🏻‍♀️`,title:`Woman Mountain Biking: Light Skin Tone`},{emoji:`🚵🏼‍♀️`,title:`Woman Mountain Biking: Medium-light Skin Tone`},{emoji:`🚵🏽‍♀️`,title:`Woman Mountain Biking: Medium Skin Tone`},{emoji:`🚵🏾‍♀️`,title:`Woman Mountain Biking: Medium-dark Skin Tone`},{emoji:`🚵🏿‍♀️`,title:`Woman Mountain Biking: Dark Skin Tone`}]},{emoji:`🤸`,title:`Person Cartwheeling`,skinToneVariants:[{emoji:`🤸🏻`,title:`Person Cartwheeling: Light Skin Tone`},{emoji:`🤸🏼`,title:`Person Cartwheeling: Medium-light Skin Tone`},{emoji:`🤸🏽`,title:`Person Cartwheeling: Medium Skin Tone`},{emoji:`🤸🏾`,title:`Person Cartwheeling: Medium-dark Skin Tone`},{emoji:`🤸🏿`,title:`Person Cartwheeling: Dark Skin Tone`}]},{emoji:`🤸‍♂️`,title:`Man Cartwheeling`,skinToneVariants:[{emoji:`🤸🏻‍♂️`,title:`Man Cartwheeling: Light Skin Tone`},{emoji:`🤸🏼‍♂️`,title:`Man Cartwheeling: Medium-light Skin Tone`},{emoji:`🤸🏽‍♂️`,title:`Man Cartwheeling: Medium Skin Tone`},{emoji:`🤸🏾‍♂️`,title:`Man Cartwheeling: Medium-dark Skin Tone`},{emoji:`🤸🏿‍♂️`,title:`Man Cartwheeling: Dark Skin Tone`}]},{emoji:`🤸‍♀️`,title:`Woman Cartwheeling`,skinToneVariants:[{emoji:`🤸🏻‍♀️`,title:`Woman Cartwheeling: Light Skin Tone`},{emoji:`🤸🏼‍♀️`,title:`Woman Cartwheeling: Medium-light Skin Tone`},{emoji:`🤸🏽‍♀️`,title:`Woman Cartwheeling: Medium Skin Tone`},{emoji:`🤸🏾‍♀️`,title:`Woman Cartwheeling: Medium-dark Skin Tone`},{emoji:`🤸🏿‍♀️`,title:`Woman Cartwheeling: Dark Skin Tone`}]},{emoji:`🤼`,title:`People Wrestling`,skinToneVariants:[{emoji:`🤼🏻`,title:`People Wrestling: Light Skin Tone`},{emoji:`🤼🏼`,title:`People Wrestling: Medium-light Skin Tone`},{emoji:`🤼🏽`,title:`People Wrestling: Medium Skin Tone`},{emoji:`🤼🏾`,title:`People Wrestling: Medium-dark Skin Tone`},{emoji:`🤼🏿`,title:`People Wrestling: Dark Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏼`,title:`People Wrestling: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏽`,title:`People Wrestling: Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏾`,title:`People Wrestling: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏿`,title:`People Wrestling: Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏻`,title:`People Wrestling: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏽`,title:`People Wrestling: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏾`,title:`People Wrestling: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏿`,title:`People Wrestling: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏻`,title:`People Wrestling: Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏼`,title:`People Wrestling: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏾`,title:`People Wrestling: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏿`,title:`People Wrestling: Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏻`,title:`People Wrestling: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏼`,title:`People Wrestling: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏽`,title:`People Wrestling: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏿`,title:`People Wrestling: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏻`,title:`People Wrestling: Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏼`,title:`People Wrestling: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏽`,title:`People Wrestling: Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏾`,title:`People Wrestling: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🤼‍♂️`,title:`Men Wrestling`,skinToneVariants:[{emoji:`🤼🏻‍♂️`,title:`Men Wrestling: Light Skin Tone`},{emoji:`🤼🏼‍♂️`,title:`Men Wrestling: Medium-light Skin Tone`},{emoji:`🤼🏽‍♂️`,title:`Men Wrestling: Medium Skin Tone`},{emoji:`🤼🏾‍♂️`,title:`Men Wrestling: Medium-dark Skin Tone`},{emoji:`🤼🏿‍♂️`,title:`Men Wrestling: Dark Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏼`,title:`Men Wrestling: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏽`,title:`Men Wrestling: Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏾`,title:`Men Wrestling: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏿`,title:`Men Wrestling: Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏻`,title:`Men Wrestling: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏽`,title:`Men Wrestling: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏾`,title:`Men Wrestling: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏿`,title:`Men Wrestling: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏻`,title:`Men Wrestling: Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏼`,title:`Men Wrestling: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏾`,title:`Men Wrestling: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏿`,title:`Men Wrestling: Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏻`,title:`Men Wrestling: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏼`,title:`Men Wrestling: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏽`,title:`Men Wrestling: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏿`,title:`Men Wrestling: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏻`,title:`Men Wrestling: Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏼`,title:`Men Wrestling: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏽`,title:`Men Wrestling: Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏾`,title:`Men Wrestling: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🤼‍♀️`,title:`Women Wrestling`,skinToneVariants:[{emoji:`🤼🏻‍♀️`,title:`Women Wrestling: Light Skin Tone`},{emoji:`🤼🏼‍♀️`,title:`Women Wrestling: Medium-light Skin Tone`},{emoji:`🤼🏽‍♀️`,title:`Women Wrestling: Medium Skin Tone`},{emoji:`🤼🏾‍♀️`,title:`Women Wrestling: Medium-dark Skin Tone`},{emoji:`🤼🏿‍♀️`,title:`Women Wrestling: Dark Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏼`,title:`Women Wrestling: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏽`,title:`Women Wrestling: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏾`,title:`Women Wrestling: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏿`,title:`Women Wrestling: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏻`,title:`Women Wrestling: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏽`,title:`Women Wrestling: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏾`,title:`Women Wrestling: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏿`,title:`Women Wrestling: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏻`,title:`Women Wrestling: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏼`,title:`Women Wrestling: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏾`,title:`Women Wrestling: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏿`,title:`Women Wrestling: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏻`,title:`Women Wrestling: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏼`,title:`Women Wrestling: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏽`,title:`Women Wrestling: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏿`,title:`Women Wrestling: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏻`,title:`Women Wrestling: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏼`,title:`Women Wrestling: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏽`,title:`Women Wrestling: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏾`,title:`Women Wrestling: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🤽`,title:`Person Playing Water Polo`,skinToneVariants:[{emoji:`🤽🏻`,title:`Person Playing Water Polo: Light Skin Tone`},{emoji:`🤽🏼`,title:`Person Playing Water Polo: Medium-light Skin Tone`},{emoji:`🤽🏽`,title:`Person Playing Water Polo: Medium Skin Tone`},{emoji:`🤽🏾`,title:`Person Playing Water Polo: Medium-dark Skin Tone`},{emoji:`🤽🏿`,title:`Person Playing Water Polo: Dark Skin Tone`}]},{emoji:`🤽‍♂️`,title:`Man Playing Water Polo`,skinToneVariants:[{emoji:`🤽🏻‍♂️`,title:`Man Playing Water Polo: Light Skin Tone`},{emoji:`🤽🏼‍♂️`,title:`Man Playing Water Polo: Medium-light Skin Tone`},{emoji:`🤽🏽‍♂️`,title:`Man Playing Water Polo: Medium Skin Tone`},{emoji:`🤽🏾‍♂️`,title:`Man Playing Water Polo: Medium-dark Skin Tone`},{emoji:`🤽🏿‍♂️`,title:`Man Playing Water Polo: Dark Skin Tone`}]},{emoji:`🤽‍♀️`,title:`Woman Playing Water Polo`,skinToneVariants:[{emoji:`🤽🏻‍♀️`,title:`Woman Playing Water Polo: Light Skin Tone`},{emoji:`🤽🏼‍♀️`,title:`Woman Playing Water Polo: Medium-light Skin Tone`},{emoji:`🤽🏽‍♀️`,title:`Woman Playing Water Polo: Medium Skin Tone`},{emoji:`🤽🏾‍♀️`,title:`Woman Playing Water Polo: Medium-dark Skin Tone`},{emoji:`🤽🏿‍♀️`,title:`Woman Playing Water Polo: Dark Skin Tone`}]},{emoji:`🤾`,title:`Person Playing Handball`,skinToneVariants:[{emoji:`🤾🏻`,title:`Person Playing Handball: Light Skin Tone`},{emoji:`🤾🏼`,title:`Person Playing Handball: Medium-light Skin Tone`},{emoji:`🤾🏽`,title:`Person Playing Handball: Medium Skin Tone`},{emoji:`🤾🏾`,title:`Person Playing Handball: Medium-dark Skin Tone`},{emoji:`🤾🏿`,title:`Person Playing Handball: Dark Skin Tone`}]},{emoji:`🤾‍♂️`,title:`Man Playing Handball`,skinToneVariants:[{emoji:`🤾🏻‍♂️`,title:`Man Playing Handball: Light Skin Tone`},{emoji:`🤾🏼‍♂️`,title:`Man Playing Handball: Medium-light Skin Tone`},{emoji:`🤾🏽‍♂️`,title:`Man Playing Handball: Medium Skin Tone`},{emoji:`🤾🏾‍♂️`,title:`Man Playing Handball: Medium-dark Skin Tone`},{emoji:`🤾🏿‍♂️`,title:`Man Playing Handball: Dark Skin Tone`}]},{emoji:`🤾‍♀️`,title:`Woman Playing Handball`,skinToneVariants:[{emoji:`🤾🏻‍♀️`,title:`Woman Playing Handball: Light Skin Tone`},{emoji:`🤾🏼‍♀️`,title:`Woman Playing Handball: Medium-light Skin Tone`},{emoji:`🤾🏽‍♀️`,title:`Woman Playing Handball: Medium Skin Tone`},{emoji:`🤾🏾‍♀️`,title:`Woman Playing Handball: Medium-dark Skin Tone`},{emoji:`🤾🏿‍♀️`,title:`Woman Playing Handball: Dark Skin Tone`}]},{emoji:`🤹`,title:`Person Juggling`,skinToneVariants:[{emoji:`🤹🏻`,title:`Person Juggling: Light Skin Tone`},{emoji:`🤹🏼`,title:`Person Juggling: Medium-light Skin Tone`},{emoji:`🤹🏽`,title:`Person Juggling: Medium Skin Tone`},{emoji:`🤹🏾`,title:`Person Juggling: Medium-dark Skin Tone`},{emoji:`🤹🏿`,title:`Person Juggling: Dark Skin Tone`}]},{emoji:`🤹‍♂️`,title:`Man Juggling`,skinToneVariants:[{emoji:`🤹🏻‍♂️`,title:`Man Juggling: Light Skin Tone`},{emoji:`🤹🏼‍♂️`,title:`Man Juggling: Medium-light Skin Tone`},{emoji:`🤹🏽‍♂️`,title:`Man Juggling: Medium Skin Tone`},{emoji:`🤹🏾‍♂️`,title:`Man Juggling: Medium-dark Skin Tone`},{emoji:`🤹🏿‍♂️`,title:`Man Juggling: Dark Skin Tone`}]},{emoji:`🤹‍♀️`,title:`Woman Juggling`,skinToneVariants:[{emoji:`🤹🏻‍♀️`,title:`Woman Juggling: Light Skin Tone`},{emoji:`🤹🏼‍♀️`,title:`Woman Juggling: Medium-light Skin Tone`},{emoji:`🤹🏽‍♀️`,title:`Woman Juggling: Medium Skin Tone`},{emoji:`🤹🏾‍♀️`,title:`Woman Juggling: Medium-dark Skin Tone`},{emoji:`🤹🏿‍♀️`,title:`Woman Juggling: Dark Skin Tone`}]},{emoji:`🧘`,title:`Person In Lotus Position`,skinToneVariants:[{emoji:`🧘🏻`,title:`Person In Lotus Position: Light Skin Tone`},{emoji:`🧘🏼`,title:`Person In Lotus Position: Medium-light Skin Tone`},{emoji:`🧘🏽`,title:`Person In Lotus Position: Medium Skin Tone`},{emoji:`🧘🏾`,title:`Person In Lotus Position: Medium-dark Skin Tone`},{emoji:`🧘🏿`,title:`Person In Lotus Position: Dark Skin Tone`}]},{emoji:`🧘‍♂️`,title:`Man In Lotus Position`,skinToneVariants:[{emoji:`🧘🏻‍♂️`,title:`Man In Lotus Position: Light Skin Tone`},{emoji:`🧘🏼‍♂️`,title:`Man In Lotus Position: Medium-light Skin Tone`},{emoji:`🧘🏽‍♂️`,title:`Man In Lotus Position: Medium Skin Tone`},{emoji:`🧘🏾‍♂️`,title:`Man In Lotus Position: Medium-dark Skin Tone`},{emoji:`🧘🏿‍♂️`,title:`Man In Lotus Position: Dark Skin Tone`}]},{emoji:`🧘‍♀️`,title:`Woman In Lotus Position`,skinToneVariants:[{emoji:`🧘🏻‍♀️`,title:`Woman In Lotus Position: Light Skin Tone`},{emoji:`🧘🏼‍♀️`,title:`Woman In Lotus Position: Medium-light Skin Tone`},{emoji:`🧘🏽‍♀️`,title:`Woman In Lotus Position: Medium Skin Tone`},{emoji:`🧘🏾‍♀️`,title:`Woman In Lotus Position: Medium-dark Skin Tone`},{emoji:`🧘🏿‍♀️`,title:`Woman In Lotus Position: Dark Skin Tone`}]},{emoji:`🛀`,title:`Person Taking Bath`,skinToneVariants:[{emoji:`🛀🏻`,title:`Person Taking Bath: Light Skin Tone`},{emoji:`🛀🏼`,title:`Person Taking Bath: Medium-light Skin Tone`},{emoji:`🛀🏽`,title:`Person Taking Bath: Medium Skin Tone`},{emoji:`🛀🏾`,title:`Person Taking Bath: Medium-dark Skin Tone`},{emoji:`🛀🏿`,title:`Person Taking Bath: Dark Skin Tone`}]},{emoji:`🛌`,title:`Person In Bed`,skinToneVariants:[{emoji:`🛌🏻`,title:`Person In Bed: Light Skin Tone`},{emoji:`🛌🏼`,title:`Person In Bed: Medium-light Skin Tone`},{emoji:`🛌🏽`,title:`Person In Bed: Medium Skin Tone`},{emoji:`🛌🏾`,title:`Person In Bed: Medium-dark Skin Tone`},{emoji:`🛌🏿`,title:`Person In Bed: Dark Skin Tone`}]},{emoji:`🧑‍🤝‍🧑`,title:`People Holding Hands`,skinToneVariants:[{emoji:`🧑🏻‍🤝‍🧑🏻`,title:`People Holding Hands: Light Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏼`,title:`People Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏽`,title:`People Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏾`,title:`People Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏿`,title:`People Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏻`,title:`People Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏼`,title:`People Holding Hands: Medium-light Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏽`,title:`People Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏾`,title:`People Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏿`,title:`People Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏻`,title:`People Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏼`,title:`People Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏽`,title:`People Holding Hands: Medium Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏾`,title:`People Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏿`,title:`People Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏻`,title:`People Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏼`,title:`People Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏽`,title:`People Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏾`,title:`People Holding Hands: Medium-dark Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏿`,title:`People Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏻`,title:`People Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏼`,title:`People Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏽`,title:`People Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏾`,title:`People Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏿`,title:`People Holding Hands: Dark Skin Tone`}]},{emoji:`👭`,title:`Women Holding Hands`,skinToneVariants:[{emoji:`👭🏻`,title:`Women Holding Hands: Light Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏼`,title:`Women Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏽`,title:`Women Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏾`,title:`Women Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏿`,title:`Women Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏻`,title:`Women Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👭🏼`,title:`Women Holding Hands: Medium-light Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏽`,title:`Women Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏾`,title:`Women Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏿`,title:`Women Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏻`,title:`Women Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏼`,title:`Women Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👭🏽`,title:`Women Holding Hands: Medium Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏾`,title:`Women Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏿`,title:`Women Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏻`,title:`Women Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏼`,title:`Women Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏽`,title:`Women Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👭🏾`,title:`Women Holding Hands: Medium-dark Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏿`,title:`Women Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏻`,title:`Women Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏼`,title:`Women Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏽`,title:`Women Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏾`,title:`Women Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👭🏿`,title:`Women Holding Hands: Dark Skin Tone`}]},{emoji:`👫`,title:`Woman And Man Holding Hands`,skinToneVariants:[{emoji:`👫🏻`,title:`Woman And Man Holding Hands: Light Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👫🏼`,title:`Woman And Man Holding Hands: Medium-light Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👫🏽`,title:`Woman And Man Holding Hands: Medium Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👫🏾`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👫🏿`,title:`Woman And Man Holding Hands: Dark Skin Tone`}]},{emoji:`👬`,title:`Men Holding Hands`,skinToneVariants:[{emoji:`👬🏻`,title:`Men Holding Hands: Light Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏼`,title:`Men Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏽`,title:`Men Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏾`,title:`Men Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏿`,title:`Men Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏻`,title:`Men Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👬🏼`,title:`Men Holding Hands: Medium-light Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏽`,title:`Men Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏾`,title:`Men Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏿`,title:`Men Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏻`,title:`Men Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏼`,title:`Men Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👬🏽`,title:`Men Holding Hands: Medium Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏾`,title:`Men Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏿`,title:`Men Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏻`,title:`Men Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏼`,title:`Men Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏽`,title:`Men Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👬🏾`,title:`Men Holding Hands: Medium-dark Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏿`,title:`Men Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏻`,title:`Men Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏼`,title:`Men Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏽`,title:`Men Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏾`,title:`Men Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👬🏿`,title:`Men Holding Hands: Dark Skin Tone`}]},{emoji:`💏`,title:`Kiss`,skinToneVariants:[{emoji:`💏🏻`,title:`Kiss: Light Skin Tone`},{emoji:`💏🏼`,title:`Kiss: Medium-light Skin Tone`},{emoji:`💏🏽`,title:`Kiss: Medium Skin Tone`},{emoji:`💏🏾`,title:`Kiss: Medium-dark Skin Tone`},{emoji:`💏🏿`,title:`Kiss: Dark Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👩‍❤️‍💋‍👨`,title:`Kiss: Woman, Man`,skinToneVariants:[{emoji:`👩🏻‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Dark Skin Tone`}]},{emoji:`👨‍❤️‍💋‍👨`,title:`Kiss: Man, Man`,skinToneVariants:[{emoji:`👨🏻‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Light Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Medium-light Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Medium Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Medium-dark Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Dark Skin Tone`}]},{emoji:`👩‍❤️‍💋‍👩`,title:`Kiss: Woman, Woman`,skinToneVariants:[{emoji:`👩🏻‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Dark Skin Tone`}]},{emoji:`💑`,title:`Couple With Heart`,skinToneVariants:[{emoji:`💑🏻`,title:`Couple With Heart: Light Skin Tone`},{emoji:`💑🏼`,title:`Couple With Heart: Medium-light Skin Tone`},{emoji:`💑🏽`,title:`Couple With Heart: Medium Skin Tone`},{emoji:`💑🏾`,title:`Couple With Heart: Medium-dark Skin Tone`},{emoji:`💑🏿`,title:`Couple With Heart: Dark Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👩‍❤️‍👨`,title:`Couple With Heart: Woman, Man`,skinToneVariants:[{emoji:`👩🏻‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Light Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Dark Skin Tone`}]},{emoji:`👨‍❤️‍👨`,title:`Couple With Heart: Man, Man`,skinToneVariants:[{emoji:`👨🏻‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Light Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Medium Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Dark Skin Tone`}]},{emoji:`👩‍❤️‍👩`,title:`Couple With Heart: Woman, Woman`,skinToneVariants:[{emoji:`👩🏻‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Light Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone`}]},{emoji:`👨‍👩‍👦`,title:`Family: Man, Woman, Boy`},{emoji:`👨‍👩‍👧`,title:`Family: Man, Woman, Girl`},{emoji:`👨‍👩‍👧‍👦`,title:`Family: Man, Woman, Girl, Boy`},{emoji:`👨‍👩‍👦‍👦`,title:`Family: Man, Woman, Boy, Boy`},{emoji:`👨‍👩‍👧‍👧`,title:`Family: Man, Woman, Girl, Girl`},{emoji:`👨‍👨‍👦`,title:`Family: Man, Man, Boy`},{emoji:`👨‍👨‍👧`,title:`Family: Man, Man, Girl`},{emoji:`👨‍👨‍👧‍👦`,title:`Family: Man, Man, Girl, Boy`},{emoji:`👨‍👨‍👦‍👦`,title:`Family: Man, Man, Boy, Boy`},{emoji:`👨‍👨‍👧‍👧`,title:`Family: Man, Man, Girl, Girl`},{emoji:`👩‍👩‍👦`,title:`Family: Woman, Woman, Boy`},{emoji:`👩‍👩‍👧`,title:`Family: Woman, Woman, Girl`},{emoji:`👩‍👩‍👧‍👦`,title:`Family: Woman, Woman, Girl, Boy`},{emoji:`👩‍👩‍👦‍👦`,title:`Family: Woman, Woman, Boy, Boy`},{emoji:`👩‍👩‍👧‍👧`,title:`Family: Woman, Woman, Girl, Girl`},{emoji:`👨‍👦`,title:`Family: Man, Boy`},{emoji:`👨‍👦‍👦`,title:`Family: Man, Boy, Boy`},{emoji:`👨‍👧`,title:`Family: Man, Girl`},{emoji:`👨‍👧‍👦`,title:`Family: Man, Girl, Boy`},{emoji:`👨‍👧‍👧`,title:`Family: Man, Girl, Girl`},{emoji:`👩‍👦`,title:`Family: Woman, Boy`},{emoji:`👩‍👦‍👦`,title:`Family: Woman, Boy, Boy`},{emoji:`👩‍👧`,title:`Family: Woman, Girl`},{emoji:`👩‍👧‍👦`,title:`Family: Woman, Girl, Boy`},{emoji:`👩‍👧‍👧`,title:`Family: Woman, Girl, Girl`},{emoji:`🗣️`,title:`Speaking Head`},{emoji:`👤`,title:`Bust In Silhouette`},{emoji:`👥`,title:`Busts In Silhouette`},{emoji:`🫂`,title:`People Hugging`},{emoji:`👪`,title:`Family`},{emoji:`🧑‍🧑‍🧒`,title:`Family: Adult, Adult, Child`},{emoji:`🧑‍🧑‍🧒‍🧒`,title:`Family: Adult, Adult, Child, Child`},{emoji:`🧑‍🧒`,title:`Family: Adult, Child`},{emoji:`🧑‍🧒‍🧒`,title:`Family: Adult, Child, Child`},{emoji:`👣`,title:`Footprints`},{emoji:`🫆`,title:`Fingerprint`}],nature:[{emoji:`🐵`,title:`Monkey Face`},{emoji:`🐒`,title:`Monkey`},{emoji:`🦍`,title:`Gorilla`},{emoji:`🦧`,title:`Orangutan`},{emoji:`🐶`,title:`Dog Face`},{emoji:`🐕`,title:`Dog`},{emoji:`🦮`,title:`Guide Dog`},{emoji:`🐕‍🦺`,title:`Service Dog`},{emoji:`🐩`,title:`Poodle`},{emoji:`🐺`,title:`Wolf`},{emoji:`🦊`,title:`Fox`},{emoji:`🦝`,title:`Raccoon`},{emoji:`🐱`,title:`Cat Face`},{emoji:`🐈`,title:`Cat`},{emoji:`🐈‍⬛`,title:`Black Cat`},{emoji:`🦁`,title:`Lion`},{emoji:`🐯`,title:`Tiger Face`},{emoji:`🐅`,title:`Tiger`},{emoji:`🐆`,title:`Leopard`},{emoji:`🐴`,title:`Horse Face`},{emoji:`🫎`,title:`Moose`},{emoji:`🫏`,title:`Donkey`},{emoji:`🐎`,title:`Horse`},{emoji:`🦄`,title:`Unicorn`},{emoji:`🦓`,title:`Zebra`},{emoji:`🦌`,title:`Deer`},{emoji:`🦬`,title:`Bison`},{emoji:`🐮`,title:`Cow Face`},{emoji:`🐂`,title:`Ox`},{emoji:`🐃`,title:`Water Buffalo`},{emoji:`🐄`,title:`Cow`},{emoji:`🐷`,title:`Pig Face`},{emoji:`🐖`,title:`Pig`},{emoji:`🐗`,title:`Boar`},{emoji:`🐽`,title:`Pig Nose`},{emoji:`🐏`,title:`Ram`},{emoji:`🐑`,title:`Ewe`},{emoji:`🐐`,title:`Goat`},{emoji:`🐪`,title:`Camel`},{emoji:`🐫`,title:`Two-hump Camel`},{emoji:`🦙`,title:`Llama`},{emoji:`🦒`,title:`Giraffe`},{emoji:`🐘`,title:`Elephant`},{emoji:`🦣`,title:`Mammoth`},{emoji:`🦏`,title:`Rhinoceros`},{emoji:`🦛`,title:`Hippopotamus`},{emoji:`🐭`,title:`Mouse Face`},{emoji:`🐁`,title:`Mouse`},{emoji:`🐀`,title:`Rat`},{emoji:`🐹`,title:`Hamster`},{emoji:`🐰`,title:`Rabbit Face`},{emoji:`🐇`,title:`Rabbit`},{emoji:`🐿️`,title:`Chipmunk`},{emoji:`🦫`,title:`Beaver`},{emoji:`🦔`,title:`Hedgehog`},{emoji:`🦇`,title:`Bat`},{emoji:`🐻`,title:`Bear`},{emoji:`🐻‍❄️`,title:`Polar Bear`},{emoji:`🐨`,title:`Koala`},{emoji:`🐼`,title:`Panda`},{emoji:`🦥`,title:`Sloth`},{emoji:`🦦`,title:`Otter`},{emoji:`🦨`,title:`Skunk`},{emoji:`🦘`,title:`Kangaroo`},{emoji:`🦡`,title:`Badger`},{emoji:`🐾`,title:`Paw Prints`},{emoji:`🦃`,title:`Turkey`},{emoji:`🐔`,title:`Chicken`},{emoji:`🐓`,title:`Rooster`},{emoji:`🐣`,title:`Hatching Chick`},{emoji:`🐤`,title:`Baby Chick`},{emoji:`🐥`,title:`Front-facing Baby Chick`},{emoji:`🐦`,title:`Bird`},{emoji:`🐧`,title:`Penguin`},{emoji:`🕊️`,title:`Dove`},{emoji:`🦅`,title:`Eagle`},{emoji:`🦆`,title:`Duck`},{emoji:`🦢`,title:`Swan`},{emoji:`🦉`,title:`Owl`},{emoji:`🦤`,title:`Dodo`},{emoji:`🪶`,title:`Feather`},{emoji:`🦩`,title:`Flamingo`},{emoji:`🦚`,title:`Peacock`},{emoji:`🦜`,title:`Parrot`},{emoji:`🪽`,title:`Wing`},{emoji:`🐦‍⬛`,title:`Black Bird`},{emoji:`🪿`,title:`Goose`},{emoji:`🐦‍🔥`,title:`Phoenix`},{emoji:`🐸`,title:`Frog`},{emoji:`🐊`,title:`Crocodile`},{emoji:`🐢`,title:`Turtle`},{emoji:`🦎`,title:`Lizard`},{emoji:`🐍`,title:`Snake`},{emoji:`🐲`,title:`Dragon Face`},{emoji:`🐉`,title:`Dragon`},{emoji:`🦕`,title:`Sauropod`},{emoji:`🦖`,title:`T-Rex`},{emoji:`🐳`,title:`Spouting Whale`},{emoji:`🐋`,title:`Whale`},{emoji:`🐬`,title:`Dolphin`},{emoji:`🫍`,title:`Orca`},{emoji:`🦭`,title:`Seal`},{emoji:`🐟`,title:`Fish`},{emoji:`🐠`,title:`Tropical Fish`},{emoji:`🐡`,title:`Blowfish`},{emoji:`🦈`,title:`Shark`},{emoji:`🐙`,title:`Octopus`},{emoji:`🐚`,title:`Spiral Shell`},{emoji:`🪸`,title:`Coral`},{emoji:`🪼`,title:`Jellyfish`},{emoji:`🦀`,title:`Crab`},{emoji:`🦞`,title:`Lobster`},{emoji:`🦐`,title:`Shrimp`},{emoji:`🦑`,title:`Squid`},{emoji:`🦪`,title:`Oyster`},{emoji:`🐌`,title:`Snail`},{emoji:`🦋`,title:`Butterfly`},{emoji:`🐛`,title:`Bug`},{emoji:`🐜`,title:`Ant`},{emoji:`🐝`,title:`Honeybee`},{emoji:`🪲`,title:`Beetle`},{emoji:`🐞`,title:`Lady Beetle`},{emoji:`🦗`,title:`Cricket`},{emoji:`🪳`,title:`Cockroach`},{emoji:`🕷️`,title:`Spider`},{emoji:`🕸️`,title:`Spider Web`},{emoji:`🦂`,title:`Scorpion`},{emoji:`🦟`,title:`Mosquito`},{emoji:`🪰`,title:`Fly`},{emoji:`🪱`,title:`Worm`},{emoji:`🦠`,title:`Microbe`},{emoji:`💐`,title:`Bouquet`},{emoji:`🌸`,title:`Cherry Blossom`},{emoji:`💮`,title:`White Flower`},{emoji:`🪷`,title:`Lotus`},{emoji:`🏵️`,title:`Rosette`},{emoji:`🌹`,title:`Rose`},{emoji:`🥀`,title:`Wilted Flower`},{emoji:`🌺`,title:`Hibiscus`},{emoji:`🌻`,title:`Sunflower`},{emoji:`🌼`,title:`Blossom`},{emoji:`🌷`,title:`Tulip`},{emoji:`🪻`,title:`Hyacinth`},{emoji:`🌱`,title:`Seedling`},{emoji:`🪴`,title:`Potted Plant`},{emoji:`🌲`,title:`Evergreen Tree`},{emoji:`🌳`,title:`Deciduous Tree`},{emoji:`🌴`,title:`Palm Tree`},{emoji:`🌵`,title:`Cactus`},{emoji:`🌾`,title:`Sheaf Of Rice`},{emoji:`🌿`,title:`Herb`},{emoji:`☘️`,title:`Shamrock`},{emoji:`🍀`,title:`Four Leaf Clover`},{emoji:`🍁`,title:`Maple Leaf`},{emoji:`🍂`,title:`Fallen Leaf`},{emoji:`🍃`,title:`Leaf Fluttering In Wind`},{emoji:`🪹`,title:`Empty Nest`},{emoji:`🪺`,title:`Nest With Eggs`},{emoji:`🍄`,title:`Mushroom`},{emoji:`🪾`,title:`Leafless Tree`}],foods:[{emoji:`🍇`,title:`Grapes`},{emoji:`🍈`,title:`Melon`},{emoji:`🍉`,title:`Watermelon`},{emoji:`🍊`,title:`Tangerine`},{emoji:`🍋`,title:`Lemon`},{emoji:`🍋‍🟩`,title:`Lime`},{emoji:`🍌`,title:`Banana`},{emoji:`🍍`,title:`Pineapple`},{emoji:`🥭`,title:`Mango`},{emoji:`🍎`,title:`Red Apple`},{emoji:`🍏`,title:`Green Apple`},{emoji:`🍐`,title:`Pear`},{emoji:`🍑`,title:`Peach`},{emoji:`🍒`,title:`Cherries`},{emoji:`🍓`,title:`Strawberry`},{emoji:`🫐`,title:`Blueberries`},{emoji:`🥝`,title:`Kiwi Fruit`},{emoji:`🍅`,title:`Tomato`},{emoji:`🫒`,title:`Olive`},{emoji:`🥥`,title:`Coconut`},{emoji:`🥑`,title:`Avocado`},{emoji:`🍆`,title:`Eggplant`},{emoji:`🥔`,title:`Potato`},{emoji:`🥕`,title:`Carrot`},{emoji:`🌽`,title:`Ear Of Corn`},{emoji:`🌶️`,title:`Hot Pepper`},{emoji:`🫑`,title:`Bell Pepper`},{emoji:`🥒`,title:`Cucumber`},{emoji:`🥬`,title:`Leafy Green`},{emoji:`🥦`,title:`Broccoli`},{emoji:`🧄`,title:`Garlic`},{emoji:`🧅`,title:`Onion`},{emoji:`🥜`,title:`Peanuts`},{emoji:`🫘`,title:`Beans`},{emoji:`🌰`,title:`Chestnut`},{emoji:`🫚`,title:`Ginger Root`},{emoji:`🫛`,title:`Pea Pod`},{emoji:`🍄‍🟫`,title:`Brown Mushroom`},{emoji:`🫜`,title:`Root Vegetable`},{emoji:`🍞`,title:`Bread`},{emoji:`🥐`,title:`Croissant`},{emoji:`🥖`,title:`Baguette Bread`},{emoji:`🫓`,title:`Flatbread`},{emoji:`🥨`,title:`Pretzel`},{emoji:`🥯`,title:`Bagel`},{emoji:`🥞`,title:`Pancakes`},{emoji:`🧇`,title:`Waffle`},{emoji:`🧀`,title:`Cheese Wedge`},{emoji:`🍖`,title:`Meat On Bone`},{emoji:`🍗`,title:`Poultry Leg`},{emoji:`🥩`,title:`Cut Of Meat`},{emoji:`🥓`,title:`Bacon`},{emoji:`🍔`,title:`Hamburger`},{emoji:`🍟`,title:`French Fries`},{emoji:`🍕`,title:`Pizza`},{emoji:`🌭`,title:`Hot Dog`},{emoji:`🥪`,title:`Sandwich`},{emoji:`🌮`,title:`Taco`},{emoji:`🌯`,title:`Burrito`},{emoji:`🫔`,title:`Tamale`},{emoji:`🥙`,title:`Stuffed Flatbread`},{emoji:`🧆`,title:`Falafel`},{emoji:`🥚`,title:`Egg`},{emoji:`🍳`,title:`Cooking`},{emoji:`🥘`,title:`Shallow Pan Of Food`},{emoji:`🍲`,title:`Pot Of Food`},{emoji:`🫕`,title:`Fondue`},{emoji:`🥣`,title:`Bowl With Spoon`},{emoji:`🥗`,title:`Green Salad`},{emoji:`🍿`,title:`Popcorn`},{emoji:`🧈`,title:`Butter`},{emoji:`🧂`,title:`Salt`},{emoji:`🥫`,title:`Canned Food`},{emoji:`🍱`,title:`Bento Box`},{emoji:`🍘`,title:`Rice Cracker`},{emoji:`🍙`,title:`Rice Ball`},{emoji:`🍚`,title:`Cooked Rice`},{emoji:`🍛`,title:`Curry Rice`},{emoji:`🍜`,title:`Steaming Bowl`},{emoji:`🍝`,title:`Spaghetti`},{emoji:`🍠`,title:`Roasted Sweet Potato`},{emoji:`🍢`,title:`Oden`},{emoji:`🍣`,title:`Sushi`},{emoji:`🍤`,title:`Fried Shrimp`},{emoji:`🍥`,title:`Fish Cake With Swirl`},{emoji:`🥮`,title:`Moon Cake`},{emoji:`🍡`,title:`Dango`},{emoji:`🥟`,title:`Dumpling`},{emoji:`🥠`,title:`Fortune Cookie`},{emoji:`🥡`,title:`Takeout Box`},{emoji:`🍦`,title:`Soft Ice Cream`},{emoji:`🍧`,title:`Shaved Ice`},{emoji:`🍨`,title:`Ice Cream`},{emoji:`🍩`,title:`Doughnut`},{emoji:`🍪`,title:`Cookie`},{emoji:`🎂`,title:`Birthday Cake`},{emoji:`🍰`,title:`Shortcake`},{emoji:`🧁`,title:`Cupcake`},{emoji:`🥧`,title:`Pie`},{emoji:`🍫`,title:`Chocolate Bar`},{emoji:`🍬`,title:`Candy`},{emoji:`🍭`,title:`Lollipop`},{emoji:`🍮`,title:`Custard`},{emoji:`🍯`,title:`Honey Pot`},{emoji:`🍼`,title:`Baby Bottle`},{emoji:`🥛`,title:`Glass Of Milk`},{emoji:`☕`,title:`Hot Beverage`},{emoji:`🫖`,title:`Teapot`},{emoji:`🍵`,title:`Teacup Without Handle`},{emoji:`🍶`,title:`Sake`},{emoji:`🍾`,title:`Bottle With Popping Cork`},{emoji:`🍷`,title:`Wine Glass`},{emoji:`🍸`,title:`Cocktail Glass`},{emoji:`🍹`,title:`Tropical Drink`},{emoji:`🍺`,title:`Beer Mug`},{emoji:`🍻`,title:`Clinking Beer Mugs`},{emoji:`🥂`,title:`Clinking Glasses`},{emoji:`🥃`,title:`Tumbler Glass`},{emoji:`🫗`,title:`Pouring Liquid`},{emoji:`🥤`,title:`Cup With Straw`},{emoji:`🧋`,title:`Bubble Tea`},{emoji:`🧃`,title:`Beverage Box`},{emoji:`🧉`,title:`Mate`},{emoji:`🧊`,title:`Ice`},{emoji:`🥢`,title:`Chopsticks`},{emoji:`🍽️`,title:`Fork And Knife With Plate`},{emoji:`🍴`,title:`Fork And Knife`},{emoji:`🥄`,title:`Spoon`},{emoji:`🔪`,title:`Kitchen Knife`},{emoji:`🫙`,title:`Jar`},{emoji:`🏺`,title:`Amphora`}],activity:[{emoji:`🎃`,title:`Jack-o-lantern`},{emoji:`🎄`,title:`Christmas Tree`},{emoji:`🎆`,title:`Fireworks`},{emoji:`🎇`,title:`Sparkler`},{emoji:`🧨`,title:`Firecracker`},{emoji:`✨`,title:`Sparkles`},{emoji:`🎈`,title:`Balloon`},{emoji:`🎉`,title:`Party Popper`},{emoji:`🎊`,title:`Confetti Ball`},{emoji:`🎋`,title:`Tanabata Tree`},{emoji:`🎍`,title:`Pine Decoration`},{emoji:`🎎`,title:`Japanese Dolls`},{emoji:`🎏`,title:`Carp Streamer`},{emoji:`🎐`,title:`Wind Chime`},{emoji:`🎑`,title:`Moon Viewing Ceremony`},{emoji:`🧧`,title:`Red Envelope`},{emoji:`🎀`,title:`Ribbon`},{emoji:`🎁`,title:`Wrapped Gift`},{emoji:`🎗️`,title:`Reminder Ribbon`},{emoji:`🎟️`,title:`Admission Tickets`},{emoji:`🎫`,title:`Ticket`},{emoji:`🎖️`,title:`Military Medal`},{emoji:`🏆`,title:`Trophy`},{emoji:`🏅`,title:`Sports Medal`},{emoji:`🥇`,title:`1st Place Medal`},{emoji:`🥈`,title:`2nd Place Medal`},{emoji:`🥉`,title:`3rd Place Medal`},{emoji:`⚽`,title:`Soccer Ball`},{emoji:`⚾`,title:`Baseball`},{emoji:`🥎`,title:`Softball`},{emoji:`🏀`,title:`Basketball`},{emoji:`🏐`,title:`Volleyball`},{emoji:`🏈`,title:`American Football`},{emoji:`🏉`,title:`Rugby Football`},{emoji:`🎾`,title:`Tennis`},{emoji:`🥏`,title:`Flying Disc`},{emoji:`🎳`,title:`Bowling`},{emoji:`🏏`,title:`Cricket Game`},{emoji:`🏑`,title:`Field Hockey`},{emoji:`🏒`,title:`Ice Hockey`},{emoji:`🥍`,title:`Lacrosse`},{emoji:`🏓`,title:`Ping Pong`},{emoji:`🏸`,title:`Badminton`},{emoji:`🥊`,title:`Boxing Glove`},{emoji:`🥋`,title:`Martial Arts Uniform`},{emoji:`🥅`,title:`Goal Net`},{emoji:`⛳`,title:`Flag In Hole`},{emoji:`⛸️`,title:`Ice Skate`},{emoji:`🎣`,title:`Fishing Pole`},{emoji:`🤿`,title:`Diving Mask`},{emoji:`🎽`,title:`Running Shirt`},{emoji:`🎿`,title:`Skis`},{emoji:`🛷`,title:`Sled`},{emoji:`🥌`,title:`Curling Stone`},{emoji:`🎯`,title:`Bullseye`},{emoji:`🪀`,title:`Yo-yo`},{emoji:`🪁`,title:`Kite`},{emoji:`🔫`,title:`Water Pistol`},{emoji:`🎱`,title:`Pool 8 Ball`},{emoji:`🔮`,title:`Crystal Ball`},{emoji:`🪄`,title:`Magic Wand`},{emoji:`🎮`,title:`Video Game`},{emoji:`🕹️`,title:`Joystick`},{emoji:`🎰`,title:`Slot Machine`},{emoji:`🎲`,title:`Game Die`},{emoji:`🧩`,title:`Puzzle Piece`},{emoji:`🧸`,title:`Teddy Bear`},{emoji:`🪅`,title:`Piñata`},{emoji:`🪩`,title:`Mirror Ball`},{emoji:`🪆`,title:`Nesting Dolls`},{emoji:`♠️`,title:`Spade Suit`},{emoji:`♥️`,title:`Heart Suit`},{emoji:`♦️`,title:`Diamond Suit`},{emoji:`♣️`,title:`Club Suit`},{emoji:`♟️`,title:`Chess Pawn`},{emoji:`🃏`,title:`Joker`},{emoji:`🀄`,title:`Mahjong Red Dragon`},{emoji:`🎴`,title:`Flower Playing Cards`},{emoji:`🎭`,title:`Performing Arts`},{emoji:`🖼️`,title:`Framed Picture`},{emoji:`🎨`,title:`Artist Palette`},{emoji:`🧵`,title:`Thread`},{emoji:`🪡`,title:`Sewing Needle`},{emoji:`🧶`,title:`Yarn`},{emoji:`🪢`,title:`Knot`}],places:[{emoji:`🌍`,title:`Globe Showing Europe-Africa`},{emoji:`🌎`,title:`Globe Showing Americas`},{emoji:`🌏`,title:`Globe Showing Asia-Australia`},{emoji:`🌐`,title:`Globe With Meridians`},{emoji:`🗺️`,title:`World Map`},{emoji:`🗾`,title:`Map Of Japan`},{emoji:`🧭`,title:`Compass`},{emoji:`🏔️`,title:`Snow-capped Mountain`},{emoji:`⛰️`,title:`Mountain`},{emoji:`🛘`,title:`Landslide`},{emoji:`🌋`,title:`Volcano`},{emoji:`🗻`,title:`Mount Fuji`},{emoji:`🏕️`,title:`Camping`},{emoji:`🏖️`,title:`Beach With Umbrella`},{emoji:`🏜️`,title:`Desert`},{emoji:`🏝️`,title:`Desert Island`},{emoji:`🏞️`,title:`National Park`},{emoji:`🏟️`,title:`Stadium`},{emoji:`🏛️`,title:`Classical Building`},{emoji:`🏗️`,title:`Building Construction`},{emoji:`🧱`,title:`Brick`},{emoji:`🪨`,title:`Rock`},{emoji:`🪵`,title:`Wood`},{emoji:`🛖`,title:`Hut`},{emoji:`🏘️`,title:`Houses`},{emoji:`🏚️`,title:`Derelict House`},{emoji:`🏠`,title:`House`},{emoji:`🏡`,title:`House With Garden`},{emoji:`🏢`,title:`Office Building`},{emoji:`🏣`,title:`Japanese Post Office`},{emoji:`🏤`,title:`Post Office`},{emoji:`🏥`,title:`Hospital`},{emoji:`🏦`,title:`Bank`},{emoji:`🏨`,title:`Hotel`},{emoji:`🏩`,title:`Love Hotel`},{emoji:`🏪`,title:`Convenience Store`},{emoji:`🏫`,title:`School`},{emoji:`🏬`,title:`Department Store`},{emoji:`🏭`,title:`Factory`},{emoji:`🏯`,title:`Japanese Castle`},{emoji:`🏰`,title:`Castle`},{emoji:`💒`,title:`Wedding`},{emoji:`🗼`,title:`Tokyo Tower`},{emoji:`🗽`,title:`Statue Of Liberty`},{emoji:`⛪`,title:`Church`},{emoji:`🕌`,title:`Mosque`},{emoji:`🛕`,title:`Hindu Temple`},{emoji:`🕍`,title:`Synagogue`},{emoji:`⛩️`,title:`Shinto Shrine`},{emoji:`🕋`,title:`Kaaba`},{emoji:`⛲`,title:`Fountain`},{emoji:`⛺`,title:`Tent`},{emoji:`🌁`,title:`Foggy`},{emoji:`🌃`,title:`Night With Stars`},{emoji:`🏙️`,title:`Cityscape`},{emoji:`🌄`,title:`Sunrise Over Mountains`},{emoji:`🌅`,title:`Sunrise`},{emoji:`🌆`,title:`Cityscape At Dusk`},{emoji:`🌇`,title:`Sunset`},{emoji:`🌉`,title:`Bridge At Night`},{emoji:`♨️`,title:`Hot Springs`},{emoji:`🎠`,title:`Carousel Horse`},{emoji:`🛝`,title:`Playground Slide`},{emoji:`🎡`,title:`Ferris Wheel`},{emoji:`🎢`,title:`Roller Coaster`},{emoji:`💈`,title:`Barber Pole`},{emoji:`🎪`,title:`Circus Tent`},{emoji:`🚂`,title:`Locomotive`},{emoji:`🚃`,title:`Railway Car`},{emoji:`🚄`,title:`High-speed Train`},{emoji:`🚅`,title:`Bullet Train`},{emoji:`🚆`,title:`Train`},{emoji:`🚇`,title:`Metro`},{emoji:`🚈`,title:`Light Rail`},{emoji:`🚉`,title:`Station`},{emoji:`🚊`,title:`Tram`},{emoji:`🚝`,title:`Monorail`},{emoji:`🚞`,title:`Mountain Railway`},{emoji:`🚋`,title:`Tram Car`},{emoji:`🚌`,title:`Bus`},{emoji:`🚍`,title:`Oncoming Bus`},{emoji:`🚎`,title:`Trolleybus`},{emoji:`🚐`,title:`Minibus`},{emoji:`🚑`,title:`Ambulance`},{emoji:`🚒`,title:`Fire Engine`},{emoji:`🚓`,title:`Police Car`},{emoji:`🚔`,title:`Oncoming Police Car`},{emoji:`🚕`,title:`Taxi`},{emoji:`🚖`,title:`Oncoming Taxi`},{emoji:`🚗`,title:`Automobile`},{emoji:`🚘`,title:`Oncoming Automobile`},{emoji:`🚙`,title:`Sport Utility Vehicle`},{emoji:`🛻`,title:`Pickup Truck`},{emoji:`🚚`,title:`Delivery Truck`},{emoji:`🚛`,title:`Articulated Lorry`},{emoji:`🚜`,title:`Tractor`},{emoji:`🏎️`,title:`Racing Car`},{emoji:`🏍️`,title:`Motorcycle`},{emoji:`🛵`,title:`Motor Scooter`},{emoji:`🦽`,title:`Manual Wheelchair`},{emoji:`🦼`,title:`Motorized Wheelchair`},{emoji:`🛺`,title:`Auto Rickshaw`},{emoji:`🚲`,title:`Bicycle`},{emoji:`🛴`,title:`Kick Scooter`},{emoji:`🛹`,title:`Skateboard`},{emoji:`🛼`,title:`Roller Skate`},{emoji:`🚏`,title:`Bus Stop`},{emoji:`🛣️`,title:`Motorway`},{emoji:`🛤️`,title:`Railway Track`},{emoji:`🛢️`,title:`Oil Drum`},{emoji:`⛽`,title:`Fuel Pump`},{emoji:`🛞`,title:`Wheel`},{emoji:`🚨`,title:`Police Car Light`},{emoji:`🚥`,title:`Horizontal Traffic Light`},{emoji:`🚦`,title:`Vertical Traffic Light`},{emoji:`🛑`,title:`Stop Sign`},{emoji:`🚧`,title:`Construction`},{emoji:`⚓`,title:`Anchor`},{emoji:`🛟`,title:`Ring Buoy`},{emoji:`⛵`,title:`Sailboat`},{emoji:`🛶`,title:`Canoe`},{emoji:`🚤`,title:`Speedboat`},{emoji:`🛳️`,title:`Passenger Ship`},{emoji:`⛴️`,title:`Ferry`},{emoji:`🛥️`,title:`Motor Boat`},{emoji:`🚢`,title:`Ship`},{emoji:`✈️`,title:`Airplane`},{emoji:`🛩️`,title:`Small Airplane`},{emoji:`🛫`,title:`Airplane Departure`},{emoji:`🛬`,title:`Airplane Arrival`},{emoji:`🪂`,title:`Parachute`},{emoji:`💺`,title:`Seat`},{emoji:`🚁`,title:`Helicopter`},{emoji:`🚟`,title:`Suspension Railway`},{emoji:`🚠`,title:`Mountain Cableway`},{emoji:`🚡`,title:`Aerial Tramway`},{emoji:`🛰️`,title:`Satellite`},{emoji:`🚀`,title:`Rocket`},{emoji:`🛸`,title:`Flying Saucer`},{emoji:`🛎️`,title:`Bellhop Bell`},{emoji:`🧳`,title:`Luggage`},{emoji:`⌛`,title:`Hourglass Done`},{emoji:`⏳`,title:`Hourglass Not Done`},{emoji:`⌚`,title:`Watch`},{emoji:`⏰`,title:`Alarm Clock`},{emoji:`⏱️`,title:`Stopwatch`},{emoji:`⏲️`,title:`Timer Clock`},{emoji:`🕰️`,title:`Mantelpiece Clock`},{emoji:`🕛`,title:`Twelve O’clock`},{emoji:`🕧`,title:`Twelve-thirty`},{emoji:`🕐`,title:`One O’clock`},{emoji:`🕜`,title:`One-thirty`},{emoji:`🕑`,title:`Two O’clock`},{emoji:`🕝`,title:`Two-thirty`},{emoji:`🕒`,title:`Three O’clock`},{emoji:`🕞`,title:`Three-thirty`},{emoji:`🕓`,title:`Four O’clock`},{emoji:`🕟`,title:`Four-thirty`},{emoji:`🕔`,title:`Five O’clock`},{emoji:`🕠`,title:`Five-thirty`},{emoji:`🕕`,title:`Six O’clock`},{emoji:`🕡`,title:`Six-thirty`},{emoji:`🕖`,title:`Seven O’clock`},{emoji:`🕢`,title:`Seven-thirty`},{emoji:`🕗`,title:`Eight O’clock`},{emoji:`🕣`,title:`Eight-thirty`},{emoji:`🕘`,title:`Nine O’clock`},{emoji:`🕤`,title:`Nine-thirty`},{emoji:`🕙`,title:`Ten O’clock`},{emoji:`🕥`,title:`Ten-thirty`},{emoji:`🕚`,title:`Eleven O’clock`},{emoji:`🕦`,title:`Eleven-thirty`},{emoji:`🌑`,title:`New Moon`},{emoji:`🌒`,title:`Waxing Crescent Moon`},{emoji:`🌓`,title:`First Quarter Moon`},{emoji:`🌔`,title:`Waxing Gibbous Moon`},{emoji:`🌕`,title:`Full Moon`},{emoji:`🌖`,title:`Waning Gibbous Moon`},{emoji:`🌗`,title:`Last Quarter Moon`},{emoji:`🌘`,title:`Waning Crescent Moon`},{emoji:`🌙`,title:`Crescent Moon`},{emoji:`🌚`,title:`New Moon Face`},{emoji:`🌛`,title:`First Quarter Moon Face`},{emoji:`🌜`,title:`Last Quarter Moon Face`},{emoji:`🌡️`,title:`Thermometer`},{emoji:`☀️`,title:`Sun`},{emoji:`🌝`,title:`Full Moon Face`},{emoji:`🌞`,title:`Sun With Face`},{emoji:`🪐`,title:`Ringed Planet`},{emoji:`⭐`,title:`Star`},{emoji:`🌟`,title:`Glowing Star`},{emoji:`🌠`,title:`Shooting Star`},{emoji:`🌌`,title:`Milky Way`},{emoji:`☁️`,title:`Cloud`},{emoji:`⛅`,title:`Sun Behind Cloud`},{emoji:`⛈️`,title:`Cloud With Lightning And Rain`},{emoji:`🌤️`,title:`Sun Behind Small Cloud`},{emoji:`🌥️`,title:`Sun Behind Large Cloud`},{emoji:`🌦️`,title:`Sun Behind Rain Cloud`},{emoji:`🌧️`,title:`Cloud With Rain`},{emoji:`🌨️`,title:`Cloud With Snow`},{emoji:`🌩️`,title:`Cloud With Lightning`},{emoji:`🌪️`,title:`Tornado`},{emoji:`🌫️`,title:`Fog`},{emoji:`🌬️`,title:`Wind Face`},{emoji:`🌀`,title:`Cyclone`},{emoji:`🌈`,title:`Rainbow`},{emoji:`🌂`,title:`Closed Umbrella`},{emoji:`☂️`,title:`Umbrella`},{emoji:`☔`,title:`Umbrella With Rain Drops`},{emoji:`⛱️`,title:`Umbrella On Ground`},{emoji:`⚡`,title:`High Voltage`},{emoji:`❄️`,title:`Snowflake`},{emoji:`☃️`,title:`Snowman`},{emoji:`⛄`,title:`Snowman Without Snow`},{emoji:`☄️`,title:`Comet`},{emoji:`🔥`,title:`Fire`},{emoji:`💧`,title:`Droplet`},{emoji:`🌊`,title:`Water Wave`}],objects:[{emoji:`👓`,title:`Glasses`},{emoji:`🕶️`,title:`Sunglasses`},{emoji:`🥽`,title:`Goggles`},{emoji:`🥼`,title:`Lab Coat`},{emoji:`🦺`,title:`Safety Vest`},{emoji:`👔`,title:`Necktie`},{emoji:`👕`,title:`T-shirt`},{emoji:`👖`,title:`Jeans`},{emoji:`🧣`,title:`Scarf`},{emoji:`🧤`,title:`Gloves`},{emoji:`🧥`,title:`Coat`},{emoji:`🧦`,title:`Socks`},{emoji:`👗`,title:`Dress`},{emoji:`👘`,title:`Kimono`},{emoji:`🥻`,title:`Sari`},{emoji:`🩱`,title:`One-piece Swimsuit`},{emoji:`🩲`,title:`Briefs`},{emoji:`🩳`,title:`Shorts`},{emoji:`👙`,title:`Bikini`},{emoji:`👚`,title:`Woman’s Clothes`},{emoji:`🪭`,title:`Folding Hand Fan`},{emoji:`👛`,title:`Purse`},{emoji:`👜`,title:`Handbag`},{emoji:`👝`,title:`Clutch Bag`},{emoji:`🛍️`,title:`Shopping Bags`},{emoji:`🎒`,title:`Backpack`},{emoji:`🩴`,title:`Thong Sandal`},{emoji:`👞`,title:`Man’s Shoe`},{emoji:`👟`,title:`Running Shoe`},{emoji:`🥾`,title:`Hiking Boot`},{emoji:`🥿`,title:`Flat Shoe`},{emoji:`👠`,title:`High-heeled Shoe`},{emoji:`👡`,title:`Woman’s Sandal`},{emoji:`🩰`,title:`Ballet Shoes`},{emoji:`👢`,title:`Woman’s Boot`},{emoji:`🪮`,title:`Hair Pick`},{emoji:`👑`,title:`Crown`},{emoji:`👒`,title:`Woman’s Hat`},{emoji:`🎩`,title:`Top Hat`},{emoji:`🎓`,title:`Graduation Cap`},{emoji:`🧢`,title:`Billed Cap`},{emoji:`🪖`,title:`Military Helmet`},{emoji:`⛑️`,title:`Rescue Worker’s Helmet`},{emoji:`📿`,title:`Prayer Beads`},{emoji:`💄`,title:`Lipstick`},{emoji:`💍`,title:`Ring`},{emoji:`💎`,title:`Gem Stone`},{emoji:`🔇`,title:`Muted Speaker`},{emoji:`🔈`,title:`Speaker Low Volume`},{emoji:`🔉`,title:`Speaker Medium Volume`},{emoji:`🔊`,title:`Speaker High Volume`},{emoji:`📢`,title:`Loudspeaker`},{emoji:`📣`,title:`Megaphone`},{emoji:`📯`,title:`Postal Horn`},{emoji:`🔔`,title:`Bell`},{emoji:`🔕`,title:`Bell With Slash`},{emoji:`🎼`,title:`Musical Score`},{emoji:`🎵`,title:`Musical Note`},{emoji:`🎶`,title:`Musical Notes`},{emoji:`🎙️`,title:`Studio Microphone`},{emoji:`🎚️`,title:`Level Slider`},{emoji:`🎛️`,title:`Control Knobs`},{emoji:`🎤`,title:`Microphone`},{emoji:`🎧`,title:`Headphone`},{emoji:`📻`,title:`Radio`},{emoji:`🎷`,title:`Saxophone`},{emoji:`🎺`,title:`Trumpet`},{emoji:`🪊`,title:`Trombone`},{emoji:`🪗`,title:`Accordion`},{emoji:`🎸`,title:`Guitar`},{emoji:`🎹`,title:`Musical Keyboard`},{emoji:`🎻`,title:`Violin`},{emoji:`🪕`,title:`Banjo`},{emoji:`🥁`,title:`Drum`},{emoji:`🪘`,title:`Long Drum`},{emoji:`🪇`,title:`Maracas`},{emoji:`🪈`,title:`Flute`},{emoji:`🪉`,title:`Harp`},{emoji:`📱`,title:`Mobile Phone`},{emoji:`📲`,title:`Mobile Phone With Arrow`},{emoji:`☎️`,title:`Telephone`},{emoji:`📞`,title:`Telephone Receiver`},{emoji:`📟`,title:`Pager`},{emoji:`📠`,title:`Fax Machine`},{emoji:`🔋`,title:`Battery`},{emoji:`🪫`,title:`Low Battery`},{emoji:`🔌`,title:`Electric Plug`},{emoji:`💻`,title:`Laptop`},{emoji:`🖥️`,title:`Desktop Computer`},{emoji:`🖨️`,title:`Printer`},{emoji:`⌨️`,title:`Keyboard`},{emoji:`🖱️`,title:`Computer Mouse`},{emoji:`🖲️`,title:`Trackball`},{emoji:`💽`,title:`Computer Disk`},{emoji:`💾`,title:`Floppy Disk`},{emoji:`💿`,title:`Optical Disk`},{emoji:`📀`,title:`Dvd`},{emoji:`🧮`,title:`Abacus`},{emoji:`🎥`,title:`Movie Camera`},{emoji:`🎞️`,title:`Film Frames`},{emoji:`📽️`,title:`Film Projector`},{emoji:`🎬`,title:`Clapper Board`},{emoji:`📺`,title:`Television`},{emoji:`📷`,title:`Camera`},{emoji:`📸`,title:`Camera With Flash`},{emoji:`📹`,title:`Video Camera`},{emoji:`📼`,title:`Videocassette`},{emoji:`🔍`,title:`Magnifying Glass Tilted Left`},{emoji:`🔎`,title:`Magnifying Glass Tilted Right`},{emoji:`🕯️`,title:`Candle`},{emoji:`💡`,title:`Light Bulb`},{emoji:`🔦`,title:`Flashlight`},{emoji:`🏮`,title:`Red Paper Lantern`},{emoji:`🪔`,title:`Diya Lamp`},{emoji:`📔`,title:`Notebook With Decorative Cover`},{emoji:`📕`,title:`Closed Book`},{emoji:`📖`,title:`Open Book`},{emoji:`📗`,title:`Green Book`},{emoji:`📘`,title:`Blue Book`},{emoji:`📙`,title:`Orange Book`},{emoji:`📚`,title:`Books`},{emoji:`📓`,title:`Notebook`},{emoji:`📒`,title:`Ledger`},{emoji:`📃`,title:`Page With Curl`},{emoji:`📜`,title:`Scroll`},{emoji:`📄`,title:`Page Facing Up`},{emoji:`📰`,title:`Newspaper`},{emoji:`🗞️`,title:`Rolled-up Newspaper`},{emoji:`📑`,title:`Bookmark Tabs`},{emoji:`🔖`,title:`Bookmark`},{emoji:`🏷️`,title:`Label`},{emoji:`🪙`,title:`Coin`},{emoji:`💰`,title:`Money Bag`},{emoji:`🪎`,title:`Treasure Chest`},{emoji:`💴`,title:`Yen Banknote`},{emoji:`💵`,title:`Dollar Banknote`},{emoji:`💶`,title:`Euro Banknote`},{emoji:`💷`,title:`Pound Banknote`},{emoji:`💸`,title:`Money With Wings`},{emoji:`💳`,title:`Credit Card`},{emoji:`🧾`,title:`Receipt`},{emoji:`💹`,title:`Chart Increasing With Yen`},{emoji:`✉️`,title:`Envelope`},{emoji:`📧`,title:`E-mail`},{emoji:`📨`,title:`Incoming Envelope`},{emoji:`📩`,title:`Envelope With Arrow`},{emoji:`📤`,title:`Outbox Tray`},{emoji:`📥`,title:`Inbox Tray`},{emoji:`📦`,title:`Package`},{emoji:`📫`,title:`Closed Mailbox With Raised Flag`},{emoji:`📪`,title:`Closed Mailbox With Lowered Flag`},{emoji:`📬`,title:`Open Mailbox With Raised Flag`},{emoji:`📭`,title:`Open Mailbox With Lowered Flag`},{emoji:`📮`,title:`Postbox`},{emoji:`🗳️`,title:`Ballot Box With Ballot`},{emoji:`✏️`,title:`Pencil`},{emoji:`✒️`,title:`Black Nib`},{emoji:`🖋️`,title:`Fountain Pen`},{emoji:`🖊️`,title:`Pen`},{emoji:`🖌️`,title:`Paintbrush`},{emoji:`🖍️`,title:`Crayon`},{emoji:`📝`,title:`Memo`},{emoji:`💼`,title:`Briefcase`},{emoji:`📁`,title:`File Folder`},{emoji:`📂`,title:`Open File Folder`},{emoji:`🗂️`,title:`Card Index Dividers`},{emoji:`📅`,title:`Calendar`},{emoji:`📆`,title:`Tear-off Calendar`},{emoji:`🗒️`,title:`Spiral Notepad`},{emoji:`🗓️`,title:`Spiral Calendar`},{emoji:`📇`,title:`Card Index`},{emoji:`📈`,title:`Chart Increasing`},{emoji:`📉`,title:`Chart Decreasing`},{emoji:`📊`,title:`Bar Chart`},{emoji:`📋`,title:`Clipboard`},{emoji:`📌`,title:`Pushpin`},{emoji:`📍`,title:`Round Pushpin`},{emoji:`📎`,title:`Paperclip`},{emoji:`🖇️`,title:`Linked Paperclips`},{emoji:`📏`,title:`Straight Ruler`},{emoji:`📐`,title:`Triangular Ruler`},{emoji:`✂️`,title:`Scissors`},{emoji:`🗃️`,title:`Card File Box`},{emoji:`🗄️`,title:`File Cabinet`},{emoji:`🗑️`,title:`Wastebasket`},{emoji:`🔒`,title:`Locked`},{emoji:`🔓`,title:`Unlocked`},{emoji:`🔏`,title:`Locked With Pen`},{emoji:`🔐`,title:`Locked With Key`},{emoji:`🔑`,title:`Key`},{emoji:`🗝️`,title:`Old Key`},{emoji:`🔨`,title:`Hammer`},{emoji:`🪓`,title:`Axe`},{emoji:`⛏️`,title:`Pick`},{emoji:`⚒️`,title:`Hammer And Pick`},{emoji:`🛠️`,title:`Hammer And Wrench`},{emoji:`🗡️`,title:`Dagger`},{emoji:`⚔️`,title:`Crossed Swords`},{emoji:`💣`,title:`Bomb`},{emoji:`🪃`,title:`Boomerang`},{emoji:`🏹`,title:`Bow And Arrow`},{emoji:`🛡️`,title:`Shield`},{emoji:`🪚`,title:`Carpentry Saw`},{emoji:`🔧`,title:`Wrench`},{emoji:`🪛`,title:`Screwdriver`},{emoji:`🔩`,title:`Nut And Bolt`},{emoji:`⚙️`,title:`Gear`},{emoji:`🗜️`,title:`Clamp`},{emoji:`⚖️`,title:`Balance Scale`},{emoji:`🦯`,title:`White Cane`},{emoji:`🔗`,title:`Link`},{emoji:`⛓️‍💥`,title:`Broken Chain`},{emoji:`⛓️`,title:`Chains`},{emoji:`🪝`,title:`Hook`},{emoji:`🧰`,title:`Toolbox`},{emoji:`🧲`,title:`Magnet`},{emoji:`🪜`,title:`Ladder`},{emoji:`🪏`,title:`Shovel`},{emoji:`⚗️`,title:`Alembic`},{emoji:`🧪`,title:`Test Tube`},{emoji:`🧫`,title:`Petri Dish`},{emoji:`🧬`,title:`Dna`},{emoji:`🔬`,title:`Microscope`},{emoji:`🔭`,title:`Telescope`},{emoji:`📡`,title:`Satellite Antenna`},{emoji:`💉`,title:`Syringe`},{emoji:`🩸`,title:`Drop Of Blood`},{emoji:`💊`,title:`Pill`},{emoji:`🩹`,title:`Adhesive Bandage`},{emoji:`🩼`,title:`Crutch`},{emoji:`🩺`,title:`Stethoscope`},{emoji:`🩻`,title:`X-ray`},{emoji:`🚪`,title:`Door`},{emoji:`🛗`,title:`Elevator`},{emoji:`🪞`,title:`Mirror`},{emoji:`🪟`,title:`Window`},{emoji:`🛏️`,title:`Bed`},{emoji:`🛋️`,title:`Couch And Lamp`},{emoji:`🪑`,title:`Chair`},{emoji:`🚽`,title:`Toilet`},{emoji:`🪠`,title:`Plunger`},{emoji:`🚿`,title:`Shower`},{emoji:`🛁`,title:`Bathtub`},{emoji:`🪤`,title:`Mouse Trap`},{emoji:`🪒`,title:`Razor`},{emoji:`🧴`,title:`Lotion Bottle`},{emoji:`🧷`,title:`Safety Pin`},{emoji:`🧹`,title:`Broom`},{emoji:`🧺`,title:`Basket`},{emoji:`🧻`,title:`Roll Of Paper`},{emoji:`🪣`,title:`Bucket`},{emoji:`🧼`,title:`Soap`},{emoji:`🫧`,title:`Bubbles`},{emoji:`🪥`,title:`Toothbrush`},{emoji:`🧽`,title:`Sponge`},{emoji:`🧯`,title:`Fire Extinguisher`},{emoji:`🛒`,title:`Shopping Cart`},{emoji:`🚬`,title:`Cigarette`},{emoji:`⚰️`,title:`Coffin`},{emoji:`🪦`,title:`Headstone`},{emoji:`⚱️`,title:`Funeral Urn`},{emoji:`🧿`,title:`Nazar Amulet`},{emoji:`🪬`,title:`Hamsa`},{emoji:`🗿`,title:`Moai`},{emoji:`🪧`,title:`Placard`},{emoji:`🪪`,title:`Identification Card`}],symbols:[{emoji:`🏧`,title:`ATM Sign`},{emoji:`🚮`,title:`Litter In Bin Sign`},{emoji:`🚰`,title:`Potable Water`},{emoji:`♿`,title:`Wheelchair Symbol`},{emoji:`🚹`,title:`Men’s Room`},{emoji:`🚺`,title:`Women’s Room`},{emoji:`🚻`,title:`Restroom`},{emoji:`🚼`,title:`Baby Symbol`},{emoji:`🚾`,title:`Water Closet`},{emoji:`🛂`,title:`Passport Control`},{emoji:`🛃`,title:`Customs`},{emoji:`🛄`,title:`Baggage Claim`},{emoji:`🛅`,title:`Left Luggage`},{emoji:`⚠️`,title:`Warning`},{emoji:`🚸`,title:`Children Crossing`},{emoji:`⛔`,title:`No Entry`},{emoji:`🚫`,title:`Prohibited`},{emoji:`🚳`,title:`No Bicycles`},{emoji:`🚭`,title:`No Smoking`},{emoji:`🚯`,title:`No Littering`},{emoji:`🚱`,title:`Non-potable Water`},{emoji:`🚷`,title:`No Pedestrians`},{emoji:`📵`,title:`No Mobile Phones`},{emoji:`🔞`,title:`No One Under Eighteen`},{emoji:`☢️`,title:`Radioactive`},{emoji:`☣️`,title:`Biohazard`},{emoji:`⬆️`,title:`Up Arrow`},{emoji:`↗️`,title:`Up-right Arrow`},{emoji:`➡️`,title:`Right Arrow`},{emoji:`↘️`,title:`Down-right Arrow`},{emoji:`⬇️`,title:`Down Arrow`},{emoji:`↙️`,title:`Down-left Arrow`},{emoji:`⬅️`,title:`Left Arrow`},{emoji:`↖️`,title:`Up-left Arrow`},{emoji:`↕️`,title:`Up-down Arrow`},{emoji:`↔️`,title:`Left-right Arrow`},{emoji:`↩️`,title:`Right Arrow Curving Left`},{emoji:`↪️`,title:`Left Arrow Curving Right`},{emoji:`⤴️`,title:`Right Arrow Curving Up`},{emoji:`⤵️`,title:`Right Arrow Curving Down`},{emoji:`🔃`,title:`Clockwise Vertical Arrows`},{emoji:`🔄`,title:`Counterclockwise Arrows Button`},{emoji:`🔙`,title:`BACK Arrow`},{emoji:`🔚`,title:`END Arrow`},{emoji:`🔛`,title:`ON! Arrow`},{emoji:`🔜`,title:`SOON Arrow`},{emoji:`🔝`,title:`TOP Arrow`},{emoji:`🛐`,title:`Place Of Worship`},{emoji:`⚛️`,title:`Atom Symbol`},{emoji:`🕉️`,title:`Om`},{emoji:`✡️`,title:`Star Of David`},{emoji:`☸️`,title:`Wheel Of Dharma`},{emoji:`☯️`,title:`Yin Yang`},{emoji:`✝️`,title:`Latin Cross`},{emoji:`☦️`,title:`Orthodox Cross`},{emoji:`☪️`,title:`Star And Crescent`},{emoji:`☮️`,title:`Peace Symbol`},{emoji:`🕎`,title:`Menorah`},{emoji:`🔯`,title:`Dotted Six-pointed Star`},{emoji:`🪯`,title:`Khanda`},{emoji:`♈`,title:`Aries`},{emoji:`♉`,title:`Taurus`},{emoji:`♊`,title:`Gemini`},{emoji:`♋`,title:`Cancer`},{emoji:`♌`,title:`Leo`},{emoji:`♍`,title:`Virgo`},{emoji:`♎`,title:`Libra`},{emoji:`♏`,title:`Scorpio`},{emoji:`♐`,title:`Sagittarius`},{emoji:`♑`,title:`Capricorn`},{emoji:`♒`,title:`Aquarius`},{emoji:`♓`,title:`Pisces`},{emoji:`⛎`,title:`Ophiuchus`},{emoji:`🔀`,title:`Shuffle Tracks Button`},{emoji:`🔁`,title:`Repeat Button`},{emoji:`🔂`,title:`Repeat Single Button`},{emoji:`▶️`,title:`Play Button`},{emoji:`⏩`,title:`Fast-forward Button`},{emoji:`⏭️`,title:`Next Track Button`},{emoji:`⏯️`,title:`Play Or Pause Button`},{emoji:`◀️`,title:`Reverse Button`},{emoji:`⏪`,title:`Fast Reverse Button`},{emoji:`⏮️`,title:`Last Track Button`},{emoji:`🔼`,title:`Upwards Button`},{emoji:`⏫`,title:`Fast Up Button`},{emoji:`🔽`,title:`Downwards Button`},{emoji:`⏬`,title:`Fast Down Button`},{emoji:`⏸️`,title:`Pause Button`},{emoji:`⏹️`,title:`Stop Button`},{emoji:`⏺️`,title:`Record Button`},{emoji:`⏏️`,title:`Eject Button`},{emoji:`🎦`,title:`Cinema`},{emoji:`🔅`,title:`Dim Button`},{emoji:`🔆`,title:`Bright Button`},{emoji:`📶`,title:`Antenna Bars`},{emoji:`🛜`,title:`Wireless`},{emoji:`📳`,title:`Vibration Mode`},{emoji:`📴`,title:`Mobile Phone Off`},{emoji:`♀️`,title:`Female Sign`},{emoji:`♂️`,title:`Male Sign`},{emoji:`⚧️`,title:`Transgender Symbol`},{emoji:`✖️`,title:`Multiply`},{emoji:`➕`,title:`Plus`},{emoji:`➖`,title:`Minus`},{emoji:`➗`,title:`Divide`},{emoji:`🟰`,title:`Heavy Equals Sign`},{emoji:`♾️`,title:`Infinity`},{emoji:`‼️`,title:`Double Exclamation Mark`},{emoji:`⁉️`,title:`Exclamation Question Mark`},{emoji:`❓`,title:`Red Question Mark`},{emoji:`❔`,title:`White Question Mark`},{emoji:`❕`,title:`White Exclamation Mark`},{emoji:`❗`,title:`Red Exclamation Mark`},{emoji:`〰️`,title:`Wavy Dash`},{emoji:`💱`,title:`Currency Exchange`},{emoji:`💲`,title:`Heavy Dollar Sign`},{emoji:`⚕️`,title:`Medical Symbol`},{emoji:`♻️`,title:`Recycling Symbol`},{emoji:`⚜️`,title:`Fleur-de-lis`},{emoji:`🔱`,title:`Trident Emblem`},{emoji:`📛`,title:`Name Badge`},{emoji:`🔰`,title:`Japanese Symbol For Beginner`},{emoji:`⭕`,title:`Hollow Red Circle`},{emoji:`✅`,title:`Check Mark Button`},{emoji:`☑️`,title:`Check Box With Check`},{emoji:`✔️`,title:`Check Mark`},{emoji:`❌`,title:`Cross Mark`},{emoji:`❎`,title:`Cross Mark Button`},{emoji:`➰`,title:`Curly Loop`},{emoji:`➿`,title:`Double Curly Loop`},{emoji:`〽️`,title:`Part Alternation Mark`},{emoji:`✳️`,title:`Eight-spoked Asterisk`},{emoji:`✴️`,title:`Eight-pointed Star`},{emoji:`❇️`,title:`Sparkle`},{emoji:`©️`,title:`Copyright`},{emoji:`®️`,title:`Registered`},{emoji:`™️`,title:`Trade Mark`},{emoji:`🫟`,title:`Splatter`},{emoji:`#️⃣`,title:`Keycap: #`},{emoji:`*️⃣`,title:`Keycap: *`},{emoji:`0️⃣`,title:`Keycap: 0`},{emoji:`1️⃣`,title:`Keycap: 1`},{emoji:`2️⃣`,title:`Keycap: 2`},{emoji:`3️⃣`,title:`Keycap: 3`},{emoji:`4️⃣`,title:`Keycap: 4`},{emoji:`5️⃣`,title:`Keycap: 5`},{emoji:`6️⃣`,title:`Keycap: 6`},{emoji:`7️⃣`,title:`Keycap: 7`},{emoji:`8️⃣`,title:`Keycap: 8`},{emoji:`9️⃣`,title:`Keycap: 9`},{emoji:`🔟`,title:`Keycap: 10`},{emoji:`🔠`,title:`Input Latin Uppercase`},{emoji:`🔡`,title:`Input Latin Lowercase`},{emoji:`🔢`,title:`Input Numbers`},{emoji:`🔣`,title:`Input Symbols`},{emoji:`🔤`,title:`Input Latin Letters`},{emoji:`🅰️`,title:`A Button (blood Type)`},{emoji:`🆎`,title:`AB Button (blood Type)`},{emoji:`🅱️`,title:`B Button (blood Type)`},{emoji:`🆑`,title:`CL Button`},{emoji:`🆒`,title:`COOL Button`},{emoji:`🆓`,title:`FREE Button`},{emoji:`ℹ️`,title:`Information`},{emoji:`🆔`,title:`ID Button`},{emoji:`Ⓜ️`,title:`Circled M`},{emoji:`🆕`,title:`NEW Button`},{emoji:`🆖`,title:`NG Button`},{emoji:`🅾️`,title:`O Button (blood Type)`},{emoji:`🆗`,title:`OK Button`},{emoji:`🅿️`,title:`P Button`},{emoji:`🆘`,title:`SOS Button`},{emoji:`🆙`,title:`UP! Button`},{emoji:`🆚`,title:`VS Button`},{emoji:`🈁`,title:`Japanese “here” Button`},{emoji:`🈂️`,title:`Japanese “service Charge” Button`},{emoji:`🈷️`,title:`Japanese “monthly Amount” Button`},{emoji:`🈶`,title:`Japanese “not Free Of Charge” Button`},{emoji:`🈯`,title:`Japanese “reserved” Button`},{emoji:`🉐`,title:`Japanese “bargain” Button`},{emoji:`🈹`,title:`Japanese “discount” Button`},{emoji:`🈚`,title:`Japanese “free Of Charge” Button`},{emoji:`🈲`,title:`Japanese “prohibited” Button`},{emoji:`🉑`,title:`Japanese “acceptable” Button`},{emoji:`🈸`,title:`Japanese “application” Button`},{emoji:`🈴`,title:`Japanese “passing Grade” Button`},{emoji:`🈳`,title:`Japanese “vacancy” Button`},{emoji:`㊗️`,title:`Japanese “congratulations” Button`},{emoji:`㊙️`,title:`Japanese “secret” Button`},{emoji:`🈺`,title:`Japanese “open For Business” Button`},{emoji:`🈵`,title:`Japanese “no Vacancy” Button`},{emoji:`🔴`,title:`Red Circle`},{emoji:`🟠`,title:`Orange Circle`},{emoji:`🟡`,title:`Yellow Circle`},{emoji:`🟢`,title:`Green Circle`},{emoji:`🔵`,title:`Blue Circle`},{emoji:`🟣`,title:`Purple Circle`},{emoji:`🟤`,title:`Brown Circle`},{emoji:`⚫`,title:`Black Circle`},{emoji:`⚪`,title:`White Circle`},{emoji:`🟥`,title:`Red Square`},{emoji:`🟧`,title:`Orange Square`},{emoji:`🟨`,title:`Yellow Square`},{emoji:`🟩`,title:`Green Square`},{emoji:`🟦`,title:`Blue Square`},{emoji:`🟪`,title:`Purple Square`},{emoji:`🟫`,title:`Brown Square`},{emoji:`⬛`,title:`Black Large Square`},{emoji:`⬜`,title:`White Large Square`},{emoji:`◼️`,title:`Black Medium Square`},{emoji:`◻️`,title:`White Medium Square`},{emoji:`◾`,title:`Black Medium-small Square`},{emoji:`◽`,title:`White Medium-small Square`},{emoji:`▪️`,title:`Black Small Square`},{emoji:`▫️`,title:`White Small Square`},{emoji:`🔶`,title:`Large Orange Diamond`},{emoji:`🔷`,title:`Large Blue Diamond`},{emoji:`🔸`,title:`Small Orange Diamond`},{emoji:`🔹`,title:`Small Blue Diamond`},{emoji:`🔺`,title:`Red Triangle Pointed Up`},{emoji:`🔻`,title:`Red Triangle Pointed Down`},{emoji:`💠`,title:`Diamond With A Dot`},{emoji:`🔘`,title:`Radio Button`},{emoji:`🔳`,title:`White Square Button`},{emoji:`🔲`,title:`Black Square Button`}]},Ta=[``,`🏻`,`🏼`,`🏽`,`🏾`,`🏿`],Ea=[{emoji:`✋`,title:`Raised Hand`,value:``},{emoji:`✋🏻`,title:`Raised Hand: Light Skin Tone`,value:`🏻`},{emoji:`✋🏼`,title:`Raised Hand: Medium-light Skin Tone`,value:`🏼`},{emoji:`✋🏽`,title:`Raised Hand: Medium Skin Tone`,value:`🏽`},{emoji:`✋🏾`,title:`Raised Hand: Medium-dark Skin Tone`,value:`🏾`},{emoji:`✋🏿`,title:`Raised Hand: Dark Skin Tone`,value:`🏿`}],Da={activity:`ui.emojiPicker.activities`,foods:`ui.emojiPicker.food`,nature:`ui.emojiPicker.animals`,objects:`ui.emojiPicker.objects`,people:`ui.emojiPicker.emojis`,places:`ui.emojiPicker.places`,symbols:`ui.emojiPicker.symbols`},Oa=Object.keys(wa).filter(e=>e!==`frequent`).map(e=>({key:e,titleKey:Da[e]})),ka=/[\u{1F3FB}-\u{1F3FF}]/gu,Aa=new Map;Ka().forEach(e=>{[e,...e.skinToneVariants??[]].forEach(t=>{Aa.set(t.emoji,e)})});function ja(){return wa.frequent.slice(0,11)}function Ma(){return Ka().flatMap(e=>[e,...e.skinToneVariants??[]])}function Na(e,t){let n=e.trim().toLowerCase();return n?Ka().filter(e=>Wa(e,t).includes(n)):[]}function Pa(e,t){let n={emoji:t.emoji,title:t.title},r=Ra(t.emoji);return[n,...e.filter(e=>Ra(e.emoji)!==r).map(e=>({emoji:e.emoji,title:e.title}))].slice(0,11)}function Fa(e){if(!e)return ja();if(Array.isArray(e))return Ga(e);try{return Ga(JSON.parse(e))}catch{return ja()}}function Ia(e=Math.random,t=``){let n=Ka();return La(n[Math.floor(e()*n.length)]??ja()[0],t)}function La(e,t){var n;let r=Aa.get(e.emoji)??e;if(!t)return r;let i=(n=r.skinToneVariants)==null?void 0:n.find(e=>{let n=e.emoji.match(ka)??[];return n.length>0&&n.every(e=>e===t)});return i?{...i,skinToneVariants:r.skinToneVariants}:r}function Ra(e){var t;return((t=Aa.get(e))==null?void 0:t.emoji)??e}function za(e){let t=Aa.get(e);return t?[{emoji:t.emoji,title:t.title},...t.skinToneVariants??[]]:[]}function Ba(e){var t;return!!((t=(Aa.get(e.emoji)??e).skinToneVariants)!=null&&t.some(e=>(e.emoji.match(ka)??[]).length>1))}function Va(e){return Ta.find(t=>t===e)??``}function Ha(e,t){return(t==null?void 0:t[e.emoji])??e.title}function Ua(e){let t=e.getLocales(),n=t==null?void 0:t.ui,r=n==null?void 0:n.emojiPicker;return!r||typeof r!=`object`||Array.isArray(r)?{}:r}function Wa(e,t){return[e,...e.skinToneVariants??[]].flatMap(e=>[e.title,t==null?void 0:t[e.emoji]]).filter(Boolean).join(` `).toLowerCase()}function Ga(e){if(!Array.isArray(e))return ja();let t=e.filter(e=>typeof(e==null?void 0:e.emoji)==`string`&&typeof(e==null?void 0:e.title)==`string`),n=new Set,r=t.filter(e=>{let t=Ra(e.emoji);return n.has(t)?!1:(n.add(t),!0)}).map(e=>({emoji:e.emoji,title:e.title})).slice(0,11);return r.length?r:ja()}function Ka(){return Oa.flatMap(e=>wa[e.key])}let qa=`ui.emoji-picker`,Ja=`univer.ui.emoji-skin-tone`;function Ya(e){var n;let{DropdownComponent:a=i.Dropdown}=e,o=(n=e.popup)==null?void 0:n.extraProps,l=(0,s.useDependency)(t.LocaleService),u=(0,s.useDependency)(t.ILocalStorageService),d=(0,s.useObservable)(l.currentLocale$,l.getCurrentLocale()),f=(0,r.useRef)(void 0),p=(0,r.useRef)(null),m=(0,r.useRef)(!1),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(o==null?void 0:o.activeEmoji),[y,b]=(0,r.useState)(`recent`),[x,S]=(0,r.useState)(()=>ja()),[C,w]=(0,r.useState)(``),[T,E]=(0,r.useState)(!1),D=(0,r.useDeferredValue)(h),O=Ua(l),k=(0,r.useMemo)(()=>Na(D,O.emojiSearchIndex),[D,O]),A=(o==null?void 0:o.recentStorageKey)??`univer.ui.recent-emojis`,j=D.trim().length>0,{rows:M,sectionPositions:N}=(0,r.useMemo)(()=>{let e=[{key:`recent`,title:l.t(`ui.emojiPicker.recents`),emojis:x},...Oa.map(e=>({key:e.key,title:l.t(e.titleKey),emojis:wa[e.key].map(e=>La(e,C))}))];return no(j?[{key:`people`,title:l.t(`ui.emojiPicker.searchResults`),emojis:k.map(e=>La(e,C))}]:e,d)},[d,j,l,x,k,C]),[P,{containerProps:F,scrollTo:I,wrapperStyle:L}]=la(M,{containerTarget:f,itemHeight:ro,overscan:3});(0,r.useEffect)(()=>{let e=!1;return u.getItem(A).then(t=>{e||S(Fa(t))}).catch(()=>void 0),()=>{e=!0}},[u,A]),(0,r.useEffect)(()=>{let e=!1;return u.getItem(Ja).then(t=>{!e&&!m.current&&w(Va(t))}).catch(()=>void 0),()=>{e=!0}},[u]),(0,r.useEffect)(()=>{let e=p.current;if(j||!e)return;let t=N.find(t=>t.key===e);t&&I(t.rowIndex),p.current=null},[j,I,N]);let R=(t,n)=>{var r,i;let a=Pa(x,t);v(t.emoji),S(a),to(u,A,a),(r=e.onChange)==null||r.call(e,t.emoji),o==null||(i=o.onSelect)==null||i.call(o,t.emoji,n)},z=()=>{R(Ia(Math.random,C),{keepOpen:!0})},B=e=>{m.current=!0,w(e),to(u,Ja,e)},V=e=>{F.onScroll(e),!j&&b(io(N,e.currentTarget.scrollTop))},H=e=>{g(``),b(e);let t=N.find(t=>t.key===e);if(!j&&t){I(t.rowIndex);return}p.current=e};return(0,c.jsxs)(`section`,{"data-u-comp":qa,onClick:e=>{e.stopPropagation(),E(!1)},className:(0,i.clsx)(`univer-flex univer-h-[340px] univer-w-[420px] univer-flex-col univer-overflow-hidden`,!e.embedded&&`univer-rounded-[10px] univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-900`),children:[(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-1 univer-px-3 univer-pb-2 univer-pt-3`,children:[(0,c.jsx)(i.Input,{"aria-label":l.t(`ui.emojiPicker.search`),placeholder:l.t(`ui.emojiPicker.search`),className:`univer-min-w-0 univer-flex-1`,value:h,onChange:g,slot:(0,c.jsx)(nr,{className:`univer-size-4 univer-text-gray-500 dark:!univer-text-gray-400`})}),(0,c.jsx)(i.Button,{"aria-label":l.t(`ui.emojiPicker.random`),title:l.t(`ui.emojiPicker.random`),className:`univer-flex-shrink-0 univer-text-gray-500 dark:!univer-text-gray-400`,size:`icon`,onClick:z,children:(0,c.jsx)(Jn,{})}),(0,c.jsx)($a,{DropdownComponent:a,emojiTitles:O.emojiTitles,open:T,skinTone:C,onChange:B,onOpenChange:E})]}),(0,c.jsx)(`div`,{ref:f,className:(0,i.clsx)(`univer-relative univer-min-h-0 univer-flex-1 univer-overflow-y-auto univer-px-3`,i.scrollbarClassName),onScroll:V,children:M.length?(0,c.jsx)(`div`,{style:L,children:P.map(({data:e})=>e.type===`header`?(0,c.jsx)(`div`,{style:{height:24},className:`univer-flex univer-items-center univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400`,children:e.title},e.key):(0,c.jsx)(Xa,{DropdownComponent:a,activeEmoji:_,emojiTitles:O.emojiTitles,items:e.items,keyPrefix:e.key,moreTitle:l.t(`ui.ribbon.more`),onSelect:R},e.key))}):(0,c.jsx)(`div`,{className:`univer-py-7 univer-text-center univer-text-sm univer-text-gray-400 dark:!univer-text-gray-500`,children:l.t(`ui.emojiPicker.noResults`)})}),(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-h-10 univer-shrink-0 univer-items-center univer-border-gray-200 univer-px-2.5 dark:!univer-border-gray-600 [&_svg]:univer-size-5`,i.borderTopClassName),children:[(0,c.jsx)(eo,{selected:!j&&y===`recent`,title:l.t(`ui.emojiPicker.recents`),onClick:()=>H(`recent`),children:(0,c.jsx)(Xn,{})}),Oa.map(e=>(0,c.jsx)(eo,{selected:!j&&y===e.key,title:l.t(e.titleKey),onClick:()=>H(e.key),children:(0,c.jsx)(ao,{category:e.key})},e.key))]})]})}function Xa(e){return(0,c.jsx)(`div`,{className:`univer-grid univer-grid-cols-10 univer-justify-between univer-gap-1`,style:{height:32},children:e.items.map(t=>(0,c.jsx)(Za,{DropdownComponent:e.DropdownComponent,activeEmoji:e.activeEmoji,emojiTitles:e.emojiTitles,item:t,moreTitle:e.moreTitle,onSelect:e.onSelect},`${e.keyPrefix}-${t.emoji}-${t.title}`))})}function Za(e){let[t,n]=(0,r.useState)(!1),a=Ha(e.item,e.emojiTitles),o=e.activeEmoji!=null&&Ra(e.activeEmoji)===Ra(e.item.emoji),s=Ba(e.item),l=(0,c.jsx)(`button`,{type:`button`,"aria-label":a,title:a,className:(0,i.clsx)(`univer-flex univer-size-7 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:!univer-text-gray-200`,o?`univer-bg-primary-50 univer-shadow-sm dark:!univer-bg-gray-800 dark:!univer-shadow-sm`:`hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`),onClick:()=>e.onSelect(e.item,{keepOpen:!0}),children:e.item.emoji});if(!s)return l;let u=za(e.item.emoji);return(0,c.jsxs)(`div`,{className:`univer-relative univer-size-7`,children:[l,(0,c.jsx)(e.DropdownComponent,{align:`end`,open:t,onOpenChange:n,overlay:(0,c.jsx)(`div`,{"data-u-comp":`ui.emoji-picker.skin-tone-variants`,className:`univer-grid univer-grid-cols-6 univer-gap-1 univer-p-1`,children:u.map(t=>(0,c.jsx)(Qa,{active:e.activeEmoji===t.emoji,emojiTitles:e.emojiTitles,item:t,onSelect:t=>{n(!1),e.onSelect(t,{keepOpen:!0})}},t.emoji))}),children:(0,c.jsx)(`button`,{type:`button`,"aria-label":`${a}, ${e.moreTitle}`,title:`${a}, ${e.moreTitle}`,className:`univer-bg-gray-0/90 dark:!univer-bg-gray-800/90 univer-absolute univer-bottom-0 univer-right-0 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-sm univer-border-0 univer-p-0 univer-text-gray-500 hover:univer-bg-gray-100 hover:univer-text-gray-700 focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700`,children:(0,c.jsx)(On,{className:`!univer-size-2.5`})})})]})}function Qa(e){let t=Ha(e.item,e.emojiTitles);return(0,c.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":e.active,title:t,className:(0,i.clsx)(`univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-md univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg hover:univer-bg-gray-100 focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:hover:!univer-bg-gray-700`,{"univer-bg-primary-50 univer-ring-1 univer-ring-primary-600 dark:!univer-bg-gray-700":e.active}),onClick:()=>e.onSelect(e.item),children:e.item.emoji})}function $a(e){let t=Ea.find(t=>t.value===e.skinTone)??Ea[0],n=Ha(t,e.emojiTitles),r=(t,n)=>{var r,i;let a=t.key===`ArrowRight`||t.key===`ArrowDown`?1:t.key===`ArrowLeft`||t.key===`ArrowUp`?-1:0;if(!a)return;t.preventDefault();let o=(n+a+Ea.length)%Ea.length,s=Ea[o];e.onChange(s.value);let c=(r=t.currentTarget.parentElement)==null?void 0:r.querySelectorAll(`[role="radio"]`);c==null||(i=c[o])==null||i.focus()};return(0,c.jsx)(`div`,{className:`univer-flex-shrink-0`,onClick:e=>e.stopPropagation(),children:(0,c.jsx)(e.DropdownComponent,{align:`end`,open:e.open,onOpenChange:e.onOpenChange,overlay:(0,c.jsx)(`div`,{"data-u-comp":`ui.emoji-picker.skin-tone-menu`,role:`radiogroup`,"aria-label":n,className:`univer-flex univer-gap-1 univer-p-1`,children:Ea.map((t,n)=>{let a=Ha(t,e.emojiTitles),o=t.value===e.skinTone;return(0,c.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":o,"aria-label":a,title:a,tabIndex:o?0:-1,className:(0,i.clsx)(`univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-md univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg hover:univer-bg-gray-100 focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:hover:!univer-bg-gray-700`,{"univer-bg-primary-50 univer-ring-1 univer-ring-primary-600 dark:!univer-bg-gray-700":o}),onClick:()=>{e.onChange(t.value),e.onOpenChange(!1)},onKeyDown:e=>r(e,n),children:t.emoji},t.value||`default`)})}),children:(0,c.jsxs)(i.Button,{"aria-label":n,title:n,className:`univer-relative univer-flex-shrink-0`,size:`icon`,children:[(0,c.jsx)(`span`,{className:`univer-text-lg`,children:t.emoji}),(0,c.jsx)(On,{className:`!univer-absolute !univer-bottom-0.5 !univer-right-0.5 !univer-size-2.5 univer-text-gray-500 dark:!univer-text-gray-300`})]})})})}function eo(e){return(0,c.jsx)(`button`,{type:`button`,"aria-label":e.title,"aria-selected":e.selected,title:e.title,className:(0,i.clsx)(`univer-flex univer-h-[30px] univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-p-0 univer-text-gray-500 dark:!univer-text-gray-400`,e.selected?`univer-bg-primary-50 univer-text-primary-500 dark:!univer-bg-gray-800 dark:!univer-text-primary-400`:`hover:univer-bg-gray-50 hover:univer-text-gray-700 dark:hover:!univer-bg-gray-800 dark:hover:!univer-text-gray-300`),onClick:e.onClick,children:e.children})}function to(e,t,n){e.setItem(t,n).catch(()=>void 0)}function no(e,t){let n=[],r=[],i=0;return e.forEach(e=>{if(e.emojis.length){r.push({key:e.key,rowIndex:n.length,top:i}),n.push({key:`${t}-${e.key}-header`,title:e.title,type:`header`}),i+=24;for(let r=0;r<e.emojis.length;r+=10)n.push({items:e.emojis.slice(r,r+10),key:`${t}-${e.key}-${r/10}`,type:`emojis`}),i+=32}}),{rows:n,sectionPositions:r}}function ro(e,t){return t.type===`header`?24:32}function io(e,t){let n=`recent`;return e.forEach(e=>{e.top<=t+28&&(n=e.key)}),n}function ao(e){switch(e.category){case`activity`:return(0,c.jsx)($t,{});case`foods`:return(0,c.jsx)(mn,{});case`nature`:return(0,c.jsx)(Rn,{});case`objects`:return(0,c.jsx)(Bn,{});case`people`:return(0,c.jsx)(Hn,{});case`places`:return(0,c.jsx)(Wn,{});default:return(0,c.jsx)(cr,{})}}function oo(e){return(0,c.jsx)(Ya,{...e,DropdownComponent:i.MobileDropdown})}let so=(0,t.createIdentifier)(`univer.font-service`),co=`宋体,Arial,Baskerville,Comic Sans MS,Courier New,Helvetica,Times New Roman,Verdana,Apple LiGothic,Apple LiSung,Hei,Kai,LiHei Pro,LiSong Pro,STFangsong,STHeiti,STKaiti,STSong,报隶-繁,报隶-简,冬青黑体简体中文,黑体-繁,黑体-简,华文仿宋,华文楷体,华文宋体,楷体-繁,楷体-简,兰亭黑-繁,兰亭黑-简,隶变-繁,隶变-简,凌慧体-繁,凌慧体-简,翩翩体-繁,翩翩体-简,苹方-繁,苹方-港,苹方-简,手札体-繁,手札体-简,宋体-繁,宋体-简,娃娃体-繁,娃娃体-简,魏碑-繁,魏碑-简,行楷-繁,行楷-简,雅痞-繁,雅痞-简,圆体-繁,圆体-简,Arial Black,Big Caslon,Courier,Didot,Futura,Georgia,Helvetica Neue,Optima,Times,Tahoma,BIZ UDGothic,BIZ UDMincho,Hiragino Maru Gothic Pro,Hiragino Maru Gothic ProN,Hiragino Mincho Pro,Hiragino Mincho ProN,Hiragino Sans,Klee,Osaka,Toppan Bunkyu Gothic,Toppan Bunkyu Midashi Gothic,Toppan Bunkyu Midashi Mincho,Toppan Bunkyu Mincho,Tsukushi A Round Gothic,Tsukushi B Round Gothic,YuKyokasho,YuKyokasho Yoko,YuMincho +36p Kana,American Typewriter,Andale Mono,Apple Chancery,Apple SD Gothic Neo,Apple Symbols,AppleGothic,AppleMyungjo,Arial Unicode MS,Athelas,Avenir,Avenir Next,Avenir Next Condensed,Ayuthaya,Bangla MN,Bangla Sangam MN,Bauhaus 93,Bodoni 72,Bodoni 72 Oldstyle,Bodoni 72 Smallcaps,Bodoni Ornaments,Bookshelf Symbol 7,Bradley Hand,Chalkboard,Chalkboard SE,Chalkduster,Charter,Cochin,Copperplate,Devanagari Sangam MN,Din Alternate,Euphemia UCAS,Galvji,Geneva,Gill Sans,Gujarati Sangam MN,GungSeo,Gurmukhi MN,Gurmukhi Sangam MN,HeadLineA,Herculanum,Hiragino Kaku Gothic Pro,Hiragino Kaku Gothic ProN,Hiragino Kaku Gothic Std,Hiragino Kaku Gothic StdN,Hoefler Text,Impact,InaiMathi,Iowan Old Style,Kannada MN,Kannada Sangam MN,Kefa,Khmer MN,Khmer Sangam MN,Kohinoor Bangla,Kohinoor Devanagari,Kohinoor Telugu,Krungthep,Lao MN,Lao Sangam MN,Lucida Grande,Luminari,Malayalam MN,Malayalam Sangam MN,Marion,Marker Felt,Menlo,Microsoft Sans Serif,Modern No. 20,Monaco,Mukta Mahee,Nanum Brush Script,Nanum Gothic,Nanum Myeongjo,Nanum Pen Script,Noteworthy,Oriya MN,Oriya Sangam MN,Palatino,Papyrus,PCMyungjo,Phosphate,PilGi,Plantagenet Cherokee,PT Mono,PT Sans,PT Sans Caption,PT Serif,PT Serif Caption,Rockwell,Sathu,Savoye LET,Seravek,Shree Devanagari 714,SignPainter,Silom,Sinhala MN,Sinhala Sangam MN,Skia,Snell Roundhand,STIXGeneral,Sukhumvit Set,Superclarendon,Tamil MN,Tamil Sangam MN,Telugu MN,Telugu Sangam MN,Trattatello,Trebuchet MS,Webdings,Wingdings,Wingdings 2,Wingdings 3,YuGothic,YuGothic Light,YuGothic Medium,Zapfino`.split(`,`).map(e=>({value:e,label:e})),lo=class{constructor(e){this._configService=e,S(this,`fonts$`,new n.BehaviorSubject([]));let{customFontFamily:t}=this._configService.getConfig(`ui.config`)??{},r=[];r=t?Array.isArray(t)?[...co,...t]:t.override?[...t.list]:[...co,...t.list]:[...co],this.fonts$.next(r)}dispose(){this.resetToDefaults(),this.fonts$.complete()}getFonts(){return this.fonts$.getValue()}getFontByValue(e){return this.getFonts().find(t=>t.value===e)}isFontSupported(e){let t=document.createElement(`canvas`).getContext(`2d`);if(!t)return!1;let n=`abcdefghijklmnopqrstuvwxyz0123456789`,r=`72px`,i=[`monospace`,`serif`,`sans-serif`],a={};return i.forEach(e=>{t.font=`${r} ${e}`,a[e]=t.measureText(n).width}),i.some(i=>(t.font=`${r} "${e}", ${i}`,t.measureText(n).width!==a[i]))}addFont(e){if(this.getFontByValue(e.value))throw Error(`[FontService]: Font with value "${e.value}" already exists.`);let t=[...this.getFonts(),e].sort();this.fonts$.next(t)}updateFont(e,t){let n=this.getFonts(),r=n.findIndex(t=>t.value===e);if(r===-1)throw Error(`Font with value "${e}" not found.`);let i={...n[r],...t},a=[...n];a[r]=i,this.fonts$.next(a)}removeFont(e){let t=this.getFonts();if(t.findIndex(t=>t.value===e)===-1)return!1;let n=t.filter(t=>t.value!==e);return this.fonts$.next(n),!0}resetToDefaults(){this.fonts$.next([...co])}};lo=w([C(0,t.IConfigService)],lo);function uo(){let e=(0,s.useDependency)(so);return{fonts:(0,s.useObservable)(e.fonts$,e.getFonts()),fontService:e}}let fo=`UI_FONT_FAMILY_COMPONENT`,po=({className:e,disabled:n,value:a,disabled$:o,onChange:l})=>{let u=(0,s.useObservable)(o),d=!!(n||u),f=(0,s.useDependency)(t.LocaleService),{fonts:p}=uo(),[m,h]=(0,r.useState)(null),g=(0,r.useMemo)(()=>{if(a==null)return``;let e=p.find(e=>e.value===a);return e?f.t(e.label):f.t(a)},[a,p,f]),_=m??g;function v(){h(null)}function y(e){h(e.target.value)}function b(e){e.stopPropagation(),!(d||e.nativeEvent.isComposing)&&(e.key===`Enter`?S():e.key===`Escape`&&(e.preventDefault(),v()))}function x(){m!==null&&_!==g&&v()}function S(){let e=_.trim().toLowerCase();if(!e){v();return}let t=p.find(t=>f.t(t.label).toLowerCase().includes(e));if(!t){v();return}C(t.value)}function C(e){v(),l(e)}return(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-w-32 univer-truncate univer-text-sm`,e),style:{fontFamily:a},children:(0,c.jsx)(`input`,{className:`univer-block univer-h-6 univer-border-none univer-bg-transparent univer-leading-6 univer-text-gray-900 focus:univer-outline-none dark:!univer-text-gray-0 [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-7 [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-p-0 [&_input]:univer-text-sm`,type:`text`,value:_,onPointerDown:e=>e.stopPropagation(),onChange:y,onKeyDown:b,onBlur:x,disabled:d})})},mo=`UI_FONT_FAMILY_ITEM_COMPONENT`,ho=({value:e,onChange:n})=>{let r=(0,s.useDependency)(t.LocaleService),a=(0,s.useObservable)(r.direction$,r.getDirection()),{fonts:o,fontService:l}=uo();function u(e){n(e)}return(0,c.jsx)(`ul`,{dir:a,className:`univer-m-0 univer-list-none univer-p-0 univer-text-sm`,style:{fontFamily:e},children:o.map(e=>(0,c.jsx)(`li`,{children:(0,c.jsxs)(`button`,{className:`univer-flex univer-h-7 univer-w-full univer-appearance-none univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-border-none univer-bg-transparent univer-px-2 univer-text-gray-900 hover:univer-bg-gray-100 dark:!univer-text-gray-0 dark:hover:!univer-bg-gray-700`,style:{fontFamily:e.value},type:`button`,onClick:()=>u(e.value),children:[r.t(e.label),!l.isFontSupported(e.value)&&(0,c.jsx)(i.Tooltip,{title:r.t(`ui.fontFamily.not-supported`),children:(0,c.jsx)(Sn,{className:`univer-text-gray-300 dark:!univer-text-gray-400`})})]})},e.value))})},go=e=>{let{value:t,min:n,max:a,onChange:o,disabled$:l}=e,u=(0,s.useObservable)(l),[d,f]=(0,r.useState)(null),p=d!==null&&d.source===t?d.value:Number(t??0);d!==null&&d.source!==t&&f(null);function m(e){f({source:t,value:e})}function h(){f(null)}function g(e){e.stopPropagation(),!(u||e.nativeEvent.isComposing)&&(e.key===`Escape`?(e.preventDefault(),h()):e.code===`Enter`&&(h(),p!==null&&o(Math.min(a,Math.max(n,p)))))}return(0,c.jsx)(`div`,{className:`univer-h-6 univer-w-7 univer-text-sm`,onPointerDown:e=>e.stopPropagation(),children:(0,c.jsx)(i.InputNumber,{className:`univer-block univer-h-6 univer-border-none univer-bg-transparent univer-leading-6 [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-7 [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-p-0 [&_input]:univer-text-sm`,value:p,controls:!1,onKeyDown:g,onChange:m,onBlur:h,disabled:u})})},_o=[{label:`9`,value:9},{label:`10`,value:10},{label:`11`,value:11},{label:`12`,value:12},{label:`14`,value:14},{label:`16`,value:16},{label:`18`,value:18},{label:`20`,value:20},{label:`22`,value:22},{label:`24`,value:24},{label:`26`,value:26},{label:`28`,value:28},{label:`36`,value:36},{label:`48`,value:48},{label:`72`,value:72}],vo=[{label:`ui.toolbar.heading.normal`,value:t.NamedStyleType.NORMAL_TEXT},{label:`ui.toolbar.heading.title`,value:t.NamedStyleType.TITLE},{label:`ui.toolbar.heading.subTitle`,value:t.NamedStyleType.SUBTITLE},{label:`ui.toolbar.heading.1`,value:t.NamedStyleType.HEADING_1},{label:`ui.toolbar.heading.2`,value:t.NamedStyleType.HEADING_2},{label:`ui.toolbar.heading.3`,value:t.NamedStyleType.HEADING_3},{label:`ui.toolbar.heading.4`,value:t.NamedStyleType.HEADING_4},{label:`ui.toolbar.heading.5`,value:t.NamedStyleType.HEADING_5}],yo=`UI_FONT_SIZE_COMPONENT`,bo=e=>{var n;let{value:r,text:a}=e,o=t.NAMED_STYLE_MAP[r],l=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`span`,{className:(0,i.clsx)(`univer-text-sm`,{"univer-font-bold":o==null?void 0:o.bl}),style:{fontSize:o==null?void 0:o.fs,color:(o==null||(n=o.cl)==null?void 0:n.rgb)??void 0},children:l.t(a)})},xo=`UI_COMPONENT_HEADING_ITEM`,So=[{key:`mathematics`,titleKey:`ui.symbolPicker.mathematics`,symbols:`+.−.×.÷.≠.≈.<.>.≤.≥.≪.≫.≡.±.%.‰.‱.½.⅓.⅔.¼.¾.¹.².³.ⁿ.₁.₂.₃.|a|.∟.∠.⊿.△.∥.⊥.∫.∬.∭.∮.∯.∰.∝.∞.∼.≌.∈.∉.⊆.⊂.∅.∩.∪.∧.∨.⋅.⋮.⋰.⋱.⋯.∏.∑.∃.∄.∀.∂.∆.⊙.⊕.%`.split(`.`)},{key:`greek`,titleKey:`ui.symbolPicker.greek`,symbols:`α.β.γ.δ.ε.ζ.η.θ.ι.κ.λ.μ.ν.ξ.ο.π.ρ.σ.τ.υ.φ.χ.ψ.ω.Α.Β.Γ.Δ.Ε.Ζ.Η.Θ.Ι.Κ.Λ.Μ.Ν.Ξ.Ο.Π.Ρ.Σ.Τ.Υ.Φ.Χ.Ψ.Ω`.split(`.`)},{key:`common`,titleKey:`ui.symbolPicker.common`,symbols:`kg.mm.cm.m².°C.°.§.◎.©.®.{.⌜.〚.№.$.¥.@.&.*.|.#.※.√.×.….①.②.③.↑.↓.←.→`.split(`.`)}],Co=`ui.symbol-picker`;function wo(e){var n;let a=(n=e.popup)==null?void 0:n.extraProps,o=(0,s.useDependency)(t.LocaleService);(0,s.useObservable)(o.currentLocale$,o.getCurrentLocale());let[l,u]=(0,r.useState)(a==null?void 0:a.activeSymbol),d=t=>{var n,r;u(t),(n=e.onChange)==null||n.call(e,t),a==null||(r=a.onSelect)==null||r.call(a,t,{keepOpen:!0})};return(0,c.jsx)(`section`,{"data-u-comp":Co,className:(0,i.clsx)(`univer-flex univer-h-[340px] univer-w-[420px] univer-flex-col univer-overflow-hidden`,!e.embedded&&`univer-rounded-[10px] univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-900`,e.className),children:(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-min-h-0 univer-flex-1 univer-overflow-y-auto univer-p-4`,i.scrollbarClassName),children:(0,c.jsx)(`div`,{className:`univer-flex univer-flex-col univer-gap-5`,children:So.map(e=>(0,c.jsx)(To,{activeSymbol:l,category:e,onSelect:d},e.key))})})})}function To(e){return(0,c.jsxs)(`section`,{className:`univer-flex univer-flex-col univer-gap-2`,children:[(0,c.jsx)(`div`,{className:`univer-text-sm univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-100`,children:(0,s.useDependency)(t.LocaleService).t(e.category.titleKey)}),(0,c.jsx)(`div`,{className:`univer-grid univer-grid-cols-10 univer-gap-1`,children:e.category.symbols.map((t,n)=>{let r=e.activeSymbol===t;return(0,c.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":r,title:t,className:(0,i.clsx)(`univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg univer-text-gray-900 dark:!univer-text-gray-100`,r?`univer-bg-primary-50 univer-shadow-sm dark:!univer-bg-gray-800 dark:!univer-shadow-sm`:`hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`),onClick:()=>e.onSelect(t),children:t},`${e.category.key}-${t}-${n}`)})})]})}let Eo=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({ExpandIcon:cn,IncreaseIcon:bn,KeyboardIcon:En,MoreDownIcon:On,RedoIcon:Qn,ReduceIcon:er,ShrinkIcon:or,UndoIcon:ur}))}_registerComponents(){[[Ca,Sa],[xo,bo],[fo,po],[mo,ho],[yo,go],[xa,i.MobileColorPicker],[qa,oo],[Co,wo]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};Eo=w([C(0,(0,t.Inject)(L)),C(1,(0,t.Inject)(z))],Eo);let Do={"ribbon.start.history":{[t.UndoCommand.id]:{order:0,gridLayout:{row:1,column:1,iconSize:18},menuItemFactory:vt},[t.RedoCommand.id]:{order:1,gridLayout:{row:2,column:1,iconSize:18},menuItemFactory:yt}}},Oo=(0,r.forwardRef)((e,t)=>(0,c.jsx)(Vr,{...e,ref:t,title:e.title??e.tooltip,tooltip:void 0,shortcut:void 0,dropdownComponent:i.MobileDropdown,dropdownMenuComponent:i.MobileDropdownMenu}));function ko(e){let{headerMenuComponents:n,headerMenu:r=!0}=e,i=(0,s.useDependency)(rt),a=(0,s.useDependency)(W),o=(0,s.useObservable)(i.ribbon$,[]),l=(0,s.useObservable)(i.activatedTab$,`ribbon.start`);return(0,s.useObservable)(a.rootUnitType$,null,!0)===t.UniverInstanceType.UNIVER_SHEET?(0,c.jsx)(jo,{ribbon:o,headerMenu:r,headerMenuComponents:n}):(0,c.jsx)(Ao,{ribbon:o,activatedTab:l,headerMenu:r,headerMenuComponents:n})}function Ao(e){let{ribbon:n,activatedTab:a,headerMenuComponents:o,headerMenu:l=!0}=e,u=(0,s.useDependency)(t.LocaleService),d=(0,s.useDependency)(rt),f=(0,r.useMemo)(()=>{let e=n.findIndex(e=>e.key===a);return e===-1?0:e},[a,n]),p=n[f],m=(p==null?void 0:p.children)??[],h=!!(l&&o&&o.size>0),g=(0,r.useRef)(null),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{!p&&n.length>0&&d.setActivatedTab(n[0].key)},[p,n,d]),(0,r.useEffect)(()=>{let e=g.current;if(!e)return;let t=()=>{let{scrollLeft:t,clientWidth:n,scrollWidth:r}=e;v(t>4),b(t+n<r-4)};t();let n=new ResizeObserver(t);return n.observe(e),e.addEventListener(`scroll`,t,{passive:!0}),()=>{n.disconnect(),e.removeEventListener(`scroll`,t)}},[p]),n.length===0&&!h)return null;function x(e){let t=n[e];t&&d.setActivatedTab(t.key)}function S(e){let t=g.current;t&&t.scrollBy({left:e===`left`?-168:168,behavior:`smooth`})}return(0,c.jsxs)(`div`,{"data-u-comp":`mobile-ribbon`,className:(0,i.clsx)(`univer-flex univer-flex-col univer-gap-1.5 univer-bg-gray-50 univer-px-3 univer-py-1.5 univer-text-sm dark:!univer-bg-gray-900`,i.borderBottomClassName),children:[(0,c.jsxs)(`div`,{className:`univer-grid univer-grid-cols-[28px_minmax(0,1fr)_auto] univer-items-center univer-gap-1.5 univer-px-0.5 univer-py-0.5`,children:[(0,c.jsx)(`div`,{className:`univer-flex univer-items-center`,children:(0,c.jsx)(`button`,{type:`button`,className:(0,i.clsx)(i.resetButtonClassName,`univer-size-7 univer-rounded-md univer-text-gray-500 univer-transition-colors hover:univer-bg-gray-100 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700 dark:active:!univer-bg-gray-600`,{"univer-opacity-40":f===0}),disabled:f===0,"aria-label":u.t(`ui.navigation.previous`),onClick:()=>x(f-1),children:(0,c.jsx)(Mn,{className:`univer-rotate-180 univer-text-sm`,preserveStrokeWidth:!0})})}),(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-items-center univer-justify-center univer-gap-2.5`,children:n.map((e,t)=>{let n=t===f;return(0,c.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":n,className:(0,i.clsx)(`
29
+ `,a={animationDuration:`1.2s`};return(0,c.jsxs)(`div`,{"aria-busy":`true`,className:(0,i.clsx)(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-overflow-hidden univer-bg-gray-50 dark:!univer-bg-gray-900`,{"univer-absolute univer-inset-0 univer-z-50":n,"univer-dark":e}),dir:t,children:[(0,c.jsxs)(`header`,{"data-u-comp":`workbench-skeleton-toolbar`,className:`univer-flex univer-h-11 univer-shrink-0 univer-items-center univer-gap-2 univer-border-0 univer-border-b univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-px-4 dark:!univer-border-gray-700 dark:!univer-bg-gray-800`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-4 univer-w-24 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-ml-2 univer-size-6 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-6 univer-rounded`),style:a})]}),(0,c.jsxs)(`main`,{"data-u-comp":`workbench-skeleton-content`,className:`univer-flex univer-min-h-0 univer-min-w-0 univer-flex-1 univer-flex-col univer-gap-4 univer-p-4`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-4 univer-w-1/3 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-flex-1 univer-rounded-md`),style:a})]}),(0,c.jsxs)(`footer`,{"data-u-comp":`workbench-skeleton-footer`,className:`univer-flex univer-h-10 univer-shrink-0 univer-items-center univer-justify-between univer-border-0 univer-border-t univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-px-4 dark:!univer-border-gray-700 dark:!univer-bg-gray-800`,children:[(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-5 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-5 univer-w-14 univer-rounded`),style:a})]}),(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-5 univer-rounded`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-h-2 univer-w-24 univer-rounded-full`),style:a}),(0,c.jsx)(`div`,{"data-u-comp":`workbench-skeleton-shimmer`,className:(0,i.clsx)(r,`univer-size-5 univer-rounded`),style:a})]})]})]})}let va=(e,t)=>{let n=(0,r.useRef)(!1);(0,r.useEffect)(()=>{if(n.current)return e();n.current=!0},t)};function ya(e,t){let n=qt(t.handler);(0,r.useEffect)(()=>{let t=t=>{e.current&&t.target&&!e.current.contains(t.target)&&n()};return document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`mousedown`,t)}},[n,e])}function ba(e,t=300){let n=(0,r.useRef)(null);return(0,r.useCallback)((...r)=>{n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{e(...r)},t)},[e,t])}let xa=e=>typeof e==`number`;function Sa(e){let t=(0,r.useRef)(e);return t.current=e,t}let Ca=(e,t)=>{let{containerTarget:n,itemHeight:i,overscan:a=5}=t,o=Sa(i),[s,c]=(0,r.useState)(null),l=(0,r.useRef)(!1),[u,d]=(0,r.useState)([]),[f,p]=(0,r.useState)({height:void 0,marginTop:void 0}),m=(t,n)=>{if(typeof o.current==`number`)return Math.ceil(t/o.current);let r=0,i=0;for(let a=n;a<e.length;a++){let n=o.current(a,e[a]);if(r+=n,i=a,r>=t)break}return i-n},h=t=>{if(xa(o.current))return Math.floor(t/o.current);let n=0,r=0;for(let i=0;i<e.length;i++){let a=o.current(i,e[i]);if(n+=a,n>=t){r=i;break}}return r+1},g=t=>typeof o.current==`number`?t*o.current:e.slice(0,t).reduce((t,n,r)=>t+o.current(r,e[r]),0),_=(0,r.useMemo)(()=>xa(o.current)?e.length*o.current:e.reduce((t,n,r)=>t+o.current(r,e[r]),0),[e]),v=()=>{let t=n.current;if(t){let{scrollTop:n,clientHeight:r}=t,i=h(n),o=m(r,i),s=Math.max(0,i-a),c=Math.min(e.length,i+o+a),l=g(s);p({height:`${_-l}px`,marginTop:`${l}px`}),d(e.slice(s,c).map((e,t)=>({data:e,index:t+s})))}};return(0,r.useEffect)(()=>{if(n.current){let e=()=>{let e=n.current.clientWidth,t=n.current.clientHeight;(e!==(s==null?void 0:s.width)||t!==(s==null?void 0:s.height))&&c({width:e,height:t})};e();let t=new ResizeObserver(e);return t.observe(n.current),()=>{t.disconnect()}}},[]),(0,r.useEffect)(()=>{s!=null&&s.width&&s!=null&&s.height&&v()},[s==null?void 0:s.width,s==null?void 0:s.height,e]),[u,{wrapperStyle:f,scrollTo:qt(e=>{let t=n.current;t&&(l.current=!0,t.scrollTop=g(e),v())}),containerProps:{onScroll:e=>{if(l.current){l.current=!1;return}e.preventDefault(),v()}}}]};function wa(e){let t=fi(oe);return(0,c.jsx)(Ea,{...e,...t})}function Ta(e,t,n,r){let a=(0,s.connectInjector)(wa,e);(0,i.render)((0,c.jsx)(a,{...t,mountContainer:n,onRendered:r}),n)}function Ea(e){let{header:a=!0,toolbar:o=!0,footer:l=!0,headerMenu:u=!0,contextMenu:d=!0,ribbonType:f=`classic`,mountContainer:p,onRendered:m}=e,h=(0,s.useDependency)(t.LocaleService),g=(0,s.useDependency)(t.LifecycleService),_=(0,s.useDependency)(W),v=(0,s.useDependency)(t.ThemeService),y=(0,s.useDependency)(oi),b=(0,r.useRef)(null),x=(0,s.useDependency)(t.IConfigService).getConfig(oe),S=Q(`custom-header`),C=Q(`footer`),w=Q(`header`),T=Q(`header-menu`),E=Q(`content`),D=Q(`left-sidebar`),O=Q(`global`),k=Q(`toolbar`),A=(0,s.useObservable)(g.lifecycle$,g.stage),j=(0,s.useObservable)(_.skeletonVisible$,void 0,!0),M=A>=t.LifecycleStages.Ready,N=(x==null?void 0:x.popupRootId)??`univer-popup-portal`;(0,r.useLayoutEffect)(()=>{let e=v.currentTheme$.subscribe(e=>{y.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let P=(0,s.useObservable)(v.darkMode$,v.darkMode);(0,r.useLayoutEffect)(()=>{P?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)},[P]),(0,r.useEffect)(()=>{M&&b.current&&(m==null||m(b.current))},[M,m]);let F=(0,s.useObservable)(()=>h.localeChanged$.pipe((0,n.map)(()=>h.getLocales())),h.getLocales(),!1,[h]),I=(0,s.useObservable)(h.direction$,h.getDirection()),L=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useEffect)(()=>(document.body.appendChild(L),()=>{document.body.removeChild(L)}),[p,L]),(0,r.useEffect)(()=>{L.dir=I},[I,L]),(0,c.jsxs)(i.ConfigProvider,{locale:F==null?void 0:F.design,direction:I,mountContainer:L,children:[(0,c.jsxs)(`div`,{className:`univer-relative univer-h-full univer-min-h-0`,children:[(0,c.jsxs)(`div`,{"data-u-comp":`workbench-layout`,className:(0,i.clsx)(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-gray-0 dark:!univer-bg-gray-800`,{"univer-dark":P}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),dir:I,children:[(0,c.jsx)(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-gray-0 dark:!univer-bg-gray-800`,children:(0,c.jsx)(Z,{components:S},`custom-header`)}),a&&o&&(0,c.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,c.jsx)(Z,{components:k,sharedProps:{ribbonType:f,headerMenuComponents:T,headerMenu:u}},`toolbar`)}),(0,c.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,c.jsxs)(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,c.jsx)(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:(0,c.jsx)(Z,{components:D},`left-sidebar`)}),(0,c.jsxs)(`section`,{className:(0,i.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-gray-0 dark:!univer-bg-gray-800`,i.borderBottomClassName),children:[(0,c.jsx)(`header`,{children:a&&(0,c.jsx)(Z,{components:w},`header`)}),(0,c.jsx)(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:b,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,c.jsx)(Z,{components:E},`content`)})]}),(0,c.jsx)(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:(0,c.jsx)(ga,{})})]}),l&&(0,c.jsx)(`footer`,{children:(0,c.jsx)(Z,{components:C,sharedProps:{contextMenu:d}},`footer`)})]})]}),(!M||j)&&(0,c.jsx)(_a,{darkMode:P,direction:I,overlay:!0})]}),(0,c.jsxs)(`div`,{dir:I,children:[(0,c.jsx)(Z,{components:O},`global`),d&&(0,c.jsx)(ma,{}),(0,c.jsx)(Da,{}),(0,c.jsx)(`div`,{id:N})]})]})}function Da(){let{mountContainer:e}=(0,r.useContext)(i.ConfigContext),t=Q(`floating`);return(0,l.createPortal)((0,c.jsx)(Z,{components:t},`floating`),e)}var Oa=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,S(this,`_steadyTimeout`,void 0),S(this,`_renderTimeout`,void 0),S(this,`_currentRenderId`,null)}dispose(){super.dispose(),clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),delete this._instanceService,delete this._layoutService,delete this._lifecycleService,delete this._renderManagerService}_bootstrapWorkbench(){var e;let n=(e=this._injector.get(W,t.Quantity.OPTIONAL))==null?void 0:e.acquireSkeleton();n&&this.disposeWithMe(n),this.disposeWithMe(this.bootstrap(async(e,r)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(r)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(t.LifecycleStages.Ready),this._renderTimeout=window.setTimeout(()=>{let r=this._renderManagerService.getRenderAll();for(let[t]of r)if(this._changeRenderUnit(t,e))break;requestAnimationFrame(()=>requestAnimationFrame(()=>n==null?void 0:n.dispose())),this.disposeWithMe(this._instanceService.focused$.subscribe(t=>{t&&this._changeRenderUnit(t,e)})),this.disposeWithMe(this._renderManagerService.created$.subscribe(t=>{var n;t.unitId===((n=this._instanceService.getFocusedUnit())==null?void 0:n.getUnitId())&&this._changeRenderUnit(t.unitId,e)})),this.disposeWithMe(this._renderManagerService.disposed$.subscribe(e=>{this._currentRenderId===e&&(this._currentRenderId=null)})),this._lifecycleService.stage=t.LifecycleStages.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=t.LifecycleStages.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof t.LifecycleUnreachableError)return;throw e}}))}_changeRenderUnit(e,n){let r=this._renderManagerService.getRenderUnitById(e);if(!r||!r.unitId||r.isMainScene===!1||(0,t.isInternalEditorID)(r.unitId))return!1;let i=r.engine.getCanvasElement(),a=this._currentRenderId===e;if(a&&n.contains(i))return!1;if(!a){let e=this._currentRenderId?this._renderManagerService.getRenderUnitById(this._currentRenderId):null;e==null||e.deactivate(),e==null||e.engine.unmount()}return n.contains(i)||r.engine.mount(n),r.activate(),this._currentRenderId=e,!0}};let ka=class extends Oa{constructor(e,t,n,r,i,a,o,s){super(t,a,i,n,r),this._config=e,o.mergeMenu(At),this._initBuiltinComponents(s),this._bootstrapWorkbench()}dispose(){super.dispose()}bootstrap(e){return Aa(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(`floating`,()=>(0,s.connectInjector)(en,this._injector))),this.disposeWithMe(e.registerComponent(`content`,()=>(0,s.connectInjector)(Ht,this._injector))),this.disposeWithMe(e.registerComponent(`toolbar`,()=>(0,s.connectInjector)(ri,this._injector)))}};ka=w([C(1,(0,t.Inject)(t.Injector)),C(2,(0,t.Inject)(t.LifecycleService)),C(3,a.IRenderManagerService),C(4,D),C(5,t.IUniverInstanceService),C(6,J),C(7,Y)],ka);function Aa(e,n,r){let a,o=n.container;a=typeof o==`string`?document.getElementById(o)||ja(o):o instanceof HTMLElement?o:ja(`univer`);let s=e=>r(e,a);function c(){Ta(e,n,a,s)}return c(),(0,t.toDisposable)(()=>{(0,i.unmount)(a)})}function ja(e){let t=document.createElement(`div`);return t.id=e,t}let Ma=(0,t.createIdentifier)(`univer.ui.ui-controller`);var Na=`@univerjs/ui`,Pa=`1.0.0`;let Fa=`UI_COLOR_PICKER_COMPONENT`,Ia=e=>{let{value:n,selections:i}=e,a=(0,s.useDependency)(t.LocaleService),o=(0,r.useMemo)(()=>{var e;return n==null?``:a.t(((e=i.find(e=>e.value===n))==null?void 0:e.label)??``)},[n,i]);return(0,c.jsx)(`div`,{className:`univer-truncate univer-text-sm`,children:o})},La=`UI_PLUGIN_COMMON_LABEL_COMPONENT`,Ra={frequent:[{emoji:`👍`,title:`Thumbs Up`},{emoji:`😀`,title:`Grinning Face`},{emoji:`😘`,title:`Face Blowing A Kiss`},{emoji:`😍`,title:`Smiling Face With Heart-eyes`},{emoji:`😆`,title:`Grinning Squinting Face`},{emoji:`😜`,title:`Winking Face With Tongue`},{emoji:`😅`,title:`Grinning Face With Sweat`},{emoji:`😂`,title:`Face With Tears Of Joy`},{emoji:`😱`,title:`Face Screaming In Fear`},{emoji:`😞`,title:`Disappointed Face`},{emoji:`😒`,title:`Unamused Face`}],people:[{emoji:`😀`,title:`Grinning Face`},{emoji:`😃`,title:`Grinning Face With Big Eyes`},{emoji:`😄`,title:`Grinning Face With Smiling Eyes`},{emoji:`😁`,title:`Beaming Face With Smiling Eyes`},{emoji:`😆`,title:`Grinning Squinting Face`},{emoji:`😅`,title:`Grinning Face With Sweat`},{emoji:`🤣`,title:`Rolling On The Floor Laughing`},{emoji:`😂`,title:`Face With Tears Of Joy`},{emoji:`🙂`,title:`Slightly Smiling Face`},{emoji:`🙃`,title:`Upside-down Face`},{emoji:`🫠`,title:`Melting Face`},{emoji:`😉`,title:`Winking Face`},{emoji:`😊`,title:`Smiling Face With Smiling Eyes`},{emoji:`😇`,title:`Smiling Face With Halo`},{emoji:`🥰`,title:`Smiling Face With Hearts`},{emoji:`😍`,title:`Smiling Face With Heart-eyes`},{emoji:`🤩`,title:`Star-struck`},{emoji:`😘`,title:`Face Blowing A Kiss`},{emoji:`😗`,title:`Kissing Face`},{emoji:`☺️`,title:`Smiling Face`},{emoji:`😚`,title:`Kissing Face With Closed Eyes`},{emoji:`😙`,title:`Kissing Face With Smiling Eyes`},{emoji:`🥲`,title:`Smiling Face With Tear`},{emoji:`😋`,title:`Face Savoring Food`},{emoji:`😛`,title:`Face With Tongue`},{emoji:`😜`,title:`Winking Face With Tongue`},{emoji:`🤪`,title:`Zany Face`},{emoji:`😝`,title:`Squinting Face With Tongue`},{emoji:`🤑`,title:`Money-mouth Face`},{emoji:`🤗`,title:`Smiling Face With Open Hands`},{emoji:`🤭`,title:`Face With Hand Over Mouth`},{emoji:`🫢`,title:`Face With Open Eyes And Hand Over Mouth`},{emoji:`🫣`,title:`Face With Peeking Eye`},{emoji:`🤫`,title:`Shushing Face`},{emoji:`🤔`,title:`Thinking Face`},{emoji:`🫡`,title:`Saluting Face`},{emoji:`🤐`,title:`Zipper-mouth Face`},{emoji:`🤨`,title:`Face With Raised Eyebrow`},{emoji:`😐`,title:`Neutral Face`},{emoji:`😑`,title:`Expressionless Face`},{emoji:`😶`,title:`Face Without Mouth`},{emoji:`🫥`,title:`Dotted Line Face`},{emoji:`😶‍🌫️`,title:`Face In Clouds`},{emoji:`😏`,title:`Smirking Face`},{emoji:`😒`,title:`Unamused Face`},{emoji:`🙄`,title:`Face With Rolling Eyes`},{emoji:`😬`,title:`Grimacing Face`},{emoji:`😮‍💨`,title:`Face Exhaling`},{emoji:`🤥`,title:`Lying Face`},{emoji:`🫨`,title:`Shaking Face`},{emoji:`🙂‍↔️`,title:`Head Shaking Horizontally`},{emoji:`🙂‍↕️`,title:`Head Shaking Vertically`},{emoji:`😌`,title:`Relieved Face`},{emoji:`😔`,title:`Pensive Face`},{emoji:`😪`,title:`Sleepy Face`},{emoji:`🤤`,title:`Drooling Face`},{emoji:`😴`,title:`Sleeping Face`},{emoji:`🫩`,title:`Face With Bags Under Eyes`},{emoji:`😷`,title:`Face With Medical Mask`},{emoji:`🤒`,title:`Face With Thermometer`},{emoji:`🤕`,title:`Face With Head-bandage`},{emoji:`🤢`,title:`Nauseated Face`},{emoji:`🤮`,title:`Face Vomiting`},{emoji:`🤧`,title:`Sneezing Face`},{emoji:`🥵`,title:`Hot Face`},{emoji:`🥶`,title:`Cold Face`},{emoji:`🥴`,title:`Woozy Face`},{emoji:`😵`,title:`Face With Crossed-out Eyes`},{emoji:`😵‍💫`,title:`Face With Spiral Eyes`},{emoji:`🤯`,title:`Exploding Head`},{emoji:`🤠`,title:`Cowboy Hat Face`},{emoji:`🥳`,title:`Partying Face`},{emoji:`🥸`,title:`Disguised Face`},{emoji:`😎`,title:`Smiling Face With Sunglasses`},{emoji:`🤓`,title:`Nerd Face`},{emoji:`🧐`,title:`Face With Monocle`},{emoji:`😕`,title:`Confused Face`},{emoji:`🫤`,title:`Face With Diagonal Mouth`},{emoji:`😟`,title:`Worried Face`},{emoji:`🙁`,title:`Slightly Frowning Face`},{emoji:`☹️`,title:`Frowning Face`},{emoji:`😮`,title:`Face With Open Mouth`},{emoji:`😯`,title:`Hushed Face`},{emoji:`😲`,title:`Astonished Face`},{emoji:`😳`,title:`Flushed Face`},{emoji:`🫪`,title:`Distorted Face`},{emoji:`🥺`,title:`Pleading Face`},{emoji:`🥹`,title:`Face Holding Back Tears`},{emoji:`😦`,title:`Frowning Face With Open Mouth`},{emoji:`😧`,title:`Anguished Face`},{emoji:`😨`,title:`Fearful Face`},{emoji:`😰`,title:`Anxious Face With Sweat`},{emoji:`😥`,title:`Sad But Relieved Face`},{emoji:`😢`,title:`Crying Face`},{emoji:`😭`,title:`Loudly Crying Face`},{emoji:`😱`,title:`Face Screaming In Fear`},{emoji:`😖`,title:`Confounded Face`},{emoji:`😣`,title:`Persevering Face`},{emoji:`😞`,title:`Disappointed Face`},{emoji:`😓`,title:`Downcast Face With Sweat`},{emoji:`😩`,title:`Weary Face`},{emoji:`😫`,title:`Tired Face`},{emoji:`🥱`,title:`Yawning Face`},{emoji:`😤`,title:`Face With Steam From Nose`},{emoji:`😡`,title:`Enraged Face`},{emoji:`😠`,title:`Angry Face`},{emoji:`🤬`,title:`Face With Symbols On Mouth`},{emoji:`😈`,title:`Smiling Face With Horns`},{emoji:`👿`,title:`Angry Face With Horns`},{emoji:`💀`,title:`Skull`},{emoji:`☠️`,title:`Skull And Crossbones`},{emoji:`💩`,title:`Pile Of Poo`},{emoji:`🤡`,title:`Clown Face`},{emoji:`👹`,title:`Ogre`},{emoji:`👺`,title:`Goblin`},{emoji:`👻`,title:`Ghost`},{emoji:`👽`,title:`Alien`},{emoji:`👾`,title:`Alien Monster`},{emoji:`🤖`,title:`Robot`},{emoji:`😺`,title:`Grinning Cat`},{emoji:`😸`,title:`Grinning Cat With Smiling Eyes`},{emoji:`😹`,title:`Cat With Tears Of Joy`},{emoji:`😻`,title:`Smiling Cat With Heart-eyes`},{emoji:`😼`,title:`Cat With Wry Smile`},{emoji:`😽`,title:`Kissing Cat`},{emoji:`🙀`,title:`Weary Cat`},{emoji:`😿`,title:`Crying Cat`},{emoji:`😾`,title:`Pouting Cat`},{emoji:`🙈`,title:`See-no-evil Monkey`},{emoji:`🙉`,title:`Hear-no-evil Monkey`},{emoji:`🙊`,title:`Speak-no-evil Monkey`},{emoji:`💌`,title:`Love Letter`},{emoji:`💘`,title:`Heart With Arrow`},{emoji:`💝`,title:`Heart With Ribbon`},{emoji:`💖`,title:`Sparkling Heart`},{emoji:`💗`,title:`Growing Heart`},{emoji:`💓`,title:`Beating Heart`},{emoji:`💞`,title:`Revolving Hearts`},{emoji:`💕`,title:`Two Hearts`},{emoji:`💟`,title:`Heart Decoration`},{emoji:`❣️`,title:`Heart Exclamation`},{emoji:`💔`,title:`Broken Heart`},{emoji:`❤️‍🔥`,title:`Heart On Fire`},{emoji:`❤️‍🩹`,title:`Mending Heart`},{emoji:`❤️`,title:`Red Heart`},{emoji:`🩷`,title:`Pink Heart`},{emoji:`🧡`,title:`Orange Heart`},{emoji:`💛`,title:`Yellow Heart`},{emoji:`💚`,title:`Green Heart`},{emoji:`💙`,title:`Blue Heart`},{emoji:`🩵`,title:`Light Blue Heart`},{emoji:`💜`,title:`Purple Heart`},{emoji:`🤎`,title:`Brown Heart`},{emoji:`🖤`,title:`Black Heart`},{emoji:`🩶`,title:`Grey Heart`},{emoji:`🤍`,title:`White Heart`},{emoji:`💋`,title:`Kiss Mark`},{emoji:`💯`,title:`Hundred Points`},{emoji:`💢`,title:`Anger Symbol`},{emoji:`🫯`,title:`Fight Cloud`},{emoji:`💥`,title:`Collision`},{emoji:`💫`,title:`Dizzy`},{emoji:`💦`,title:`Sweat Droplets`},{emoji:`💨`,title:`Dashing Away`},{emoji:`🕳️`,title:`Hole`},{emoji:`💬`,title:`Speech Balloon`},{emoji:`👁️‍🗨️`,title:`Eye In Speech Bubble`},{emoji:`🗨️`,title:`Left Speech Bubble`},{emoji:`🗯️`,title:`Right Anger Bubble`},{emoji:`💭`,title:`Thought Balloon`},{emoji:`💤`,title:`ZZZ`},{emoji:`👋`,title:`Waving Hand`,skinToneVariants:[{emoji:`👋🏻`,title:`Waving Hand: Light Skin Tone`},{emoji:`👋🏼`,title:`Waving Hand: Medium-light Skin Tone`},{emoji:`👋🏽`,title:`Waving Hand: Medium Skin Tone`},{emoji:`👋🏾`,title:`Waving Hand: Medium-dark Skin Tone`},{emoji:`👋🏿`,title:`Waving Hand: Dark Skin Tone`}]},{emoji:`🤚`,title:`Raised Back Of Hand`,skinToneVariants:[{emoji:`🤚🏻`,title:`Raised Back Of Hand: Light Skin Tone`},{emoji:`🤚🏼`,title:`Raised Back Of Hand: Medium-light Skin Tone`},{emoji:`🤚🏽`,title:`Raised Back Of Hand: Medium Skin Tone`},{emoji:`🤚🏾`,title:`Raised Back Of Hand: Medium-dark Skin Tone`},{emoji:`🤚🏿`,title:`Raised Back Of Hand: Dark Skin Tone`}]},{emoji:`🖐️`,title:`Hand With Fingers Splayed`,skinToneVariants:[{emoji:`🖐🏻`,title:`Hand With Fingers Splayed: Light Skin Tone`},{emoji:`🖐🏼`,title:`Hand With Fingers Splayed: Medium-light Skin Tone`},{emoji:`🖐🏽`,title:`Hand With Fingers Splayed: Medium Skin Tone`},{emoji:`🖐🏾`,title:`Hand With Fingers Splayed: Medium-dark Skin Tone`},{emoji:`🖐🏿`,title:`Hand With Fingers Splayed: Dark Skin Tone`}]},{emoji:`✋`,title:`Raised Hand`,skinToneVariants:[{emoji:`✋🏻`,title:`Raised Hand: Light Skin Tone`},{emoji:`✋🏼`,title:`Raised Hand: Medium-light Skin Tone`},{emoji:`✋🏽`,title:`Raised Hand: Medium Skin Tone`},{emoji:`✋🏾`,title:`Raised Hand: Medium-dark Skin Tone`},{emoji:`✋🏿`,title:`Raised Hand: Dark Skin Tone`}]},{emoji:`🖖`,title:`Vulcan Salute`,skinToneVariants:[{emoji:`🖖🏻`,title:`Vulcan Salute: Light Skin Tone`},{emoji:`🖖🏼`,title:`Vulcan Salute: Medium-light Skin Tone`},{emoji:`🖖🏽`,title:`Vulcan Salute: Medium Skin Tone`},{emoji:`🖖🏾`,title:`Vulcan Salute: Medium-dark Skin Tone`},{emoji:`🖖🏿`,title:`Vulcan Salute: Dark Skin Tone`}]},{emoji:`🫱`,title:`Rightwards Hand`,skinToneVariants:[{emoji:`🫱🏻`,title:`Rightwards Hand: Light Skin Tone`},{emoji:`🫱🏼`,title:`Rightwards Hand: Medium-light Skin Tone`},{emoji:`🫱🏽`,title:`Rightwards Hand: Medium Skin Tone`},{emoji:`🫱🏾`,title:`Rightwards Hand: Medium-dark Skin Tone`},{emoji:`🫱🏿`,title:`Rightwards Hand: Dark Skin Tone`}]},{emoji:`🫲`,title:`Leftwards Hand`,skinToneVariants:[{emoji:`🫲🏻`,title:`Leftwards Hand: Light Skin Tone`},{emoji:`🫲🏼`,title:`Leftwards Hand: Medium-light Skin Tone`},{emoji:`🫲🏽`,title:`Leftwards Hand: Medium Skin Tone`},{emoji:`🫲🏾`,title:`Leftwards Hand: Medium-dark Skin Tone`},{emoji:`🫲🏿`,title:`Leftwards Hand: Dark Skin Tone`}]},{emoji:`🫳`,title:`Palm Down Hand`,skinToneVariants:[{emoji:`🫳🏻`,title:`Palm Down Hand: Light Skin Tone`},{emoji:`🫳🏼`,title:`Palm Down Hand: Medium-light Skin Tone`},{emoji:`🫳🏽`,title:`Palm Down Hand: Medium Skin Tone`},{emoji:`🫳🏾`,title:`Palm Down Hand: Medium-dark Skin Tone`},{emoji:`🫳🏿`,title:`Palm Down Hand: Dark Skin Tone`}]},{emoji:`🫴`,title:`Palm Up Hand`,skinToneVariants:[{emoji:`🫴🏻`,title:`Palm Up Hand: Light Skin Tone`},{emoji:`🫴🏼`,title:`Palm Up Hand: Medium-light Skin Tone`},{emoji:`🫴🏽`,title:`Palm Up Hand: Medium Skin Tone`},{emoji:`🫴🏾`,title:`Palm Up Hand: Medium-dark Skin Tone`},{emoji:`🫴🏿`,title:`Palm Up Hand: Dark Skin Tone`}]},{emoji:`🫷`,title:`Leftwards Pushing Hand`,skinToneVariants:[{emoji:`🫷🏻`,title:`Leftwards Pushing Hand: Light Skin Tone`},{emoji:`🫷🏼`,title:`Leftwards Pushing Hand: Medium-light Skin Tone`},{emoji:`🫷🏽`,title:`Leftwards Pushing Hand: Medium Skin Tone`},{emoji:`🫷🏾`,title:`Leftwards Pushing Hand: Medium-dark Skin Tone`},{emoji:`🫷🏿`,title:`Leftwards Pushing Hand: Dark Skin Tone`}]},{emoji:`🫸`,title:`Rightwards Pushing Hand`,skinToneVariants:[{emoji:`🫸🏻`,title:`Rightwards Pushing Hand: Light Skin Tone`},{emoji:`🫸🏼`,title:`Rightwards Pushing Hand: Medium-light Skin Tone`},{emoji:`🫸🏽`,title:`Rightwards Pushing Hand: Medium Skin Tone`},{emoji:`🫸🏾`,title:`Rightwards Pushing Hand: Medium-dark Skin Tone`},{emoji:`🫸🏿`,title:`Rightwards Pushing Hand: Dark Skin Tone`}]},{emoji:`👌`,title:`OK Hand`,skinToneVariants:[{emoji:`👌🏻`,title:`OK Hand: Light Skin Tone`},{emoji:`👌🏼`,title:`OK Hand: Medium-light Skin Tone`},{emoji:`👌🏽`,title:`OK Hand: Medium Skin Tone`},{emoji:`👌🏾`,title:`OK Hand: Medium-dark Skin Tone`},{emoji:`👌🏿`,title:`OK Hand: Dark Skin Tone`}]},{emoji:`🤌`,title:`Pinched Fingers`,skinToneVariants:[{emoji:`🤌🏻`,title:`Pinched Fingers: Light Skin Tone`},{emoji:`🤌🏼`,title:`Pinched Fingers: Medium-light Skin Tone`},{emoji:`🤌🏽`,title:`Pinched Fingers: Medium Skin Tone`},{emoji:`🤌🏾`,title:`Pinched Fingers: Medium-dark Skin Tone`},{emoji:`🤌🏿`,title:`Pinched Fingers: Dark Skin Tone`}]},{emoji:`🤏`,title:`Pinching Hand`,skinToneVariants:[{emoji:`🤏🏻`,title:`Pinching Hand: Light Skin Tone`},{emoji:`🤏🏼`,title:`Pinching Hand: Medium-light Skin Tone`},{emoji:`🤏🏽`,title:`Pinching Hand: Medium Skin Tone`},{emoji:`🤏🏾`,title:`Pinching Hand: Medium-dark Skin Tone`},{emoji:`🤏🏿`,title:`Pinching Hand: Dark Skin Tone`}]},{emoji:`✌️`,title:`Victory Hand`,skinToneVariants:[{emoji:`✌🏻`,title:`Victory Hand: Light Skin Tone`},{emoji:`✌🏼`,title:`Victory Hand: Medium-light Skin Tone`},{emoji:`✌🏽`,title:`Victory Hand: Medium Skin Tone`},{emoji:`✌🏾`,title:`Victory Hand: Medium-dark Skin Tone`},{emoji:`✌🏿`,title:`Victory Hand: Dark Skin Tone`}]},{emoji:`🤞`,title:`Crossed Fingers`,skinToneVariants:[{emoji:`🤞🏻`,title:`Crossed Fingers: Light Skin Tone`},{emoji:`🤞🏼`,title:`Crossed Fingers: Medium-light Skin Tone`},{emoji:`🤞🏽`,title:`Crossed Fingers: Medium Skin Tone`},{emoji:`🤞🏾`,title:`Crossed Fingers: Medium-dark Skin Tone`},{emoji:`🤞🏿`,title:`Crossed Fingers: Dark Skin Tone`}]},{emoji:`🫰`,title:`Hand With Index Finger And Thumb Crossed`,skinToneVariants:[{emoji:`🫰🏻`,title:`Hand With Index Finger And Thumb Crossed: Light Skin Tone`},{emoji:`🫰🏼`,title:`Hand With Index Finger And Thumb Crossed: Medium-light Skin Tone`},{emoji:`🫰🏽`,title:`Hand With Index Finger And Thumb Crossed: Medium Skin Tone`},{emoji:`🫰🏾`,title:`Hand With Index Finger And Thumb Crossed: Medium-dark Skin Tone`},{emoji:`🫰🏿`,title:`Hand With Index Finger And Thumb Crossed: Dark Skin Tone`}]},{emoji:`🤟`,title:`Love-you Gesture`,skinToneVariants:[{emoji:`🤟🏻`,title:`Love-you Gesture: Light Skin Tone`},{emoji:`🤟🏼`,title:`Love-you Gesture: Medium-light Skin Tone`},{emoji:`🤟🏽`,title:`Love-you Gesture: Medium Skin Tone`},{emoji:`🤟🏾`,title:`Love-you Gesture: Medium-dark Skin Tone`},{emoji:`🤟🏿`,title:`Love-you Gesture: Dark Skin Tone`}]},{emoji:`🤘`,title:`Sign Of The Horns`,skinToneVariants:[{emoji:`🤘🏻`,title:`Sign Of The Horns: Light Skin Tone`},{emoji:`🤘🏼`,title:`Sign Of The Horns: Medium-light Skin Tone`},{emoji:`🤘🏽`,title:`Sign Of The Horns: Medium Skin Tone`},{emoji:`🤘🏾`,title:`Sign Of The Horns: Medium-dark Skin Tone`},{emoji:`🤘🏿`,title:`Sign Of The Horns: Dark Skin Tone`}]},{emoji:`🤙`,title:`Call Me Hand`,skinToneVariants:[{emoji:`🤙🏻`,title:`Call Me Hand: Light Skin Tone`},{emoji:`🤙🏼`,title:`Call Me Hand: Medium-light Skin Tone`},{emoji:`🤙🏽`,title:`Call Me Hand: Medium Skin Tone`},{emoji:`🤙🏾`,title:`Call Me Hand: Medium-dark Skin Tone`},{emoji:`🤙🏿`,title:`Call Me Hand: Dark Skin Tone`}]},{emoji:`👈`,title:`Backhand Index Pointing Left`,skinToneVariants:[{emoji:`👈🏻`,title:`Backhand Index Pointing Left: Light Skin Tone`},{emoji:`👈🏼`,title:`Backhand Index Pointing Left: Medium-light Skin Tone`},{emoji:`👈🏽`,title:`Backhand Index Pointing Left: Medium Skin Tone`},{emoji:`👈🏾`,title:`Backhand Index Pointing Left: Medium-dark Skin Tone`},{emoji:`👈🏿`,title:`Backhand Index Pointing Left: Dark Skin Tone`}]},{emoji:`👉`,title:`Backhand Index Pointing Right`,skinToneVariants:[{emoji:`👉🏻`,title:`Backhand Index Pointing Right: Light Skin Tone`},{emoji:`👉🏼`,title:`Backhand Index Pointing Right: Medium-light Skin Tone`},{emoji:`👉🏽`,title:`Backhand Index Pointing Right: Medium Skin Tone`},{emoji:`👉🏾`,title:`Backhand Index Pointing Right: Medium-dark Skin Tone`},{emoji:`👉🏿`,title:`Backhand Index Pointing Right: Dark Skin Tone`}]},{emoji:`👆`,title:`Backhand Index Pointing Up`,skinToneVariants:[{emoji:`👆🏻`,title:`Backhand Index Pointing Up: Light Skin Tone`},{emoji:`👆🏼`,title:`Backhand Index Pointing Up: Medium-light Skin Tone`},{emoji:`👆🏽`,title:`Backhand Index Pointing Up: Medium Skin Tone`},{emoji:`👆🏾`,title:`Backhand Index Pointing Up: Medium-dark Skin Tone`},{emoji:`👆🏿`,title:`Backhand Index Pointing Up: Dark Skin Tone`}]},{emoji:`🖕`,title:`Middle Finger`,skinToneVariants:[{emoji:`🖕🏻`,title:`Middle Finger: Light Skin Tone`},{emoji:`🖕🏼`,title:`Middle Finger: Medium-light Skin Tone`},{emoji:`🖕🏽`,title:`Middle Finger: Medium Skin Tone`},{emoji:`🖕🏾`,title:`Middle Finger: Medium-dark Skin Tone`},{emoji:`🖕🏿`,title:`Middle Finger: Dark Skin Tone`}]},{emoji:`👇`,title:`Backhand Index Pointing Down`,skinToneVariants:[{emoji:`👇🏻`,title:`Backhand Index Pointing Down: Light Skin Tone`},{emoji:`👇🏼`,title:`Backhand Index Pointing Down: Medium-light Skin Tone`},{emoji:`👇🏽`,title:`Backhand Index Pointing Down: Medium Skin Tone`},{emoji:`👇🏾`,title:`Backhand Index Pointing Down: Medium-dark Skin Tone`},{emoji:`👇🏿`,title:`Backhand Index Pointing Down: Dark Skin Tone`}]},{emoji:`☝️`,title:`Index Pointing Up`,skinToneVariants:[{emoji:`☝🏻`,title:`Index Pointing Up: Light Skin Tone`},{emoji:`☝🏼`,title:`Index Pointing Up: Medium-light Skin Tone`},{emoji:`☝🏽`,title:`Index Pointing Up: Medium Skin Tone`},{emoji:`☝🏾`,title:`Index Pointing Up: Medium-dark Skin Tone`},{emoji:`☝🏿`,title:`Index Pointing Up: Dark Skin Tone`}]},{emoji:`🫵`,title:`Index Pointing At The Viewer`,skinToneVariants:[{emoji:`🫵🏻`,title:`Index Pointing At The Viewer: Light Skin Tone`},{emoji:`🫵🏼`,title:`Index Pointing At The Viewer: Medium-light Skin Tone`},{emoji:`🫵🏽`,title:`Index Pointing At The Viewer: Medium Skin Tone`},{emoji:`🫵🏾`,title:`Index Pointing At The Viewer: Medium-dark Skin Tone`},{emoji:`🫵🏿`,title:`Index Pointing At The Viewer: Dark Skin Tone`}]},{emoji:`👍`,title:`Thumbs Up`,skinToneVariants:[{emoji:`👍🏻`,title:`Thumbs Up: Light Skin Tone`},{emoji:`👍🏼`,title:`Thumbs Up: Medium-light Skin Tone`},{emoji:`👍🏽`,title:`Thumbs Up: Medium Skin Tone`},{emoji:`👍🏾`,title:`Thumbs Up: Medium-dark Skin Tone`},{emoji:`👍🏿`,title:`Thumbs Up: Dark Skin Tone`}]},{emoji:`👎`,title:`Thumbs Down`,skinToneVariants:[{emoji:`👎🏻`,title:`Thumbs Down: Light Skin Tone`},{emoji:`👎🏼`,title:`Thumbs Down: Medium-light Skin Tone`},{emoji:`👎🏽`,title:`Thumbs Down: Medium Skin Tone`},{emoji:`👎🏾`,title:`Thumbs Down: Medium-dark Skin Tone`},{emoji:`👎🏿`,title:`Thumbs Down: Dark Skin Tone`}]},{emoji:`✊`,title:`Raised Fist`,skinToneVariants:[{emoji:`✊🏻`,title:`Raised Fist: Light Skin Tone`},{emoji:`✊🏼`,title:`Raised Fist: Medium-light Skin Tone`},{emoji:`✊🏽`,title:`Raised Fist: Medium Skin Tone`},{emoji:`✊🏾`,title:`Raised Fist: Medium-dark Skin Tone`},{emoji:`✊🏿`,title:`Raised Fist: Dark Skin Tone`}]},{emoji:`👊`,title:`Oncoming Fist`,skinToneVariants:[{emoji:`👊🏻`,title:`Oncoming Fist: Light Skin Tone`},{emoji:`👊🏼`,title:`Oncoming Fist: Medium-light Skin Tone`},{emoji:`👊🏽`,title:`Oncoming Fist: Medium Skin Tone`},{emoji:`👊🏾`,title:`Oncoming Fist: Medium-dark Skin Tone`},{emoji:`👊🏿`,title:`Oncoming Fist: Dark Skin Tone`}]},{emoji:`🤛`,title:`Left-facing Fist`,skinToneVariants:[{emoji:`🤛🏻`,title:`Left-facing Fist: Light Skin Tone`},{emoji:`🤛🏼`,title:`Left-facing Fist: Medium-light Skin Tone`},{emoji:`🤛🏽`,title:`Left-facing Fist: Medium Skin Tone`},{emoji:`🤛🏾`,title:`Left-facing Fist: Medium-dark Skin Tone`},{emoji:`🤛🏿`,title:`Left-facing Fist: Dark Skin Tone`}]},{emoji:`🤜`,title:`Right-facing Fist`,skinToneVariants:[{emoji:`🤜🏻`,title:`Right-facing Fist: Light Skin Tone`},{emoji:`🤜🏼`,title:`Right-facing Fist: Medium-light Skin Tone`},{emoji:`🤜🏽`,title:`Right-facing Fist: Medium Skin Tone`},{emoji:`🤜🏾`,title:`Right-facing Fist: Medium-dark Skin Tone`},{emoji:`🤜🏿`,title:`Right-facing Fist: Dark Skin Tone`}]},{emoji:`👏`,title:`Clapping Hands`,skinToneVariants:[{emoji:`👏🏻`,title:`Clapping Hands: Light Skin Tone`},{emoji:`👏🏼`,title:`Clapping Hands: Medium-light Skin Tone`},{emoji:`👏🏽`,title:`Clapping Hands: Medium Skin Tone`},{emoji:`👏🏾`,title:`Clapping Hands: Medium-dark Skin Tone`},{emoji:`👏🏿`,title:`Clapping Hands: Dark Skin Tone`}]},{emoji:`🙌`,title:`Raising Hands`,skinToneVariants:[{emoji:`🙌🏻`,title:`Raising Hands: Light Skin Tone`},{emoji:`🙌🏼`,title:`Raising Hands: Medium-light Skin Tone`},{emoji:`🙌🏽`,title:`Raising Hands: Medium Skin Tone`},{emoji:`🙌🏾`,title:`Raising Hands: Medium-dark Skin Tone`},{emoji:`🙌🏿`,title:`Raising Hands: Dark Skin Tone`}]},{emoji:`🫶`,title:`Heart Hands`,skinToneVariants:[{emoji:`🫶🏻`,title:`Heart Hands: Light Skin Tone`},{emoji:`🫶🏼`,title:`Heart Hands: Medium-light Skin Tone`},{emoji:`🫶🏽`,title:`Heart Hands: Medium Skin Tone`},{emoji:`🫶🏾`,title:`Heart Hands: Medium-dark Skin Tone`},{emoji:`🫶🏿`,title:`Heart Hands: Dark Skin Tone`}]},{emoji:`👐`,title:`Open Hands`,skinToneVariants:[{emoji:`👐🏻`,title:`Open Hands: Light Skin Tone`},{emoji:`👐🏼`,title:`Open Hands: Medium-light Skin Tone`},{emoji:`👐🏽`,title:`Open Hands: Medium Skin Tone`},{emoji:`👐🏾`,title:`Open Hands: Medium-dark Skin Tone`},{emoji:`👐🏿`,title:`Open Hands: Dark Skin Tone`}]},{emoji:`🤲`,title:`Palms Up Together`,skinToneVariants:[{emoji:`🤲🏻`,title:`Palms Up Together: Light Skin Tone`},{emoji:`🤲🏼`,title:`Palms Up Together: Medium-light Skin Tone`},{emoji:`🤲🏽`,title:`Palms Up Together: Medium Skin Tone`},{emoji:`🤲🏾`,title:`Palms Up Together: Medium-dark Skin Tone`},{emoji:`🤲🏿`,title:`Palms Up Together: Dark Skin Tone`}]},{emoji:`🤝`,title:`Handshake`,skinToneVariants:[{emoji:`🤝🏻`,title:`Handshake: Light Skin Tone`},{emoji:`🤝🏼`,title:`Handshake: Medium-light Skin Tone`},{emoji:`🤝🏽`,title:`Handshake: Medium Skin Tone`},{emoji:`🤝🏾`,title:`Handshake: Medium-dark Skin Tone`},{emoji:`🤝🏿`,title:`Handshake: Dark Skin Tone`},{emoji:`🫱🏻‍🫲🏼`,title:`Handshake: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏻‍🫲🏽`,title:`Handshake: Light Skin Tone, Medium Skin Tone`},{emoji:`🫱🏻‍🫲🏾`,title:`Handshake: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🫱🏻‍🫲🏿`,title:`Handshake: Light Skin Tone, Dark Skin Tone`},{emoji:`🫱🏼‍🫲🏻`,title:`Handshake: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🫱🏼‍🫲🏽`,title:`Handshake: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🫱🏼‍🫲🏾`,title:`Handshake: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🫱🏼‍🫲🏿`,title:`Handshake: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🫱🏽‍🫲🏻`,title:`Handshake: Medium Skin Tone, Light Skin Tone`},{emoji:`🫱🏽‍🫲🏼`,title:`Handshake: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏽‍🫲🏾`,title:`Handshake: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🫱🏽‍🫲🏿`,title:`Handshake: Medium Skin Tone, Dark Skin Tone`},{emoji:`🫱🏾‍🫲🏻`,title:`Handshake: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🫱🏾‍🫲🏼`,title:`Handshake: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏾‍🫲🏽`,title:`Handshake: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🫱🏾‍🫲🏿`,title:`Handshake: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🫱🏿‍🫲🏻`,title:`Handshake: Dark Skin Tone, Light Skin Tone`},{emoji:`🫱🏿‍🫲🏼`,title:`Handshake: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🫱🏿‍🫲🏽`,title:`Handshake: Dark Skin Tone, Medium Skin Tone`},{emoji:`🫱🏿‍🫲🏾`,title:`Handshake: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🙏`,title:`Folded Hands`,skinToneVariants:[{emoji:`🙏🏻`,title:`Folded Hands: Light Skin Tone`},{emoji:`🙏🏼`,title:`Folded Hands: Medium-light Skin Tone`},{emoji:`🙏🏽`,title:`Folded Hands: Medium Skin Tone`},{emoji:`🙏🏾`,title:`Folded Hands: Medium-dark Skin Tone`},{emoji:`🙏🏿`,title:`Folded Hands: Dark Skin Tone`}]},{emoji:`✍️`,title:`Writing Hand`,skinToneVariants:[{emoji:`✍🏻`,title:`Writing Hand: Light Skin Tone`},{emoji:`✍🏼`,title:`Writing Hand: Medium-light Skin Tone`},{emoji:`✍🏽`,title:`Writing Hand: Medium Skin Tone`},{emoji:`✍🏾`,title:`Writing Hand: Medium-dark Skin Tone`},{emoji:`✍🏿`,title:`Writing Hand: Dark Skin Tone`}]},{emoji:`💅`,title:`Nail Polish`,skinToneVariants:[{emoji:`💅🏻`,title:`Nail Polish: Light Skin Tone`},{emoji:`💅🏼`,title:`Nail Polish: Medium-light Skin Tone`},{emoji:`💅🏽`,title:`Nail Polish: Medium Skin Tone`},{emoji:`💅🏾`,title:`Nail Polish: Medium-dark Skin Tone`},{emoji:`💅🏿`,title:`Nail Polish: Dark Skin Tone`}]},{emoji:`🤳`,title:`Selfie`,skinToneVariants:[{emoji:`🤳🏻`,title:`Selfie: Light Skin Tone`},{emoji:`🤳🏼`,title:`Selfie: Medium-light Skin Tone`},{emoji:`🤳🏽`,title:`Selfie: Medium Skin Tone`},{emoji:`🤳🏾`,title:`Selfie: Medium-dark Skin Tone`},{emoji:`🤳🏿`,title:`Selfie: Dark Skin Tone`}]},{emoji:`💪`,title:`Flexed Biceps`,skinToneVariants:[{emoji:`💪🏻`,title:`Flexed Biceps: Light Skin Tone`},{emoji:`💪🏼`,title:`Flexed Biceps: Medium-light Skin Tone`},{emoji:`💪🏽`,title:`Flexed Biceps: Medium Skin Tone`},{emoji:`💪🏾`,title:`Flexed Biceps: Medium-dark Skin Tone`},{emoji:`💪🏿`,title:`Flexed Biceps: Dark Skin Tone`}]},{emoji:`🦾`,title:`Mechanical Arm`},{emoji:`🦿`,title:`Mechanical Leg`},{emoji:`🦵`,title:`Leg`,skinToneVariants:[{emoji:`🦵🏻`,title:`Leg: Light Skin Tone`},{emoji:`🦵🏼`,title:`Leg: Medium-light Skin Tone`},{emoji:`🦵🏽`,title:`Leg: Medium Skin Tone`},{emoji:`🦵🏾`,title:`Leg: Medium-dark Skin Tone`},{emoji:`🦵🏿`,title:`Leg: Dark Skin Tone`}]},{emoji:`🦶`,title:`Foot`,skinToneVariants:[{emoji:`🦶🏻`,title:`Foot: Light Skin Tone`},{emoji:`🦶🏼`,title:`Foot: Medium-light Skin Tone`},{emoji:`🦶🏽`,title:`Foot: Medium Skin Tone`},{emoji:`🦶🏾`,title:`Foot: Medium-dark Skin Tone`},{emoji:`🦶🏿`,title:`Foot: Dark Skin Tone`}]},{emoji:`👂`,title:`Ear`,skinToneVariants:[{emoji:`👂🏻`,title:`Ear: Light Skin Tone`},{emoji:`👂🏼`,title:`Ear: Medium-light Skin Tone`},{emoji:`👂🏽`,title:`Ear: Medium Skin Tone`},{emoji:`👂🏾`,title:`Ear: Medium-dark Skin Tone`},{emoji:`👂🏿`,title:`Ear: Dark Skin Tone`}]},{emoji:`🦻`,title:`Ear With Hearing Aid`,skinToneVariants:[{emoji:`🦻🏻`,title:`Ear With Hearing Aid: Light Skin Tone`},{emoji:`🦻🏼`,title:`Ear With Hearing Aid: Medium-light Skin Tone`},{emoji:`🦻🏽`,title:`Ear With Hearing Aid: Medium Skin Tone`},{emoji:`🦻🏾`,title:`Ear With Hearing Aid: Medium-dark Skin Tone`},{emoji:`🦻🏿`,title:`Ear With Hearing Aid: Dark Skin Tone`}]},{emoji:`👃`,title:`Nose`,skinToneVariants:[{emoji:`👃🏻`,title:`Nose: Light Skin Tone`},{emoji:`👃🏼`,title:`Nose: Medium-light Skin Tone`},{emoji:`👃🏽`,title:`Nose: Medium Skin Tone`},{emoji:`👃🏾`,title:`Nose: Medium-dark Skin Tone`},{emoji:`👃🏿`,title:`Nose: Dark Skin Tone`}]},{emoji:`🧠`,title:`Brain`},{emoji:`🫀`,title:`Anatomical Heart`},{emoji:`🫁`,title:`Lungs`},{emoji:`🦷`,title:`Tooth`},{emoji:`🦴`,title:`Bone`},{emoji:`👀`,title:`Eyes`},{emoji:`👁️`,title:`Eye`},{emoji:`👅`,title:`Tongue`},{emoji:`👄`,title:`Mouth`},{emoji:`🫦`,title:`Biting Lip`},{emoji:`👶`,title:`Baby`,skinToneVariants:[{emoji:`👶🏻`,title:`Baby: Light Skin Tone`},{emoji:`👶🏼`,title:`Baby: Medium-light Skin Tone`},{emoji:`👶🏽`,title:`Baby: Medium Skin Tone`},{emoji:`👶🏾`,title:`Baby: Medium-dark Skin Tone`},{emoji:`👶🏿`,title:`Baby: Dark Skin Tone`}]},{emoji:`🧒`,title:`Child`,skinToneVariants:[{emoji:`🧒🏻`,title:`Child: Light Skin Tone`},{emoji:`🧒🏼`,title:`Child: Medium-light Skin Tone`},{emoji:`🧒🏽`,title:`Child: Medium Skin Tone`},{emoji:`🧒🏾`,title:`Child: Medium-dark Skin Tone`},{emoji:`🧒🏿`,title:`Child: Dark Skin Tone`}]},{emoji:`👦`,title:`Boy`,skinToneVariants:[{emoji:`👦🏻`,title:`Boy: Light Skin Tone`},{emoji:`👦🏼`,title:`Boy: Medium-light Skin Tone`},{emoji:`👦🏽`,title:`Boy: Medium Skin Tone`},{emoji:`👦🏾`,title:`Boy: Medium-dark Skin Tone`},{emoji:`👦🏿`,title:`Boy: Dark Skin Tone`}]},{emoji:`👧`,title:`Girl`,skinToneVariants:[{emoji:`👧🏻`,title:`Girl: Light Skin Tone`},{emoji:`👧🏼`,title:`Girl: Medium-light Skin Tone`},{emoji:`👧🏽`,title:`Girl: Medium Skin Tone`},{emoji:`👧🏾`,title:`Girl: Medium-dark Skin Tone`},{emoji:`👧🏿`,title:`Girl: Dark Skin Tone`}]},{emoji:`🧑`,title:`Person`,skinToneVariants:[{emoji:`🧑🏻`,title:`Person: Light Skin Tone`},{emoji:`🧑🏼`,title:`Person: Medium-light Skin Tone`},{emoji:`🧑🏽`,title:`Person: Medium Skin Tone`},{emoji:`🧑🏾`,title:`Person: Medium-dark Skin Tone`},{emoji:`🧑🏿`,title:`Person: Dark Skin Tone`}]},{emoji:`👱`,title:`Person: Blond Hair`,skinToneVariants:[{emoji:`👱🏻`,title:`Person: Light Skin Tone, Blond Hair`},{emoji:`👱🏼`,title:`Person: Medium-light Skin Tone, Blond Hair`},{emoji:`👱🏽`,title:`Person: Medium Skin Tone, Blond Hair`},{emoji:`👱🏾`,title:`Person: Medium-dark Skin Tone, Blond Hair`},{emoji:`👱🏿`,title:`Person: Dark Skin Tone, Blond Hair`}]},{emoji:`👨`,title:`Man`,skinToneVariants:[{emoji:`👨🏻`,title:`Man: Light Skin Tone`},{emoji:`👨🏼`,title:`Man: Medium-light Skin Tone`},{emoji:`👨🏽`,title:`Man: Medium Skin Tone`},{emoji:`👨🏾`,title:`Man: Medium-dark Skin Tone`},{emoji:`👨🏿`,title:`Man: Dark Skin Tone`}]},{emoji:`🧔`,title:`Person: Beard`,skinToneVariants:[{emoji:`🧔🏻`,title:`Person: Light Skin Tone, Beard`},{emoji:`🧔🏼`,title:`Person: Medium-light Skin Tone, Beard`},{emoji:`🧔🏽`,title:`Person: Medium Skin Tone, Beard`},{emoji:`🧔🏾`,title:`Person: Medium-dark Skin Tone, Beard`},{emoji:`🧔🏿`,title:`Person: Dark Skin Tone, Beard`}]},{emoji:`🧔‍♂️`,title:`Man: Beard`,skinToneVariants:[{emoji:`🧔🏻‍♂️`,title:`Man: Light Skin Tone, Beard`},{emoji:`🧔🏼‍♂️`,title:`Man: Medium-light Skin Tone, Beard`},{emoji:`🧔🏽‍♂️`,title:`Man: Medium Skin Tone, Beard`},{emoji:`🧔🏾‍♂️`,title:`Man: Medium-dark Skin Tone, Beard`},{emoji:`🧔🏿‍♂️`,title:`Man: Dark Skin Tone, Beard`}]},{emoji:`🧔‍♀️`,title:`Woman: Beard`,skinToneVariants:[{emoji:`🧔🏻‍♀️`,title:`Woman: Light Skin Tone, Beard`},{emoji:`🧔🏼‍♀️`,title:`Woman: Medium-light Skin Tone, Beard`},{emoji:`🧔🏽‍♀️`,title:`Woman: Medium Skin Tone, Beard`},{emoji:`🧔🏾‍♀️`,title:`Woman: Medium-dark Skin Tone, Beard`},{emoji:`🧔🏿‍♀️`,title:`Woman: Dark Skin Tone, Beard`}]},{emoji:`👨‍🦰`,title:`Man: Red Hair`,skinToneVariants:[{emoji:`👨🏻‍🦰`,title:`Man: Light Skin Tone, Red Hair`},{emoji:`👨🏼‍🦰`,title:`Man: Medium-light Skin Tone, Red Hair`},{emoji:`👨🏽‍🦰`,title:`Man: Medium Skin Tone, Red Hair`},{emoji:`👨🏾‍🦰`,title:`Man: Medium-dark Skin Tone, Red Hair`},{emoji:`👨🏿‍🦰`,title:`Man: Dark Skin Tone, Red Hair`}]},{emoji:`👨‍🦱`,title:`Man: Curly Hair`,skinToneVariants:[{emoji:`👨🏻‍🦱`,title:`Man: Light Skin Tone, Curly Hair`},{emoji:`👨🏼‍🦱`,title:`Man: Medium-light Skin Tone, Curly Hair`},{emoji:`👨🏽‍🦱`,title:`Man: Medium Skin Tone, Curly Hair`},{emoji:`👨🏾‍🦱`,title:`Man: Medium-dark Skin Tone, Curly Hair`},{emoji:`👨🏿‍🦱`,title:`Man: Dark Skin Tone, Curly Hair`}]},{emoji:`👨‍🦳`,title:`Man: White Hair`,skinToneVariants:[{emoji:`👨🏻‍🦳`,title:`Man: Light Skin Tone, White Hair`},{emoji:`👨🏼‍🦳`,title:`Man: Medium-light Skin Tone, White Hair`},{emoji:`👨🏽‍🦳`,title:`Man: Medium Skin Tone, White Hair`},{emoji:`👨🏾‍🦳`,title:`Man: Medium-dark Skin Tone, White Hair`},{emoji:`👨🏿‍🦳`,title:`Man: Dark Skin Tone, White Hair`}]},{emoji:`👨‍🦲`,title:`Man: Bald`,skinToneVariants:[{emoji:`👨🏻‍🦲`,title:`Man: Light Skin Tone, Bald`},{emoji:`👨🏼‍🦲`,title:`Man: Medium-light Skin Tone, Bald`},{emoji:`👨🏽‍🦲`,title:`Man: Medium Skin Tone, Bald`},{emoji:`👨🏾‍🦲`,title:`Man: Medium-dark Skin Tone, Bald`},{emoji:`👨🏿‍🦲`,title:`Man: Dark Skin Tone, Bald`}]},{emoji:`👩`,title:`Woman`,skinToneVariants:[{emoji:`👩🏻`,title:`Woman: Light Skin Tone`},{emoji:`👩🏼`,title:`Woman: Medium-light Skin Tone`},{emoji:`👩🏽`,title:`Woman: Medium Skin Tone`},{emoji:`👩🏾`,title:`Woman: Medium-dark Skin Tone`},{emoji:`👩🏿`,title:`Woman: Dark Skin Tone`}]},{emoji:`👩‍🦰`,title:`Woman: Red Hair`,skinToneVariants:[{emoji:`👩🏻‍🦰`,title:`Woman: Light Skin Tone, Red Hair`},{emoji:`👩🏼‍🦰`,title:`Woman: Medium-light Skin Tone, Red Hair`},{emoji:`👩🏽‍🦰`,title:`Woman: Medium Skin Tone, Red Hair`},{emoji:`👩🏾‍🦰`,title:`Woman: Medium-dark Skin Tone, Red Hair`},{emoji:`👩🏿‍🦰`,title:`Woman: Dark Skin Tone, Red Hair`}]},{emoji:`🧑‍🦰`,title:`Person: Red Hair`,skinToneVariants:[{emoji:`🧑🏻‍🦰`,title:`Person: Light Skin Tone, Red Hair`},{emoji:`🧑🏼‍🦰`,title:`Person: Medium-light Skin Tone, Red Hair`},{emoji:`🧑🏽‍🦰`,title:`Person: Medium Skin Tone, Red Hair`},{emoji:`🧑🏾‍🦰`,title:`Person: Medium-dark Skin Tone, Red Hair`},{emoji:`🧑🏿‍🦰`,title:`Person: Dark Skin Tone, Red Hair`}]},{emoji:`👩‍🦱`,title:`Woman: Curly Hair`,skinToneVariants:[{emoji:`👩🏻‍🦱`,title:`Woman: Light Skin Tone, Curly Hair`},{emoji:`👩🏼‍🦱`,title:`Woman: Medium-light Skin Tone, Curly Hair`},{emoji:`👩🏽‍🦱`,title:`Woman: Medium Skin Tone, Curly Hair`},{emoji:`👩🏾‍🦱`,title:`Woman: Medium-dark Skin Tone, Curly Hair`},{emoji:`👩🏿‍🦱`,title:`Woman: Dark Skin Tone, Curly Hair`}]},{emoji:`🧑‍🦱`,title:`Person: Curly Hair`,skinToneVariants:[{emoji:`🧑🏻‍🦱`,title:`Person: Light Skin Tone, Curly Hair`},{emoji:`🧑🏼‍🦱`,title:`Person: Medium-light Skin Tone, Curly Hair`},{emoji:`🧑🏽‍🦱`,title:`Person: Medium Skin Tone, Curly Hair`},{emoji:`🧑🏾‍🦱`,title:`Person: Medium-dark Skin Tone, Curly Hair`},{emoji:`🧑🏿‍🦱`,title:`Person: Dark Skin Tone, Curly Hair`}]},{emoji:`👩‍🦳`,title:`Woman: White Hair`,skinToneVariants:[{emoji:`👩🏻‍🦳`,title:`Woman: Light Skin Tone, White Hair`},{emoji:`👩🏼‍🦳`,title:`Woman: Medium-light Skin Tone, White Hair`},{emoji:`👩🏽‍🦳`,title:`Woman: Medium Skin Tone, White Hair`},{emoji:`👩🏾‍🦳`,title:`Woman: Medium-dark Skin Tone, White Hair`},{emoji:`👩🏿‍🦳`,title:`Woman: Dark Skin Tone, White Hair`}]},{emoji:`🧑‍🦳`,title:`Person: White Hair`,skinToneVariants:[{emoji:`🧑🏻‍🦳`,title:`Person: Light Skin Tone, White Hair`},{emoji:`🧑🏼‍🦳`,title:`Person: Medium-light Skin Tone, White Hair`},{emoji:`🧑🏽‍🦳`,title:`Person: Medium Skin Tone, White Hair`},{emoji:`🧑🏾‍🦳`,title:`Person: Medium-dark Skin Tone, White Hair`},{emoji:`🧑🏿‍🦳`,title:`Person: Dark Skin Tone, White Hair`}]},{emoji:`👩‍🦲`,title:`Woman: Bald`,skinToneVariants:[{emoji:`👩🏻‍🦲`,title:`Woman: Light Skin Tone, Bald`},{emoji:`👩🏼‍🦲`,title:`Woman: Medium-light Skin Tone, Bald`},{emoji:`👩🏽‍🦲`,title:`Woman: Medium Skin Tone, Bald`},{emoji:`👩🏾‍🦲`,title:`Woman: Medium-dark Skin Tone, Bald`},{emoji:`👩🏿‍🦲`,title:`Woman: Dark Skin Tone, Bald`}]},{emoji:`🧑‍🦲`,title:`Person: Bald`,skinToneVariants:[{emoji:`🧑🏻‍🦲`,title:`Person: Light Skin Tone, Bald`},{emoji:`🧑🏼‍🦲`,title:`Person: Medium-light Skin Tone, Bald`},{emoji:`🧑🏽‍🦲`,title:`Person: Medium Skin Tone, Bald`},{emoji:`🧑🏾‍🦲`,title:`Person: Medium-dark Skin Tone, Bald`},{emoji:`🧑🏿‍🦲`,title:`Person: Dark Skin Tone, Bald`}]},{emoji:`👱‍♀️`,title:`Woman: Blond Hair`,skinToneVariants:[{emoji:`👱🏻‍♀️`,title:`Woman: Light Skin Tone, Blond Hair`},{emoji:`👱🏼‍♀️`,title:`Woman: Medium-light Skin Tone, Blond Hair`},{emoji:`👱🏽‍♀️`,title:`Woman: Medium Skin Tone, Blond Hair`},{emoji:`👱🏾‍♀️`,title:`Woman: Medium-dark Skin Tone, Blond Hair`},{emoji:`👱🏿‍♀️`,title:`Woman: Dark Skin Tone, Blond Hair`}]},{emoji:`👱‍♂️`,title:`Man: Blond Hair`,skinToneVariants:[{emoji:`👱🏻‍♂️`,title:`Man: Light Skin Tone, Blond Hair`},{emoji:`👱🏼‍♂️`,title:`Man: Medium-light Skin Tone, Blond Hair`},{emoji:`👱🏽‍♂️`,title:`Man: Medium Skin Tone, Blond Hair`},{emoji:`👱🏾‍♂️`,title:`Man: Medium-dark Skin Tone, Blond Hair`},{emoji:`👱🏿‍♂️`,title:`Man: Dark Skin Tone, Blond Hair`}]},{emoji:`🧓`,title:`Older Person`,skinToneVariants:[{emoji:`🧓🏻`,title:`Older Person: Light Skin Tone`},{emoji:`🧓🏼`,title:`Older Person: Medium-light Skin Tone`},{emoji:`🧓🏽`,title:`Older Person: Medium Skin Tone`},{emoji:`🧓🏾`,title:`Older Person: Medium-dark Skin Tone`},{emoji:`🧓🏿`,title:`Older Person: Dark Skin Tone`}]},{emoji:`👴`,title:`Old Man`,skinToneVariants:[{emoji:`👴🏻`,title:`Old Man: Light Skin Tone`},{emoji:`👴🏼`,title:`Old Man: Medium-light Skin Tone`},{emoji:`👴🏽`,title:`Old Man: Medium Skin Tone`},{emoji:`👴🏾`,title:`Old Man: Medium-dark Skin Tone`},{emoji:`👴🏿`,title:`Old Man: Dark Skin Tone`}]},{emoji:`👵`,title:`Old Woman`,skinToneVariants:[{emoji:`👵🏻`,title:`Old Woman: Light Skin Tone`},{emoji:`👵🏼`,title:`Old Woman: Medium-light Skin Tone`},{emoji:`👵🏽`,title:`Old Woman: Medium Skin Tone`},{emoji:`👵🏾`,title:`Old Woman: Medium-dark Skin Tone`},{emoji:`👵🏿`,title:`Old Woman: Dark Skin Tone`}]},{emoji:`🙍`,title:`Person Frowning`,skinToneVariants:[{emoji:`🙍🏻`,title:`Person Frowning: Light Skin Tone`},{emoji:`🙍🏼`,title:`Person Frowning: Medium-light Skin Tone`},{emoji:`🙍🏽`,title:`Person Frowning: Medium Skin Tone`},{emoji:`🙍🏾`,title:`Person Frowning: Medium-dark Skin Tone`},{emoji:`🙍🏿`,title:`Person Frowning: Dark Skin Tone`}]},{emoji:`🙍‍♂️`,title:`Man Frowning`,skinToneVariants:[{emoji:`🙍🏻‍♂️`,title:`Man Frowning: Light Skin Tone`},{emoji:`🙍🏼‍♂️`,title:`Man Frowning: Medium-light Skin Tone`},{emoji:`🙍🏽‍♂️`,title:`Man Frowning: Medium Skin Tone`},{emoji:`🙍🏾‍♂️`,title:`Man Frowning: Medium-dark Skin Tone`},{emoji:`🙍🏿‍♂️`,title:`Man Frowning: Dark Skin Tone`}]},{emoji:`🙍‍♀️`,title:`Woman Frowning`,skinToneVariants:[{emoji:`🙍🏻‍♀️`,title:`Woman Frowning: Light Skin Tone`},{emoji:`🙍🏼‍♀️`,title:`Woman Frowning: Medium-light Skin Tone`},{emoji:`🙍🏽‍♀️`,title:`Woman Frowning: Medium Skin Tone`},{emoji:`🙍🏾‍♀️`,title:`Woman Frowning: Medium-dark Skin Tone`},{emoji:`🙍🏿‍♀️`,title:`Woman Frowning: Dark Skin Tone`}]},{emoji:`🙎`,title:`Person Pouting`,skinToneVariants:[{emoji:`🙎🏻`,title:`Person Pouting: Light Skin Tone`},{emoji:`🙎🏼`,title:`Person Pouting: Medium-light Skin Tone`},{emoji:`🙎🏽`,title:`Person Pouting: Medium Skin Tone`},{emoji:`🙎🏾`,title:`Person Pouting: Medium-dark Skin Tone`},{emoji:`🙎🏿`,title:`Person Pouting: Dark Skin Tone`}]},{emoji:`🙎‍♂️`,title:`Man Pouting`,skinToneVariants:[{emoji:`🙎🏻‍♂️`,title:`Man Pouting: Light Skin Tone`},{emoji:`🙎🏼‍♂️`,title:`Man Pouting: Medium-light Skin Tone`},{emoji:`🙎🏽‍♂️`,title:`Man Pouting: Medium Skin Tone`},{emoji:`🙎🏾‍♂️`,title:`Man Pouting: Medium-dark Skin Tone`},{emoji:`🙎🏿‍♂️`,title:`Man Pouting: Dark Skin Tone`}]},{emoji:`🙎‍♀️`,title:`Woman Pouting`,skinToneVariants:[{emoji:`🙎🏻‍♀️`,title:`Woman Pouting: Light Skin Tone`},{emoji:`🙎🏼‍♀️`,title:`Woman Pouting: Medium-light Skin Tone`},{emoji:`🙎🏽‍♀️`,title:`Woman Pouting: Medium Skin Tone`},{emoji:`🙎🏾‍♀️`,title:`Woman Pouting: Medium-dark Skin Tone`},{emoji:`🙎🏿‍♀️`,title:`Woman Pouting: Dark Skin Tone`}]},{emoji:`🙅`,title:`Person Gesturing NO`,skinToneVariants:[{emoji:`🙅🏻`,title:`Person Gesturing NO: Light Skin Tone`},{emoji:`🙅🏼`,title:`Person Gesturing NO: Medium-light Skin Tone`},{emoji:`🙅🏽`,title:`Person Gesturing NO: Medium Skin Tone`},{emoji:`🙅🏾`,title:`Person Gesturing NO: Medium-dark Skin Tone`},{emoji:`🙅🏿`,title:`Person Gesturing NO: Dark Skin Tone`}]},{emoji:`🙅‍♂️`,title:`Man Gesturing NO`,skinToneVariants:[{emoji:`🙅🏻‍♂️`,title:`Man Gesturing NO: Light Skin Tone`},{emoji:`🙅🏼‍♂️`,title:`Man Gesturing NO: Medium-light Skin Tone`},{emoji:`🙅🏽‍♂️`,title:`Man Gesturing NO: Medium Skin Tone`},{emoji:`🙅🏾‍♂️`,title:`Man Gesturing NO: Medium-dark Skin Tone`},{emoji:`🙅🏿‍♂️`,title:`Man Gesturing NO: Dark Skin Tone`}]},{emoji:`🙅‍♀️`,title:`Woman Gesturing NO`,skinToneVariants:[{emoji:`🙅🏻‍♀️`,title:`Woman Gesturing NO: Light Skin Tone`},{emoji:`🙅🏼‍♀️`,title:`Woman Gesturing NO: Medium-light Skin Tone`},{emoji:`🙅🏽‍♀️`,title:`Woman Gesturing NO: Medium Skin Tone`},{emoji:`🙅🏾‍♀️`,title:`Woman Gesturing NO: Medium-dark Skin Tone`},{emoji:`🙅🏿‍♀️`,title:`Woman Gesturing NO: Dark Skin Tone`}]},{emoji:`🙆`,title:`Person Gesturing OK`,skinToneVariants:[{emoji:`🙆🏻`,title:`Person Gesturing OK: Light Skin Tone`},{emoji:`🙆🏼`,title:`Person Gesturing OK: Medium-light Skin Tone`},{emoji:`🙆🏽`,title:`Person Gesturing OK: Medium Skin Tone`},{emoji:`🙆🏾`,title:`Person Gesturing OK: Medium-dark Skin Tone`},{emoji:`🙆🏿`,title:`Person Gesturing OK: Dark Skin Tone`}]},{emoji:`🙆‍♂️`,title:`Man Gesturing OK`,skinToneVariants:[{emoji:`🙆🏻‍♂️`,title:`Man Gesturing OK: Light Skin Tone`},{emoji:`🙆🏼‍♂️`,title:`Man Gesturing OK: Medium-light Skin Tone`},{emoji:`🙆🏽‍♂️`,title:`Man Gesturing OK: Medium Skin Tone`},{emoji:`🙆🏾‍♂️`,title:`Man Gesturing OK: Medium-dark Skin Tone`},{emoji:`🙆🏿‍♂️`,title:`Man Gesturing OK: Dark Skin Tone`}]},{emoji:`🙆‍♀️`,title:`Woman Gesturing OK`,skinToneVariants:[{emoji:`🙆🏻‍♀️`,title:`Woman Gesturing OK: Light Skin Tone`},{emoji:`🙆🏼‍♀️`,title:`Woman Gesturing OK: Medium-light Skin Tone`},{emoji:`🙆🏽‍♀️`,title:`Woman Gesturing OK: Medium Skin Tone`},{emoji:`🙆🏾‍♀️`,title:`Woman Gesturing OK: Medium-dark Skin Tone`},{emoji:`🙆🏿‍♀️`,title:`Woman Gesturing OK: Dark Skin Tone`}]},{emoji:`💁`,title:`Person Tipping Hand`,skinToneVariants:[{emoji:`💁🏻`,title:`Person Tipping Hand: Light Skin Tone`},{emoji:`💁🏼`,title:`Person Tipping Hand: Medium-light Skin Tone`},{emoji:`💁🏽`,title:`Person Tipping Hand: Medium Skin Tone`},{emoji:`💁🏾`,title:`Person Tipping Hand: Medium-dark Skin Tone`},{emoji:`💁🏿`,title:`Person Tipping Hand: Dark Skin Tone`}]},{emoji:`💁‍♂️`,title:`Man Tipping Hand`,skinToneVariants:[{emoji:`💁🏻‍♂️`,title:`Man Tipping Hand: Light Skin Tone`},{emoji:`💁🏼‍♂️`,title:`Man Tipping Hand: Medium-light Skin Tone`},{emoji:`💁🏽‍♂️`,title:`Man Tipping Hand: Medium Skin Tone`},{emoji:`💁🏾‍♂️`,title:`Man Tipping Hand: Medium-dark Skin Tone`},{emoji:`💁🏿‍♂️`,title:`Man Tipping Hand: Dark Skin Tone`}]},{emoji:`💁‍♀️`,title:`Woman Tipping Hand`,skinToneVariants:[{emoji:`💁🏻‍♀️`,title:`Woman Tipping Hand: Light Skin Tone`},{emoji:`💁🏼‍♀️`,title:`Woman Tipping Hand: Medium-light Skin Tone`},{emoji:`💁🏽‍♀️`,title:`Woman Tipping Hand: Medium Skin Tone`},{emoji:`💁🏾‍♀️`,title:`Woman Tipping Hand: Medium-dark Skin Tone`},{emoji:`💁🏿‍♀️`,title:`Woman Tipping Hand: Dark Skin Tone`}]},{emoji:`🙋`,title:`Person Raising Hand`,skinToneVariants:[{emoji:`🙋🏻`,title:`Person Raising Hand: Light Skin Tone`},{emoji:`🙋🏼`,title:`Person Raising Hand: Medium-light Skin Tone`},{emoji:`🙋🏽`,title:`Person Raising Hand: Medium Skin Tone`},{emoji:`🙋🏾`,title:`Person Raising Hand: Medium-dark Skin Tone`},{emoji:`🙋🏿`,title:`Person Raising Hand: Dark Skin Tone`}]},{emoji:`🙋‍♂️`,title:`Man Raising Hand`,skinToneVariants:[{emoji:`🙋🏻‍♂️`,title:`Man Raising Hand: Light Skin Tone`},{emoji:`🙋🏼‍♂️`,title:`Man Raising Hand: Medium-light Skin Tone`},{emoji:`🙋🏽‍♂️`,title:`Man Raising Hand: Medium Skin Tone`},{emoji:`🙋🏾‍♂️`,title:`Man Raising Hand: Medium-dark Skin Tone`},{emoji:`🙋🏿‍♂️`,title:`Man Raising Hand: Dark Skin Tone`}]},{emoji:`🙋‍♀️`,title:`Woman Raising Hand`,skinToneVariants:[{emoji:`🙋🏻‍♀️`,title:`Woman Raising Hand: Light Skin Tone`},{emoji:`🙋🏼‍♀️`,title:`Woman Raising Hand: Medium-light Skin Tone`},{emoji:`🙋🏽‍♀️`,title:`Woman Raising Hand: Medium Skin Tone`},{emoji:`🙋🏾‍♀️`,title:`Woman Raising Hand: Medium-dark Skin Tone`},{emoji:`🙋🏿‍♀️`,title:`Woman Raising Hand: Dark Skin Tone`}]},{emoji:`🧏`,title:`Deaf Person`,skinToneVariants:[{emoji:`🧏🏻`,title:`Deaf Person: Light Skin Tone`},{emoji:`🧏🏼`,title:`Deaf Person: Medium-light Skin Tone`},{emoji:`🧏🏽`,title:`Deaf Person: Medium Skin Tone`},{emoji:`🧏🏾`,title:`Deaf Person: Medium-dark Skin Tone`},{emoji:`🧏🏿`,title:`Deaf Person: Dark Skin Tone`}]},{emoji:`🧏‍♂️`,title:`Deaf Man`,skinToneVariants:[{emoji:`🧏🏻‍♂️`,title:`Deaf Man: Light Skin Tone`},{emoji:`🧏🏼‍♂️`,title:`Deaf Man: Medium-light Skin Tone`},{emoji:`🧏🏽‍♂️`,title:`Deaf Man: Medium Skin Tone`},{emoji:`🧏🏾‍♂️`,title:`Deaf Man: Medium-dark Skin Tone`},{emoji:`🧏🏿‍♂️`,title:`Deaf Man: Dark Skin Tone`}]},{emoji:`🧏‍♀️`,title:`Deaf Woman`,skinToneVariants:[{emoji:`🧏🏻‍♀️`,title:`Deaf Woman: Light Skin Tone`},{emoji:`🧏🏼‍♀️`,title:`Deaf Woman: Medium-light Skin Tone`},{emoji:`🧏🏽‍♀️`,title:`Deaf Woman: Medium Skin Tone`},{emoji:`🧏🏾‍♀️`,title:`Deaf Woman: Medium-dark Skin Tone`},{emoji:`🧏🏿‍♀️`,title:`Deaf Woman: Dark Skin Tone`}]},{emoji:`🙇`,title:`Person Bowing`,skinToneVariants:[{emoji:`🙇🏻`,title:`Person Bowing: Light Skin Tone`},{emoji:`🙇🏼`,title:`Person Bowing: Medium-light Skin Tone`},{emoji:`🙇🏽`,title:`Person Bowing: Medium Skin Tone`},{emoji:`🙇🏾`,title:`Person Bowing: Medium-dark Skin Tone`},{emoji:`🙇🏿`,title:`Person Bowing: Dark Skin Tone`}]},{emoji:`🙇‍♂️`,title:`Man Bowing`,skinToneVariants:[{emoji:`🙇🏻‍♂️`,title:`Man Bowing: Light Skin Tone`},{emoji:`🙇🏼‍♂️`,title:`Man Bowing: Medium-light Skin Tone`},{emoji:`🙇🏽‍♂️`,title:`Man Bowing: Medium Skin Tone`},{emoji:`🙇🏾‍♂️`,title:`Man Bowing: Medium-dark Skin Tone`},{emoji:`🙇🏿‍♂️`,title:`Man Bowing: Dark Skin Tone`}]},{emoji:`🙇‍♀️`,title:`Woman Bowing`,skinToneVariants:[{emoji:`🙇🏻‍♀️`,title:`Woman Bowing: Light Skin Tone`},{emoji:`🙇🏼‍♀️`,title:`Woman Bowing: Medium-light Skin Tone`},{emoji:`🙇🏽‍♀️`,title:`Woman Bowing: Medium Skin Tone`},{emoji:`🙇🏾‍♀️`,title:`Woman Bowing: Medium-dark Skin Tone`},{emoji:`🙇🏿‍♀️`,title:`Woman Bowing: Dark Skin Tone`}]},{emoji:`🤦`,title:`Person Facepalming`,skinToneVariants:[{emoji:`🤦🏻`,title:`Person Facepalming: Light Skin Tone`},{emoji:`🤦🏼`,title:`Person Facepalming: Medium-light Skin Tone`},{emoji:`🤦🏽`,title:`Person Facepalming: Medium Skin Tone`},{emoji:`🤦🏾`,title:`Person Facepalming: Medium-dark Skin Tone`},{emoji:`🤦🏿`,title:`Person Facepalming: Dark Skin Tone`}]},{emoji:`🤦‍♂️`,title:`Man Facepalming`,skinToneVariants:[{emoji:`🤦🏻‍♂️`,title:`Man Facepalming: Light Skin Tone`},{emoji:`🤦🏼‍♂️`,title:`Man Facepalming: Medium-light Skin Tone`},{emoji:`🤦🏽‍♂️`,title:`Man Facepalming: Medium Skin Tone`},{emoji:`🤦🏾‍♂️`,title:`Man Facepalming: Medium-dark Skin Tone`},{emoji:`🤦🏿‍♂️`,title:`Man Facepalming: Dark Skin Tone`}]},{emoji:`🤦‍♀️`,title:`Woman Facepalming`,skinToneVariants:[{emoji:`🤦🏻‍♀️`,title:`Woman Facepalming: Light Skin Tone`},{emoji:`🤦🏼‍♀️`,title:`Woman Facepalming: Medium-light Skin Tone`},{emoji:`🤦🏽‍♀️`,title:`Woman Facepalming: Medium Skin Tone`},{emoji:`🤦🏾‍♀️`,title:`Woman Facepalming: Medium-dark Skin Tone`},{emoji:`🤦🏿‍♀️`,title:`Woman Facepalming: Dark Skin Tone`}]},{emoji:`🤷`,title:`Person Shrugging`,skinToneVariants:[{emoji:`🤷🏻`,title:`Person Shrugging: Light Skin Tone`},{emoji:`🤷🏼`,title:`Person Shrugging: Medium-light Skin Tone`},{emoji:`🤷🏽`,title:`Person Shrugging: Medium Skin Tone`},{emoji:`🤷🏾`,title:`Person Shrugging: Medium-dark Skin Tone`},{emoji:`🤷🏿`,title:`Person Shrugging: Dark Skin Tone`}]},{emoji:`🤷‍♂️`,title:`Man Shrugging`,skinToneVariants:[{emoji:`🤷🏻‍♂️`,title:`Man Shrugging: Light Skin Tone`},{emoji:`🤷🏼‍♂️`,title:`Man Shrugging: Medium-light Skin Tone`},{emoji:`🤷🏽‍♂️`,title:`Man Shrugging: Medium Skin Tone`},{emoji:`🤷🏾‍♂️`,title:`Man Shrugging: Medium-dark Skin Tone`},{emoji:`🤷🏿‍♂️`,title:`Man Shrugging: Dark Skin Tone`}]},{emoji:`🤷‍♀️`,title:`Woman Shrugging`,skinToneVariants:[{emoji:`🤷🏻‍♀️`,title:`Woman Shrugging: Light Skin Tone`},{emoji:`🤷🏼‍♀️`,title:`Woman Shrugging: Medium-light Skin Tone`},{emoji:`🤷🏽‍♀️`,title:`Woman Shrugging: Medium Skin Tone`},{emoji:`🤷🏾‍♀️`,title:`Woman Shrugging: Medium-dark Skin Tone`},{emoji:`🤷🏿‍♀️`,title:`Woman Shrugging: Dark Skin Tone`}]},{emoji:`🧑‍⚕️`,title:`Health Worker`,skinToneVariants:[{emoji:`🧑🏻‍⚕️`,title:`Health Worker: Light Skin Tone`},{emoji:`🧑🏼‍⚕️`,title:`Health Worker: Medium-light Skin Tone`},{emoji:`🧑🏽‍⚕️`,title:`Health Worker: Medium Skin Tone`},{emoji:`🧑🏾‍⚕️`,title:`Health Worker: Medium-dark Skin Tone`},{emoji:`🧑🏿‍⚕️`,title:`Health Worker: Dark Skin Tone`}]},{emoji:`👨‍⚕️`,title:`Man Health Worker`,skinToneVariants:[{emoji:`👨🏻‍⚕️`,title:`Man Health Worker: Light Skin Tone`},{emoji:`👨🏼‍⚕️`,title:`Man Health Worker: Medium-light Skin Tone`},{emoji:`👨🏽‍⚕️`,title:`Man Health Worker: Medium Skin Tone`},{emoji:`👨🏾‍⚕️`,title:`Man Health Worker: Medium-dark Skin Tone`},{emoji:`👨🏿‍⚕️`,title:`Man Health Worker: Dark Skin Tone`}]},{emoji:`👩‍⚕️`,title:`Woman Health Worker`,skinToneVariants:[{emoji:`👩🏻‍⚕️`,title:`Woman Health Worker: Light Skin Tone`},{emoji:`👩🏼‍⚕️`,title:`Woman Health Worker: Medium-light Skin Tone`},{emoji:`👩🏽‍⚕️`,title:`Woman Health Worker: Medium Skin Tone`},{emoji:`👩🏾‍⚕️`,title:`Woman Health Worker: Medium-dark Skin Tone`},{emoji:`👩🏿‍⚕️`,title:`Woman Health Worker: Dark Skin Tone`}]},{emoji:`🧑‍🎓`,title:`Student`,skinToneVariants:[{emoji:`🧑🏻‍🎓`,title:`Student: Light Skin Tone`},{emoji:`🧑🏼‍🎓`,title:`Student: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎓`,title:`Student: Medium Skin Tone`},{emoji:`🧑🏾‍🎓`,title:`Student: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎓`,title:`Student: Dark Skin Tone`}]},{emoji:`👨‍🎓`,title:`Man Student`,skinToneVariants:[{emoji:`👨🏻‍🎓`,title:`Man Student: Light Skin Tone`},{emoji:`👨🏼‍🎓`,title:`Man Student: Medium-light Skin Tone`},{emoji:`👨🏽‍🎓`,title:`Man Student: Medium Skin Tone`},{emoji:`👨🏾‍🎓`,title:`Man Student: Medium-dark Skin Tone`},{emoji:`👨🏿‍🎓`,title:`Man Student: Dark Skin Tone`}]},{emoji:`👩‍🎓`,title:`Woman Student`,skinToneVariants:[{emoji:`👩🏻‍🎓`,title:`Woman Student: Light Skin Tone`},{emoji:`👩🏼‍🎓`,title:`Woman Student: Medium-light Skin Tone`},{emoji:`👩🏽‍🎓`,title:`Woman Student: Medium Skin Tone`},{emoji:`👩🏾‍🎓`,title:`Woman Student: Medium-dark Skin Tone`},{emoji:`👩🏿‍🎓`,title:`Woman Student: Dark Skin Tone`}]},{emoji:`🧑‍🏫`,title:`Teacher`,skinToneVariants:[{emoji:`🧑🏻‍🏫`,title:`Teacher: Light Skin Tone`},{emoji:`🧑🏼‍🏫`,title:`Teacher: Medium-light Skin Tone`},{emoji:`🧑🏽‍🏫`,title:`Teacher: Medium Skin Tone`},{emoji:`🧑🏾‍🏫`,title:`Teacher: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🏫`,title:`Teacher: Dark Skin Tone`}]},{emoji:`👨‍🏫`,title:`Man Teacher`,skinToneVariants:[{emoji:`👨🏻‍🏫`,title:`Man Teacher: Light Skin Tone`},{emoji:`👨🏼‍🏫`,title:`Man Teacher: Medium-light Skin Tone`},{emoji:`👨🏽‍🏫`,title:`Man Teacher: Medium Skin Tone`},{emoji:`👨🏾‍🏫`,title:`Man Teacher: Medium-dark Skin Tone`},{emoji:`👨🏿‍🏫`,title:`Man Teacher: Dark Skin Tone`}]},{emoji:`👩‍🏫`,title:`Woman Teacher`,skinToneVariants:[{emoji:`👩🏻‍🏫`,title:`Woman Teacher: Light Skin Tone`},{emoji:`👩🏼‍🏫`,title:`Woman Teacher: Medium-light Skin Tone`},{emoji:`👩🏽‍🏫`,title:`Woman Teacher: Medium Skin Tone`},{emoji:`👩🏾‍🏫`,title:`Woman Teacher: Medium-dark Skin Tone`},{emoji:`👩🏿‍🏫`,title:`Woman Teacher: Dark Skin Tone`}]},{emoji:`🧑‍⚖️`,title:`Judge`,skinToneVariants:[{emoji:`🧑🏻‍⚖️`,title:`Judge: Light Skin Tone`},{emoji:`🧑🏼‍⚖️`,title:`Judge: Medium-light Skin Tone`},{emoji:`🧑🏽‍⚖️`,title:`Judge: Medium Skin Tone`},{emoji:`🧑🏾‍⚖️`,title:`Judge: Medium-dark Skin Tone`},{emoji:`🧑🏿‍⚖️`,title:`Judge: Dark Skin Tone`}]},{emoji:`👨‍⚖️`,title:`Man Judge`,skinToneVariants:[{emoji:`👨🏻‍⚖️`,title:`Man Judge: Light Skin Tone`},{emoji:`👨🏼‍⚖️`,title:`Man Judge: Medium-light Skin Tone`},{emoji:`👨🏽‍⚖️`,title:`Man Judge: Medium Skin Tone`},{emoji:`👨🏾‍⚖️`,title:`Man Judge: Medium-dark Skin Tone`},{emoji:`👨🏿‍⚖️`,title:`Man Judge: Dark Skin Tone`}]},{emoji:`👩‍⚖️`,title:`Woman Judge`,skinToneVariants:[{emoji:`👩🏻‍⚖️`,title:`Woman Judge: Light Skin Tone`},{emoji:`👩🏼‍⚖️`,title:`Woman Judge: Medium-light Skin Tone`},{emoji:`👩🏽‍⚖️`,title:`Woman Judge: Medium Skin Tone`},{emoji:`👩🏾‍⚖️`,title:`Woman Judge: Medium-dark Skin Tone`},{emoji:`👩🏿‍⚖️`,title:`Woman Judge: Dark Skin Tone`}]},{emoji:`🧑‍🌾`,title:`Farmer`,skinToneVariants:[{emoji:`🧑🏻‍🌾`,title:`Farmer: Light Skin Tone`},{emoji:`🧑🏼‍🌾`,title:`Farmer: Medium-light Skin Tone`},{emoji:`🧑🏽‍🌾`,title:`Farmer: Medium Skin Tone`},{emoji:`🧑🏾‍🌾`,title:`Farmer: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🌾`,title:`Farmer: Dark Skin Tone`}]},{emoji:`👨‍🌾`,title:`Man Farmer`,skinToneVariants:[{emoji:`👨🏻‍🌾`,title:`Man Farmer: Light Skin Tone`},{emoji:`👨🏼‍🌾`,title:`Man Farmer: Medium-light Skin Tone`},{emoji:`👨🏽‍🌾`,title:`Man Farmer: Medium Skin Tone`},{emoji:`👨🏾‍🌾`,title:`Man Farmer: Medium-dark Skin Tone`},{emoji:`👨🏿‍🌾`,title:`Man Farmer: Dark Skin Tone`}]},{emoji:`👩‍🌾`,title:`Woman Farmer`,skinToneVariants:[{emoji:`👩🏻‍🌾`,title:`Woman Farmer: Light Skin Tone`},{emoji:`👩🏼‍🌾`,title:`Woman Farmer: Medium-light Skin Tone`},{emoji:`👩🏽‍🌾`,title:`Woman Farmer: Medium Skin Tone`},{emoji:`👩🏾‍🌾`,title:`Woman Farmer: Medium-dark Skin Tone`},{emoji:`👩🏿‍🌾`,title:`Woman Farmer: Dark Skin Tone`}]},{emoji:`🧑‍🍳`,title:`Cook`,skinToneVariants:[{emoji:`🧑🏻‍🍳`,title:`Cook: Light Skin Tone`},{emoji:`🧑🏼‍🍳`,title:`Cook: Medium-light Skin Tone`},{emoji:`🧑🏽‍🍳`,title:`Cook: Medium Skin Tone`},{emoji:`🧑🏾‍🍳`,title:`Cook: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🍳`,title:`Cook: Dark Skin Tone`}]},{emoji:`👨‍🍳`,title:`Man Cook`,skinToneVariants:[{emoji:`👨🏻‍🍳`,title:`Man Cook: Light Skin Tone`},{emoji:`👨🏼‍🍳`,title:`Man Cook: Medium-light Skin Tone`},{emoji:`👨🏽‍🍳`,title:`Man Cook: Medium Skin Tone`},{emoji:`👨🏾‍🍳`,title:`Man Cook: Medium-dark Skin Tone`},{emoji:`👨🏿‍🍳`,title:`Man Cook: Dark Skin Tone`}]},{emoji:`👩‍🍳`,title:`Woman Cook`,skinToneVariants:[{emoji:`👩🏻‍🍳`,title:`Woman Cook: Light Skin Tone`},{emoji:`👩🏼‍🍳`,title:`Woman Cook: Medium-light Skin Tone`},{emoji:`👩🏽‍🍳`,title:`Woman Cook: Medium Skin Tone`},{emoji:`👩🏾‍🍳`,title:`Woman Cook: Medium-dark Skin Tone`},{emoji:`👩🏿‍🍳`,title:`Woman Cook: Dark Skin Tone`}]},{emoji:`🧑‍🔧`,title:`Mechanic`,skinToneVariants:[{emoji:`🧑🏻‍🔧`,title:`Mechanic: Light Skin Tone`},{emoji:`🧑🏼‍🔧`,title:`Mechanic: Medium-light Skin Tone`},{emoji:`🧑🏽‍🔧`,title:`Mechanic: Medium Skin Tone`},{emoji:`🧑🏾‍🔧`,title:`Mechanic: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🔧`,title:`Mechanic: Dark Skin Tone`}]},{emoji:`👨‍🔧`,title:`Man Mechanic`,skinToneVariants:[{emoji:`👨🏻‍🔧`,title:`Man Mechanic: Light Skin Tone`},{emoji:`👨🏼‍🔧`,title:`Man Mechanic: Medium-light Skin Tone`},{emoji:`👨🏽‍🔧`,title:`Man Mechanic: Medium Skin Tone`},{emoji:`👨🏾‍🔧`,title:`Man Mechanic: Medium-dark Skin Tone`},{emoji:`👨🏿‍🔧`,title:`Man Mechanic: Dark Skin Tone`}]},{emoji:`👩‍🔧`,title:`Woman Mechanic`,skinToneVariants:[{emoji:`👩🏻‍🔧`,title:`Woman Mechanic: Light Skin Tone`},{emoji:`👩🏼‍🔧`,title:`Woman Mechanic: Medium-light Skin Tone`},{emoji:`👩🏽‍🔧`,title:`Woman Mechanic: Medium Skin Tone`},{emoji:`👩🏾‍🔧`,title:`Woman Mechanic: Medium-dark Skin Tone`},{emoji:`👩🏿‍🔧`,title:`Woman Mechanic: Dark Skin Tone`}]},{emoji:`🧑‍🏭`,title:`Factory Worker`,skinToneVariants:[{emoji:`🧑🏻‍🏭`,title:`Factory Worker: Light Skin Tone`},{emoji:`🧑🏼‍🏭`,title:`Factory Worker: Medium-light Skin Tone`},{emoji:`🧑🏽‍🏭`,title:`Factory Worker: Medium Skin Tone`},{emoji:`🧑🏾‍🏭`,title:`Factory Worker: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🏭`,title:`Factory Worker: Dark Skin Tone`}]},{emoji:`👨‍🏭`,title:`Man Factory Worker`,skinToneVariants:[{emoji:`👨🏻‍🏭`,title:`Man Factory Worker: Light Skin Tone`},{emoji:`👨🏼‍🏭`,title:`Man Factory Worker: Medium-light Skin Tone`},{emoji:`👨🏽‍🏭`,title:`Man Factory Worker: Medium Skin Tone`},{emoji:`👨🏾‍🏭`,title:`Man Factory Worker: Medium-dark Skin Tone`},{emoji:`👨🏿‍🏭`,title:`Man Factory Worker: Dark Skin Tone`}]},{emoji:`👩‍🏭`,title:`Woman Factory Worker`,skinToneVariants:[{emoji:`👩🏻‍🏭`,title:`Woman Factory Worker: Light Skin Tone`},{emoji:`👩🏼‍🏭`,title:`Woman Factory Worker: Medium-light Skin Tone`},{emoji:`👩🏽‍🏭`,title:`Woman Factory Worker: Medium Skin Tone`},{emoji:`👩🏾‍🏭`,title:`Woman Factory Worker: Medium-dark Skin Tone`},{emoji:`👩🏿‍🏭`,title:`Woman Factory Worker: Dark Skin Tone`}]},{emoji:`🧑‍💼`,title:`Office Worker`,skinToneVariants:[{emoji:`🧑🏻‍💼`,title:`Office Worker: Light Skin Tone`},{emoji:`🧑🏼‍💼`,title:`Office Worker: Medium-light Skin Tone`},{emoji:`🧑🏽‍💼`,title:`Office Worker: Medium Skin Tone`},{emoji:`🧑🏾‍💼`,title:`Office Worker: Medium-dark Skin Tone`},{emoji:`🧑🏿‍💼`,title:`Office Worker: Dark Skin Tone`}]},{emoji:`👨‍💼`,title:`Man Office Worker`,skinToneVariants:[{emoji:`👨🏻‍💼`,title:`Man Office Worker: Light Skin Tone`},{emoji:`👨🏼‍💼`,title:`Man Office Worker: Medium-light Skin Tone`},{emoji:`👨🏽‍💼`,title:`Man Office Worker: Medium Skin Tone`},{emoji:`👨🏾‍💼`,title:`Man Office Worker: Medium-dark Skin Tone`},{emoji:`👨🏿‍💼`,title:`Man Office Worker: Dark Skin Tone`}]},{emoji:`👩‍💼`,title:`Woman Office Worker`,skinToneVariants:[{emoji:`👩🏻‍💼`,title:`Woman Office Worker: Light Skin Tone`},{emoji:`👩🏼‍💼`,title:`Woman Office Worker: Medium-light Skin Tone`},{emoji:`👩🏽‍💼`,title:`Woman Office Worker: Medium Skin Tone`},{emoji:`👩🏾‍💼`,title:`Woman Office Worker: Medium-dark Skin Tone`},{emoji:`👩🏿‍💼`,title:`Woman Office Worker: Dark Skin Tone`}]},{emoji:`🧑‍🔬`,title:`Scientist`,skinToneVariants:[{emoji:`🧑🏻‍🔬`,title:`Scientist: Light Skin Tone`},{emoji:`🧑🏼‍🔬`,title:`Scientist: Medium-light Skin Tone`},{emoji:`🧑🏽‍🔬`,title:`Scientist: Medium Skin Tone`},{emoji:`🧑🏾‍🔬`,title:`Scientist: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🔬`,title:`Scientist: Dark Skin Tone`}]},{emoji:`👨‍🔬`,title:`Man Scientist`,skinToneVariants:[{emoji:`👨🏻‍🔬`,title:`Man Scientist: Light Skin Tone`},{emoji:`👨🏼‍🔬`,title:`Man Scientist: Medium-light Skin Tone`},{emoji:`👨🏽‍🔬`,title:`Man Scientist: Medium Skin Tone`},{emoji:`👨🏾‍🔬`,title:`Man Scientist: Medium-dark Skin Tone`},{emoji:`👨🏿‍🔬`,title:`Man Scientist: Dark Skin Tone`}]},{emoji:`👩‍🔬`,title:`Woman Scientist`,skinToneVariants:[{emoji:`👩🏻‍🔬`,title:`Woman Scientist: Light Skin Tone`},{emoji:`👩🏼‍🔬`,title:`Woman Scientist: Medium-light Skin Tone`},{emoji:`👩🏽‍🔬`,title:`Woman Scientist: Medium Skin Tone`},{emoji:`👩🏾‍🔬`,title:`Woman Scientist: Medium-dark Skin Tone`},{emoji:`👩🏿‍🔬`,title:`Woman Scientist: Dark Skin Tone`}]},{emoji:`🧑‍💻`,title:`Technologist`,skinToneVariants:[{emoji:`🧑🏻‍💻`,title:`Technologist: Light Skin Tone`},{emoji:`🧑🏼‍💻`,title:`Technologist: Medium-light Skin Tone`},{emoji:`🧑🏽‍💻`,title:`Technologist: Medium Skin Tone`},{emoji:`🧑🏾‍💻`,title:`Technologist: Medium-dark Skin Tone`},{emoji:`🧑🏿‍💻`,title:`Technologist: Dark Skin Tone`}]},{emoji:`👨‍💻`,title:`Man Technologist`,skinToneVariants:[{emoji:`👨🏻‍💻`,title:`Man Technologist: Light Skin Tone`},{emoji:`👨🏼‍💻`,title:`Man Technologist: Medium-light Skin Tone`},{emoji:`👨🏽‍💻`,title:`Man Technologist: Medium Skin Tone`},{emoji:`👨🏾‍💻`,title:`Man Technologist: Medium-dark Skin Tone`},{emoji:`👨🏿‍💻`,title:`Man Technologist: Dark Skin Tone`}]},{emoji:`👩‍💻`,title:`Woman Technologist`,skinToneVariants:[{emoji:`👩🏻‍💻`,title:`Woman Technologist: Light Skin Tone`},{emoji:`👩🏼‍💻`,title:`Woman Technologist: Medium-light Skin Tone`},{emoji:`👩🏽‍💻`,title:`Woman Technologist: Medium Skin Tone`},{emoji:`👩🏾‍💻`,title:`Woman Technologist: Medium-dark Skin Tone`},{emoji:`👩🏿‍💻`,title:`Woman Technologist: Dark Skin Tone`}]},{emoji:`🧑‍🎤`,title:`Singer`,skinToneVariants:[{emoji:`🧑🏻‍🎤`,title:`Singer: Light Skin Tone`},{emoji:`🧑🏼‍🎤`,title:`Singer: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎤`,title:`Singer: Medium Skin Tone`},{emoji:`🧑🏾‍🎤`,title:`Singer: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎤`,title:`Singer: Dark Skin Tone`}]},{emoji:`👨‍🎤`,title:`Man Singer`,skinToneVariants:[{emoji:`👨🏻‍🎤`,title:`Man Singer: Light Skin Tone`},{emoji:`👨🏼‍🎤`,title:`Man Singer: Medium-light Skin Tone`},{emoji:`👨🏽‍🎤`,title:`Man Singer: Medium Skin Tone`},{emoji:`👨🏾‍🎤`,title:`Man Singer: Medium-dark Skin Tone`},{emoji:`👨🏿‍🎤`,title:`Man Singer: Dark Skin Tone`}]},{emoji:`👩‍🎤`,title:`Woman Singer`,skinToneVariants:[{emoji:`👩🏻‍🎤`,title:`Woman Singer: Light Skin Tone`},{emoji:`👩🏼‍🎤`,title:`Woman Singer: Medium-light Skin Tone`},{emoji:`👩🏽‍🎤`,title:`Woman Singer: Medium Skin Tone`},{emoji:`👩🏾‍🎤`,title:`Woman Singer: Medium-dark Skin Tone`},{emoji:`👩🏿‍🎤`,title:`Woman Singer: Dark Skin Tone`}]},{emoji:`🧑‍🎨`,title:`Artist`,skinToneVariants:[{emoji:`🧑🏻‍🎨`,title:`Artist: Light Skin Tone`},{emoji:`🧑🏼‍🎨`,title:`Artist: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎨`,title:`Artist: Medium Skin Tone`},{emoji:`🧑🏾‍🎨`,title:`Artist: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎨`,title:`Artist: Dark Skin Tone`}]},{emoji:`👨‍🎨`,title:`Man Artist`,skinToneVariants:[{emoji:`👨🏻‍🎨`,title:`Man Artist: Light Skin Tone`},{emoji:`👨🏼‍🎨`,title:`Man Artist: Medium-light Skin Tone`},{emoji:`👨🏽‍🎨`,title:`Man Artist: Medium Skin Tone`},{emoji:`👨🏾‍🎨`,title:`Man Artist: Medium-dark Skin Tone`},{emoji:`👨🏿‍🎨`,title:`Man Artist: Dark Skin Tone`}]},{emoji:`👩‍🎨`,title:`Woman Artist`,skinToneVariants:[{emoji:`👩🏻‍🎨`,title:`Woman Artist: Light Skin Tone`},{emoji:`👩🏼‍🎨`,title:`Woman Artist: Medium-light Skin Tone`},{emoji:`👩🏽‍🎨`,title:`Woman Artist: Medium Skin Tone`},{emoji:`👩🏾‍🎨`,title:`Woman Artist: Medium-dark Skin Tone`},{emoji:`👩🏿‍🎨`,title:`Woman Artist: Dark Skin Tone`}]},{emoji:`🧑‍✈️`,title:`Pilot`,skinToneVariants:[{emoji:`🧑🏻‍✈️`,title:`Pilot: Light Skin Tone`},{emoji:`🧑🏼‍✈️`,title:`Pilot: Medium-light Skin Tone`},{emoji:`🧑🏽‍✈️`,title:`Pilot: Medium Skin Tone`},{emoji:`🧑🏾‍✈️`,title:`Pilot: Medium-dark Skin Tone`},{emoji:`🧑🏿‍✈️`,title:`Pilot: Dark Skin Tone`}]},{emoji:`👨‍✈️`,title:`Man Pilot`,skinToneVariants:[{emoji:`👨🏻‍✈️`,title:`Man Pilot: Light Skin Tone`},{emoji:`👨🏼‍✈️`,title:`Man Pilot: Medium-light Skin Tone`},{emoji:`👨🏽‍✈️`,title:`Man Pilot: Medium Skin Tone`},{emoji:`👨🏾‍✈️`,title:`Man Pilot: Medium-dark Skin Tone`},{emoji:`👨🏿‍✈️`,title:`Man Pilot: Dark Skin Tone`}]},{emoji:`👩‍✈️`,title:`Woman Pilot`,skinToneVariants:[{emoji:`👩🏻‍✈️`,title:`Woman Pilot: Light Skin Tone`},{emoji:`👩🏼‍✈️`,title:`Woman Pilot: Medium-light Skin Tone`},{emoji:`👩🏽‍✈️`,title:`Woman Pilot: Medium Skin Tone`},{emoji:`👩🏾‍✈️`,title:`Woman Pilot: Medium-dark Skin Tone`},{emoji:`👩🏿‍✈️`,title:`Woman Pilot: Dark Skin Tone`}]},{emoji:`🧑‍🚀`,title:`Astronaut`,skinToneVariants:[{emoji:`🧑🏻‍🚀`,title:`Astronaut: Light Skin Tone`},{emoji:`🧑🏼‍🚀`,title:`Astronaut: Medium-light Skin Tone`},{emoji:`🧑🏽‍🚀`,title:`Astronaut: Medium Skin Tone`},{emoji:`🧑🏾‍🚀`,title:`Astronaut: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🚀`,title:`Astronaut: Dark Skin Tone`}]},{emoji:`👨‍🚀`,title:`Man Astronaut`,skinToneVariants:[{emoji:`👨🏻‍🚀`,title:`Man Astronaut: Light Skin Tone`},{emoji:`👨🏼‍🚀`,title:`Man Astronaut: Medium-light Skin Tone`},{emoji:`👨🏽‍🚀`,title:`Man Astronaut: Medium Skin Tone`},{emoji:`👨🏾‍🚀`,title:`Man Astronaut: Medium-dark Skin Tone`},{emoji:`👨🏿‍🚀`,title:`Man Astronaut: Dark Skin Tone`}]},{emoji:`👩‍🚀`,title:`Woman Astronaut`,skinToneVariants:[{emoji:`👩🏻‍🚀`,title:`Woman Astronaut: Light Skin Tone`},{emoji:`👩🏼‍🚀`,title:`Woman Astronaut: Medium-light Skin Tone`},{emoji:`👩🏽‍🚀`,title:`Woman Astronaut: Medium Skin Tone`},{emoji:`👩🏾‍🚀`,title:`Woman Astronaut: Medium-dark Skin Tone`},{emoji:`👩🏿‍🚀`,title:`Woman Astronaut: Dark Skin Tone`}]},{emoji:`🧑‍🚒`,title:`Firefighter`,skinToneVariants:[{emoji:`🧑🏻‍🚒`,title:`Firefighter: Light Skin Tone`},{emoji:`🧑🏼‍🚒`,title:`Firefighter: Medium-light Skin Tone`},{emoji:`🧑🏽‍🚒`,title:`Firefighter: Medium Skin Tone`},{emoji:`🧑🏾‍🚒`,title:`Firefighter: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🚒`,title:`Firefighter: Dark Skin Tone`}]},{emoji:`👨‍🚒`,title:`Man Firefighter`,skinToneVariants:[{emoji:`👨🏻‍🚒`,title:`Man Firefighter: Light Skin Tone`},{emoji:`👨🏼‍🚒`,title:`Man Firefighter: Medium-light Skin Tone`},{emoji:`👨🏽‍🚒`,title:`Man Firefighter: Medium Skin Tone`},{emoji:`👨🏾‍🚒`,title:`Man Firefighter: Medium-dark Skin Tone`},{emoji:`👨🏿‍🚒`,title:`Man Firefighter: Dark Skin Tone`}]},{emoji:`👩‍🚒`,title:`Woman Firefighter`,skinToneVariants:[{emoji:`👩🏻‍🚒`,title:`Woman Firefighter: Light Skin Tone`},{emoji:`👩🏼‍🚒`,title:`Woman Firefighter: Medium-light Skin Tone`},{emoji:`👩🏽‍🚒`,title:`Woman Firefighter: Medium Skin Tone`},{emoji:`👩🏾‍🚒`,title:`Woman Firefighter: Medium-dark Skin Tone`},{emoji:`👩🏿‍🚒`,title:`Woman Firefighter: Dark Skin Tone`}]},{emoji:`👮`,title:`Police Officer`,skinToneVariants:[{emoji:`👮🏻`,title:`Police Officer: Light Skin Tone`},{emoji:`👮🏼`,title:`Police Officer: Medium-light Skin Tone`},{emoji:`👮🏽`,title:`Police Officer: Medium Skin Tone`},{emoji:`👮🏾`,title:`Police Officer: Medium-dark Skin Tone`},{emoji:`👮🏿`,title:`Police Officer: Dark Skin Tone`}]},{emoji:`👮‍♂️`,title:`Man Police Officer`,skinToneVariants:[{emoji:`👮🏻‍♂️`,title:`Man Police Officer: Light Skin Tone`},{emoji:`👮🏼‍♂️`,title:`Man Police Officer: Medium-light Skin Tone`},{emoji:`👮🏽‍♂️`,title:`Man Police Officer: Medium Skin Tone`},{emoji:`👮🏾‍♂️`,title:`Man Police Officer: Medium-dark Skin Tone`},{emoji:`👮🏿‍♂️`,title:`Man Police Officer: Dark Skin Tone`}]},{emoji:`👮‍♀️`,title:`Woman Police Officer`,skinToneVariants:[{emoji:`👮🏻‍♀️`,title:`Woman Police Officer: Light Skin Tone`},{emoji:`👮🏼‍♀️`,title:`Woman Police Officer: Medium-light Skin Tone`},{emoji:`👮🏽‍♀️`,title:`Woman Police Officer: Medium Skin Tone`},{emoji:`👮🏾‍♀️`,title:`Woman Police Officer: Medium-dark Skin Tone`},{emoji:`👮🏿‍♀️`,title:`Woman Police Officer: Dark Skin Tone`}]},{emoji:`🕵️`,title:`Detective`,skinToneVariants:[{emoji:`🕵🏻`,title:`Detective: Light Skin Tone`},{emoji:`🕵🏼`,title:`Detective: Medium-light Skin Tone`},{emoji:`🕵🏽`,title:`Detective: Medium Skin Tone`},{emoji:`🕵🏾`,title:`Detective: Medium-dark Skin Tone`},{emoji:`🕵🏿`,title:`Detective: Dark Skin Tone`}]},{emoji:`🕵️‍♂️`,title:`Man Detective`,skinToneVariants:[{emoji:`🕵🏻‍♂️`,title:`Man Detective: Light Skin Tone`},{emoji:`🕵🏼‍♂️`,title:`Man Detective: Medium-light Skin Tone`},{emoji:`🕵🏽‍♂️`,title:`Man Detective: Medium Skin Tone`},{emoji:`🕵🏾‍♂️`,title:`Man Detective: Medium-dark Skin Tone`},{emoji:`🕵🏿‍♂️`,title:`Man Detective: Dark Skin Tone`}]},{emoji:`🕵️‍♀️`,title:`Woman Detective`,skinToneVariants:[{emoji:`🕵🏻‍♀️`,title:`Woman Detective: Light Skin Tone`},{emoji:`🕵🏼‍♀️`,title:`Woman Detective: Medium-light Skin Tone`},{emoji:`🕵🏽‍♀️`,title:`Woman Detective: Medium Skin Tone`},{emoji:`🕵🏾‍♀️`,title:`Woman Detective: Medium-dark Skin Tone`},{emoji:`🕵🏿‍♀️`,title:`Woman Detective: Dark Skin Tone`}]},{emoji:`💂`,title:`Guard`,skinToneVariants:[{emoji:`💂🏻`,title:`Guard: Light Skin Tone`},{emoji:`💂🏼`,title:`Guard: Medium-light Skin Tone`},{emoji:`💂🏽`,title:`Guard: Medium Skin Tone`},{emoji:`💂🏾`,title:`Guard: Medium-dark Skin Tone`},{emoji:`💂🏿`,title:`Guard: Dark Skin Tone`}]},{emoji:`💂‍♂️`,title:`Man Guard`,skinToneVariants:[{emoji:`💂🏻‍♂️`,title:`Man Guard: Light Skin Tone`},{emoji:`💂🏼‍♂️`,title:`Man Guard: Medium-light Skin Tone`},{emoji:`💂🏽‍♂️`,title:`Man Guard: Medium Skin Tone`},{emoji:`💂🏾‍♂️`,title:`Man Guard: Medium-dark Skin Tone`},{emoji:`💂🏿‍♂️`,title:`Man Guard: Dark Skin Tone`}]},{emoji:`💂‍♀️`,title:`Woman Guard`,skinToneVariants:[{emoji:`💂🏻‍♀️`,title:`Woman Guard: Light Skin Tone`},{emoji:`💂🏼‍♀️`,title:`Woman Guard: Medium-light Skin Tone`},{emoji:`💂🏽‍♀️`,title:`Woman Guard: Medium Skin Tone`},{emoji:`💂🏾‍♀️`,title:`Woman Guard: Medium-dark Skin Tone`},{emoji:`💂🏿‍♀️`,title:`Woman Guard: Dark Skin Tone`}]},{emoji:`🥷`,title:`Ninja`,skinToneVariants:[{emoji:`🥷🏻`,title:`Ninja: Light Skin Tone`},{emoji:`🥷🏼`,title:`Ninja: Medium-light Skin Tone`},{emoji:`🥷🏽`,title:`Ninja: Medium Skin Tone`},{emoji:`🥷🏾`,title:`Ninja: Medium-dark Skin Tone`},{emoji:`🥷🏿`,title:`Ninja: Dark Skin Tone`}]},{emoji:`👷`,title:`Construction Worker`,skinToneVariants:[{emoji:`👷🏻`,title:`Construction Worker: Light Skin Tone`},{emoji:`👷🏼`,title:`Construction Worker: Medium-light Skin Tone`},{emoji:`👷🏽`,title:`Construction Worker: Medium Skin Tone`},{emoji:`👷🏾`,title:`Construction Worker: Medium-dark Skin Tone`},{emoji:`👷🏿`,title:`Construction Worker: Dark Skin Tone`}]},{emoji:`👷‍♂️`,title:`Man Construction Worker`,skinToneVariants:[{emoji:`👷🏻‍♂️`,title:`Man Construction Worker: Light Skin Tone`},{emoji:`👷🏼‍♂️`,title:`Man Construction Worker: Medium-light Skin Tone`},{emoji:`👷🏽‍♂️`,title:`Man Construction Worker: Medium Skin Tone`},{emoji:`👷🏾‍♂️`,title:`Man Construction Worker: Medium-dark Skin Tone`},{emoji:`👷🏿‍♂️`,title:`Man Construction Worker: Dark Skin Tone`}]},{emoji:`👷‍♀️`,title:`Woman Construction Worker`,skinToneVariants:[{emoji:`👷🏻‍♀️`,title:`Woman Construction Worker: Light Skin Tone`},{emoji:`👷🏼‍♀️`,title:`Woman Construction Worker: Medium-light Skin Tone`},{emoji:`👷🏽‍♀️`,title:`Woman Construction Worker: Medium Skin Tone`},{emoji:`👷🏾‍♀️`,title:`Woman Construction Worker: Medium-dark Skin Tone`},{emoji:`👷🏿‍♀️`,title:`Woman Construction Worker: Dark Skin Tone`}]},{emoji:`🫅`,title:`Person With Crown`,skinToneVariants:[{emoji:`🫅🏻`,title:`Person With Crown: Light Skin Tone`},{emoji:`🫅🏼`,title:`Person With Crown: Medium-light Skin Tone`},{emoji:`🫅🏽`,title:`Person With Crown: Medium Skin Tone`},{emoji:`🫅🏾`,title:`Person With Crown: Medium-dark Skin Tone`},{emoji:`🫅🏿`,title:`Person With Crown: Dark Skin Tone`}]},{emoji:`🤴`,title:`Prince`,skinToneVariants:[{emoji:`🤴🏻`,title:`Prince: Light Skin Tone`},{emoji:`🤴🏼`,title:`Prince: Medium-light Skin Tone`},{emoji:`🤴🏽`,title:`Prince: Medium Skin Tone`},{emoji:`🤴🏾`,title:`Prince: Medium-dark Skin Tone`},{emoji:`🤴🏿`,title:`Prince: Dark Skin Tone`}]},{emoji:`👸`,title:`Princess`,skinToneVariants:[{emoji:`👸🏻`,title:`Princess: Light Skin Tone`},{emoji:`👸🏼`,title:`Princess: Medium-light Skin Tone`},{emoji:`👸🏽`,title:`Princess: Medium Skin Tone`},{emoji:`👸🏾`,title:`Princess: Medium-dark Skin Tone`},{emoji:`👸🏿`,title:`Princess: Dark Skin Tone`}]},{emoji:`👳`,title:`Person Wearing Turban`,skinToneVariants:[{emoji:`👳🏻`,title:`Person Wearing Turban: Light Skin Tone`},{emoji:`👳🏼`,title:`Person Wearing Turban: Medium-light Skin Tone`},{emoji:`👳🏽`,title:`Person Wearing Turban: Medium Skin Tone`},{emoji:`👳🏾`,title:`Person Wearing Turban: Medium-dark Skin Tone`},{emoji:`👳🏿`,title:`Person Wearing Turban: Dark Skin Tone`}]},{emoji:`👳‍♂️`,title:`Man Wearing Turban`,skinToneVariants:[{emoji:`👳🏻‍♂️`,title:`Man Wearing Turban: Light Skin Tone`},{emoji:`👳🏼‍♂️`,title:`Man Wearing Turban: Medium-light Skin Tone`},{emoji:`👳🏽‍♂️`,title:`Man Wearing Turban: Medium Skin Tone`},{emoji:`👳🏾‍♂️`,title:`Man Wearing Turban: Medium-dark Skin Tone`},{emoji:`👳🏿‍♂️`,title:`Man Wearing Turban: Dark Skin Tone`}]},{emoji:`👳‍♀️`,title:`Woman Wearing Turban`,skinToneVariants:[{emoji:`👳🏻‍♀️`,title:`Woman Wearing Turban: Light Skin Tone`},{emoji:`👳🏼‍♀️`,title:`Woman Wearing Turban: Medium-light Skin Tone`},{emoji:`👳🏽‍♀️`,title:`Woman Wearing Turban: Medium Skin Tone`},{emoji:`👳🏾‍♀️`,title:`Woman Wearing Turban: Medium-dark Skin Tone`},{emoji:`👳🏿‍♀️`,title:`Woman Wearing Turban: Dark Skin Tone`}]},{emoji:`👲`,title:`Person With Skullcap`,skinToneVariants:[{emoji:`👲🏻`,title:`Person With Skullcap: Light Skin Tone`},{emoji:`👲🏼`,title:`Person With Skullcap: Medium-light Skin Tone`},{emoji:`👲🏽`,title:`Person With Skullcap: Medium Skin Tone`},{emoji:`👲🏾`,title:`Person With Skullcap: Medium-dark Skin Tone`},{emoji:`👲🏿`,title:`Person With Skullcap: Dark Skin Tone`}]},{emoji:`🧕`,title:`Woman With Headscarf`,skinToneVariants:[{emoji:`🧕🏻`,title:`Woman With Headscarf: Light Skin Tone`},{emoji:`🧕🏼`,title:`Woman With Headscarf: Medium-light Skin Tone`},{emoji:`🧕🏽`,title:`Woman With Headscarf: Medium Skin Tone`},{emoji:`🧕🏾`,title:`Woman With Headscarf: Medium-dark Skin Tone`},{emoji:`🧕🏿`,title:`Woman With Headscarf: Dark Skin Tone`}]},{emoji:`🤵`,title:`Person In Tuxedo`,skinToneVariants:[{emoji:`🤵🏻`,title:`Person In Tuxedo: Light Skin Tone`},{emoji:`🤵🏼`,title:`Person In Tuxedo: Medium-light Skin Tone`},{emoji:`🤵🏽`,title:`Person In Tuxedo: Medium Skin Tone`},{emoji:`🤵🏾`,title:`Person In Tuxedo: Medium-dark Skin Tone`},{emoji:`🤵🏿`,title:`Person In Tuxedo: Dark Skin Tone`}]},{emoji:`🤵‍♂️`,title:`Man In Tuxedo`,skinToneVariants:[{emoji:`🤵🏻‍♂️`,title:`Man In Tuxedo: Light Skin Tone`},{emoji:`🤵🏼‍♂️`,title:`Man In Tuxedo: Medium-light Skin Tone`},{emoji:`🤵🏽‍♂️`,title:`Man In Tuxedo: Medium Skin Tone`},{emoji:`🤵🏾‍♂️`,title:`Man In Tuxedo: Medium-dark Skin Tone`},{emoji:`🤵🏿‍♂️`,title:`Man In Tuxedo: Dark Skin Tone`}]},{emoji:`🤵‍♀️`,title:`Woman In Tuxedo`,skinToneVariants:[{emoji:`🤵🏻‍♀️`,title:`Woman In Tuxedo: Light Skin Tone`},{emoji:`🤵🏼‍♀️`,title:`Woman In Tuxedo: Medium-light Skin Tone`},{emoji:`🤵🏽‍♀️`,title:`Woman In Tuxedo: Medium Skin Tone`},{emoji:`🤵🏾‍♀️`,title:`Woman In Tuxedo: Medium-dark Skin Tone`},{emoji:`🤵🏿‍♀️`,title:`Woman In Tuxedo: Dark Skin Tone`}]},{emoji:`👰`,title:`Person With Veil`,skinToneVariants:[{emoji:`👰🏻`,title:`Person With Veil: Light Skin Tone`},{emoji:`👰🏼`,title:`Person With Veil: Medium-light Skin Tone`},{emoji:`👰🏽`,title:`Person With Veil: Medium Skin Tone`},{emoji:`👰🏾`,title:`Person With Veil: Medium-dark Skin Tone`},{emoji:`👰🏿`,title:`Person With Veil: Dark Skin Tone`}]},{emoji:`👰‍♂️`,title:`Man With Veil`,skinToneVariants:[{emoji:`👰🏻‍♂️`,title:`Man With Veil: Light Skin Tone`},{emoji:`👰🏼‍♂️`,title:`Man With Veil: Medium-light Skin Tone`},{emoji:`👰🏽‍♂️`,title:`Man With Veil: Medium Skin Tone`},{emoji:`👰🏾‍♂️`,title:`Man With Veil: Medium-dark Skin Tone`},{emoji:`👰🏿‍♂️`,title:`Man With Veil: Dark Skin Tone`}]},{emoji:`👰‍♀️`,title:`Woman With Veil`,skinToneVariants:[{emoji:`👰🏻‍♀️`,title:`Woman With Veil: Light Skin Tone`},{emoji:`👰🏼‍♀️`,title:`Woman With Veil: Medium-light Skin Tone`},{emoji:`👰🏽‍♀️`,title:`Woman With Veil: Medium Skin Tone`},{emoji:`👰🏾‍♀️`,title:`Woman With Veil: Medium-dark Skin Tone`},{emoji:`👰🏿‍♀️`,title:`Woman With Veil: Dark Skin Tone`}]},{emoji:`🤰`,title:`Pregnant Woman`,skinToneVariants:[{emoji:`🤰🏻`,title:`Pregnant Woman: Light Skin Tone`},{emoji:`🤰🏼`,title:`Pregnant Woman: Medium-light Skin Tone`},{emoji:`🤰🏽`,title:`Pregnant Woman: Medium Skin Tone`},{emoji:`🤰🏾`,title:`Pregnant Woman: Medium-dark Skin Tone`},{emoji:`🤰🏿`,title:`Pregnant Woman: Dark Skin Tone`}]},{emoji:`🫃`,title:`Pregnant Man`,skinToneVariants:[{emoji:`🫃🏻`,title:`Pregnant Man: Light Skin Tone`},{emoji:`🫃🏼`,title:`Pregnant Man: Medium-light Skin Tone`},{emoji:`🫃🏽`,title:`Pregnant Man: Medium Skin Tone`},{emoji:`🫃🏾`,title:`Pregnant Man: Medium-dark Skin Tone`},{emoji:`🫃🏿`,title:`Pregnant Man: Dark Skin Tone`}]},{emoji:`🫄`,title:`Pregnant Person`,skinToneVariants:[{emoji:`🫄🏻`,title:`Pregnant Person: Light Skin Tone`},{emoji:`🫄🏼`,title:`Pregnant Person: Medium-light Skin Tone`},{emoji:`🫄🏽`,title:`Pregnant Person: Medium Skin Tone`},{emoji:`🫄🏾`,title:`Pregnant Person: Medium-dark Skin Tone`},{emoji:`🫄🏿`,title:`Pregnant Person: Dark Skin Tone`}]},{emoji:`🤱`,title:`Breast-feeding`,skinToneVariants:[{emoji:`🤱🏻`,title:`Breast-feeding: Light Skin Tone`},{emoji:`🤱🏼`,title:`Breast-feeding: Medium-light Skin Tone`},{emoji:`🤱🏽`,title:`Breast-feeding: Medium Skin Tone`},{emoji:`🤱🏾`,title:`Breast-feeding: Medium-dark Skin Tone`},{emoji:`🤱🏿`,title:`Breast-feeding: Dark Skin Tone`}]},{emoji:`👩‍🍼`,title:`Woman Feeding Baby`,skinToneVariants:[{emoji:`👩🏻‍🍼`,title:`Woman Feeding Baby: Light Skin Tone`},{emoji:`👩🏼‍🍼`,title:`Woman Feeding Baby: Medium-light Skin Tone`},{emoji:`👩🏽‍🍼`,title:`Woman Feeding Baby: Medium Skin Tone`},{emoji:`👩🏾‍🍼`,title:`Woman Feeding Baby: Medium-dark Skin Tone`},{emoji:`👩🏿‍🍼`,title:`Woman Feeding Baby: Dark Skin Tone`}]},{emoji:`👨‍🍼`,title:`Man Feeding Baby`,skinToneVariants:[{emoji:`👨🏻‍🍼`,title:`Man Feeding Baby: Light Skin Tone`},{emoji:`👨🏼‍🍼`,title:`Man Feeding Baby: Medium-light Skin Tone`},{emoji:`👨🏽‍🍼`,title:`Man Feeding Baby: Medium Skin Tone`},{emoji:`👨🏾‍🍼`,title:`Man Feeding Baby: Medium-dark Skin Tone`},{emoji:`👨🏿‍🍼`,title:`Man Feeding Baby: Dark Skin Tone`}]},{emoji:`🧑‍🍼`,title:`Person Feeding Baby`,skinToneVariants:[{emoji:`🧑🏻‍🍼`,title:`Person Feeding Baby: Light Skin Tone`},{emoji:`🧑🏼‍🍼`,title:`Person Feeding Baby: Medium-light Skin Tone`},{emoji:`🧑🏽‍🍼`,title:`Person Feeding Baby: Medium Skin Tone`},{emoji:`🧑🏾‍🍼`,title:`Person Feeding Baby: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🍼`,title:`Person Feeding Baby: Dark Skin Tone`}]},{emoji:`👼`,title:`Baby Angel`,skinToneVariants:[{emoji:`👼🏻`,title:`Baby Angel: Light Skin Tone`},{emoji:`👼🏼`,title:`Baby Angel: Medium-light Skin Tone`},{emoji:`👼🏽`,title:`Baby Angel: Medium Skin Tone`},{emoji:`👼🏾`,title:`Baby Angel: Medium-dark Skin Tone`},{emoji:`👼🏿`,title:`Baby Angel: Dark Skin Tone`}]},{emoji:`🎅`,title:`Santa Claus`,skinToneVariants:[{emoji:`🎅🏻`,title:`Santa Claus: Light Skin Tone`},{emoji:`🎅🏼`,title:`Santa Claus: Medium-light Skin Tone`},{emoji:`🎅🏽`,title:`Santa Claus: Medium Skin Tone`},{emoji:`🎅🏾`,title:`Santa Claus: Medium-dark Skin Tone`},{emoji:`🎅🏿`,title:`Santa Claus: Dark Skin Tone`}]},{emoji:`🤶`,title:`Mrs. Claus`,skinToneVariants:[{emoji:`🤶🏻`,title:`Mrs. Claus: Light Skin Tone`},{emoji:`🤶🏼`,title:`Mrs. Claus: Medium-light Skin Tone`},{emoji:`🤶🏽`,title:`Mrs. Claus: Medium Skin Tone`},{emoji:`🤶🏾`,title:`Mrs. Claus: Medium-dark Skin Tone`},{emoji:`🤶🏿`,title:`Mrs. Claus: Dark Skin Tone`}]},{emoji:`🧑‍🎄`,title:`Mx Claus`,skinToneVariants:[{emoji:`🧑🏻‍🎄`,title:`Mx Claus: Light Skin Tone`},{emoji:`🧑🏼‍🎄`,title:`Mx Claus: Medium-light Skin Tone`},{emoji:`🧑🏽‍🎄`,title:`Mx Claus: Medium Skin Tone`},{emoji:`🧑🏾‍🎄`,title:`Mx Claus: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🎄`,title:`Mx Claus: Dark Skin Tone`}]},{emoji:`🦸`,title:`Superhero`,skinToneVariants:[{emoji:`🦸🏻`,title:`Superhero: Light Skin Tone`},{emoji:`🦸🏼`,title:`Superhero: Medium-light Skin Tone`},{emoji:`🦸🏽`,title:`Superhero: Medium Skin Tone`},{emoji:`🦸🏾`,title:`Superhero: Medium-dark Skin Tone`},{emoji:`🦸🏿`,title:`Superhero: Dark Skin Tone`}]},{emoji:`🦸‍♂️`,title:`Man Superhero`,skinToneVariants:[{emoji:`🦸🏻‍♂️`,title:`Man Superhero: Light Skin Tone`},{emoji:`🦸🏼‍♂️`,title:`Man Superhero: Medium-light Skin Tone`},{emoji:`🦸🏽‍♂️`,title:`Man Superhero: Medium Skin Tone`},{emoji:`🦸🏾‍♂️`,title:`Man Superhero: Medium-dark Skin Tone`},{emoji:`🦸🏿‍♂️`,title:`Man Superhero: Dark Skin Tone`}]},{emoji:`🦸‍♀️`,title:`Woman Superhero`,skinToneVariants:[{emoji:`🦸🏻‍♀️`,title:`Woman Superhero: Light Skin Tone`},{emoji:`🦸🏼‍♀️`,title:`Woman Superhero: Medium-light Skin Tone`},{emoji:`🦸🏽‍♀️`,title:`Woman Superhero: Medium Skin Tone`},{emoji:`🦸🏾‍♀️`,title:`Woman Superhero: Medium-dark Skin Tone`},{emoji:`🦸🏿‍♀️`,title:`Woman Superhero: Dark Skin Tone`}]},{emoji:`🦹`,title:`Supervillain`,skinToneVariants:[{emoji:`🦹🏻`,title:`Supervillain: Light Skin Tone`},{emoji:`🦹🏼`,title:`Supervillain: Medium-light Skin Tone`},{emoji:`🦹🏽`,title:`Supervillain: Medium Skin Tone`},{emoji:`🦹🏾`,title:`Supervillain: Medium-dark Skin Tone`},{emoji:`🦹🏿`,title:`Supervillain: Dark Skin Tone`}]},{emoji:`🦹‍♂️`,title:`Man Supervillain`,skinToneVariants:[{emoji:`🦹🏻‍♂️`,title:`Man Supervillain: Light Skin Tone`},{emoji:`🦹🏼‍♂️`,title:`Man Supervillain: Medium-light Skin Tone`},{emoji:`🦹🏽‍♂️`,title:`Man Supervillain: Medium Skin Tone`},{emoji:`🦹🏾‍♂️`,title:`Man Supervillain: Medium-dark Skin Tone`},{emoji:`🦹🏿‍♂️`,title:`Man Supervillain: Dark Skin Tone`}]},{emoji:`🦹‍♀️`,title:`Woman Supervillain`,skinToneVariants:[{emoji:`🦹🏻‍♀️`,title:`Woman Supervillain: Light Skin Tone`},{emoji:`🦹🏼‍♀️`,title:`Woman Supervillain: Medium-light Skin Tone`},{emoji:`🦹🏽‍♀️`,title:`Woman Supervillain: Medium Skin Tone`},{emoji:`🦹🏾‍♀️`,title:`Woman Supervillain: Medium-dark Skin Tone`},{emoji:`🦹🏿‍♀️`,title:`Woman Supervillain: Dark Skin Tone`}]},{emoji:`🧙`,title:`Mage`,skinToneVariants:[{emoji:`🧙🏻`,title:`Mage: Light Skin Tone`},{emoji:`🧙🏼`,title:`Mage: Medium-light Skin Tone`},{emoji:`🧙🏽`,title:`Mage: Medium Skin Tone`},{emoji:`🧙🏾`,title:`Mage: Medium-dark Skin Tone`},{emoji:`🧙🏿`,title:`Mage: Dark Skin Tone`}]},{emoji:`🧙‍♂️`,title:`Man Mage`,skinToneVariants:[{emoji:`🧙🏻‍♂️`,title:`Man Mage: Light Skin Tone`},{emoji:`🧙🏼‍♂️`,title:`Man Mage: Medium-light Skin Tone`},{emoji:`🧙🏽‍♂️`,title:`Man Mage: Medium Skin Tone`},{emoji:`🧙🏾‍♂️`,title:`Man Mage: Medium-dark Skin Tone`},{emoji:`🧙🏿‍♂️`,title:`Man Mage: Dark Skin Tone`}]},{emoji:`🧙‍♀️`,title:`Woman Mage`,skinToneVariants:[{emoji:`🧙🏻‍♀️`,title:`Woman Mage: Light Skin Tone`},{emoji:`🧙🏼‍♀️`,title:`Woman Mage: Medium-light Skin Tone`},{emoji:`🧙🏽‍♀️`,title:`Woman Mage: Medium Skin Tone`},{emoji:`🧙🏾‍♀️`,title:`Woman Mage: Medium-dark Skin Tone`},{emoji:`🧙🏿‍♀️`,title:`Woman Mage: Dark Skin Tone`}]},{emoji:`🧚`,title:`Fairy`,skinToneVariants:[{emoji:`🧚🏻`,title:`Fairy: Light Skin Tone`},{emoji:`🧚🏼`,title:`Fairy: Medium-light Skin Tone`},{emoji:`🧚🏽`,title:`Fairy: Medium Skin Tone`},{emoji:`🧚🏾`,title:`Fairy: Medium-dark Skin Tone`},{emoji:`🧚🏿`,title:`Fairy: Dark Skin Tone`}]},{emoji:`🧚‍♂️`,title:`Man Fairy`,skinToneVariants:[{emoji:`🧚🏻‍♂️`,title:`Man Fairy: Light Skin Tone`},{emoji:`🧚🏼‍♂️`,title:`Man Fairy: Medium-light Skin Tone`},{emoji:`🧚🏽‍♂️`,title:`Man Fairy: Medium Skin Tone`},{emoji:`🧚🏾‍♂️`,title:`Man Fairy: Medium-dark Skin Tone`},{emoji:`🧚🏿‍♂️`,title:`Man Fairy: Dark Skin Tone`}]},{emoji:`🧚‍♀️`,title:`Woman Fairy`,skinToneVariants:[{emoji:`🧚🏻‍♀️`,title:`Woman Fairy: Light Skin Tone`},{emoji:`🧚🏼‍♀️`,title:`Woman Fairy: Medium-light Skin Tone`},{emoji:`🧚🏽‍♀️`,title:`Woman Fairy: Medium Skin Tone`},{emoji:`🧚🏾‍♀️`,title:`Woman Fairy: Medium-dark Skin Tone`},{emoji:`🧚🏿‍♀️`,title:`Woman Fairy: Dark Skin Tone`}]},{emoji:`🧛`,title:`Vampire`,skinToneVariants:[{emoji:`🧛🏻`,title:`Vampire: Light Skin Tone`},{emoji:`🧛🏼`,title:`Vampire: Medium-light Skin Tone`},{emoji:`🧛🏽`,title:`Vampire: Medium Skin Tone`},{emoji:`🧛🏾`,title:`Vampire: Medium-dark Skin Tone`},{emoji:`🧛🏿`,title:`Vampire: Dark Skin Tone`}]},{emoji:`🧛‍♂️`,title:`Man Vampire`,skinToneVariants:[{emoji:`🧛🏻‍♂️`,title:`Man Vampire: Light Skin Tone`},{emoji:`🧛🏼‍♂️`,title:`Man Vampire: Medium-light Skin Tone`},{emoji:`🧛🏽‍♂️`,title:`Man Vampire: Medium Skin Tone`},{emoji:`🧛🏾‍♂️`,title:`Man Vampire: Medium-dark Skin Tone`},{emoji:`🧛🏿‍♂️`,title:`Man Vampire: Dark Skin Tone`}]},{emoji:`🧛‍♀️`,title:`Woman Vampire`,skinToneVariants:[{emoji:`🧛🏻‍♀️`,title:`Woman Vampire: Light Skin Tone`},{emoji:`🧛🏼‍♀️`,title:`Woman Vampire: Medium-light Skin Tone`},{emoji:`🧛🏽‍♀️`,title:`Woman Vampire: Medium Skin Tone`},{emoji:`🧛🏾‍♀️`,title:`Woman Vampire: Medium-dark Skin Tone`},{emoji:`🧛🏿‍♀️`,title:`Woman Vampire: Dark Skin Tone`}]},{emoji:`🧜`,title:`Merperson`,skinToneVariants:[{emoji:`🧜🏻`,title:`Merperson: Light Skin Tone`},{emoji:`🧜🏼`,title:`Merperson: Medium-light Skin Tone`},{emoji:`🧜🏽`,title:`Merperson: Medium Skin Tone`},{emoji:`🧜🏾`,title:`Merperson: Medium-dark Skin Tone`},{emoji:`🧜🏿`,title:`Merperson: Dark Skin Tone`}]},{emoji:`🧜‍♂️`,title:`Merman`,skinToneVariants:[{emoji:`🧜🏻‍♂️`,title:`Merman: Light Skin Tone`},{emoji:`🧜🏼‍♂️`,title:`Merman: Medium-light Skin Tone`},{emoji:`🧜🏽‍♂️`,title:`Merman: Medium Skin Tone`},{emoji:`🧜🏾‍♂️`,title:`Merman: Medium-dark Skin Tone`},{emoji:`🧜🏿‍♂️`,title:`Merman: Dark Skin Tone`}]},{emoji:`🧜‍♀️`,title:`Mermaid`,skinToneVariants:[{emoji:`🧜🏻‍♀️`,title:`Mermaid: Light Skin Tone`},{emoji:`🧜🏼‍♀️`,title:`Mermaid: Medium-light Skin Tone`},{emoji:`🧜🏽‍♀️`,title:`Mermaid: Medium Skin Tone`},{emoji:`🧜🏾‍♀️`,title:`Mermaid: Medium-dark Skin Tone`},{emoji:`🧜🏿‍♀️`,title:`Mermaid: Dark Skin Tone`}]},{emoji:`🧝`,title:`Elf`,skinToneVariants:[{emoji:`🧝🏻`,title:`Elf: Light Skin Tone`},{emoji:`🧝🏼`,title:`Elf: Medium-light Skin Tone`},{emoji:`🧝🏽`,title:`Elf: Medium Skin Tone`},{emoji:`🧝🏾`,title:`Elf: Medium-dark Skin Tone`},{emoji:`🧝🏿`,title:`Elf: Dark Skin Tone`}]},{emoji:`🧝‍♂️`,title:`Man Elf`,skinToneVariants:[{emoji:`🧝🏻‍♂️`,title:`Man Elf: Light Skin Tone`},{emoji:`🧝🏼‍♂️`,title:`Man Elf: Medium-light Skin Tone`},{emoji:`🧝🏽‍♂️`,title:`Man Elf: Medium Skin Tone`},{emoji:`🧝🏾‍♂️`,title:`Man Elf: Medium-dark Skin Tone`},{emoji:`🧝🏿‍♂️`,title:`Man Elf: Dark Skin Tone`}]},{emoji:`🧝‍♀️`,title:`Woman Elf`,skinToneVariants:[{emoji:`🧝🏻‍♀️`,title:`Woman Elf: Light Skin Tone`},{emoji:`🧝🏼‍♀️`,title:`Woman Elf: Medium-light Skin Tone`},{emoji:`🧝🏽‍♀️`,title:`Woman Elf: Medium Skin Tone`},{emoji:`🧝🏾‍♀️`,title:`Woman Elf: Medium-dark Skin Tone`},{emoji:`🧝🏿‍♀️`,title:`Woman Elf: Dark Skin Tone`}]},{emoji:`🧞`,title:`Genie`},{emoji:`🧞‍♂️`,title:`Man Genie`},{emoji:`🧞‍♀️`,title:`Woman Genie`},{emoji:`🧟`,title:`Zombie`},{emoji:`🧟‍♂️`,title:`Man Zombie`},{emoji:`🧟‍♀️`,title:`Woman Zombie`},{emoji:`🧌`,title:`Troll`},{emoji:`🫈`,title:`Hairy Creature`},{emoji:`💆`,title:`Person Getting Massage`,skinToneVariants:[{emoji:`💆🏻`,title:`Person Getting Massage: Light Skin Tone`},{emoji:`💆🏼`,title:`Person Getting Massage: Medium-light Skin Tone`},{emoji:`💆🏽`,title:`Person Getting Massage: Medium Skin Tone`},{emoji:`💆🏾`,title:`Person Getting Massage: Medium-dark Skin Tone`},{emoji:`💆🏿`,title:`Person Getting Massage: Dark Skin Tone`}]},{emoji:`💆‍♂️`,title:`Man Getting Massage`,skinToneVariants:[{emoji:`💆🏻‍♂️`,title:`Man Getting Massage: Light Skin Tone`},{emoji:`💆🏼‍♂️`,title:`Man Getting Massage: Medium-light Skin Tone`},{emoji:`💆🏽‍♂️`,title:`Man Getting Massage: Medium Skin Tone`},{emoji:`💆🏾‍♂️`,title:`Man Getting Massage: Medium-dark Skin Tone`},{emoji:`💆🏿‍♂️`,title:`Man Getting Massage: Dark Skin Tone`}]},{emoji:`💆‍♀️`,title:`Woman Getting Massage`,skinToneVariants:[{emoji:`💆🏻‍♀️`,title:`Woman Getting Massage: Light Skin Tone`},{emoji:`💆🏼‍♀️`,title:`Woman Getting Massage: Medium-light Skin Tone`},{emoji:`💆🏽‍♀️`,title:`Woman Getting Massage: Medium Skin Tone`},{emoji:`💆🏾‍♀️`,title:`Woman Getting Massage: Medium-dark Skin Tone`},{emoji:`💆🏿‍♀️`,title:`Woman Getting Massage: Dark Skin Tone`}]},{emoji:`💇`,title:`Person Getting Haircut`,skinToneVariants:[{emoji:`💇🏻`,title:`Person Getting Haircut: Light Skin Tone`},{emoji:`💇🏼`,title:`Person Getting Haircut: Medium-light Skin Tone`},{emoji:`💇🏽`,title:`Person Getting Haircut: Medium Skin Tone`},{emoji:`💇🏾`,title:`Person Getting Haircut: Medium-dark Skin Tone`},{emoji:`💇🏿`,title:`Person Getting Haircut: Dark Skin Tone`}]},{emoji:`💇‍♂️`,title:`Man Getting Haircut`,skinToneVariants:[{emoji:`💇🏻‍♂️`,title:`Man Getting Haircut: Light Skin Tone`},{emoji:`💇🏼‍♂️`,title:`Man Getting Haircut: Medium-light Skin Tone`},{emoji:`💇🏽‍♂️`,title:`Man Getting Haircut: Medium Skin Tone`},{emoji:`💇🏾‍♂️`,title:`Man Getting Haircut: Medium-dark Skin Tone`},{emoji:`💇🏿‍♂️`,title:`Man Getting Haircut: Dark Skin Tone`}]},{emoji:`💇‍♀️`,title:`Woman Getting Haircut`,skinToneVariants:[{emoji:`💇🏻‍♀️`,title:`Woman Getting Haircut: Light Skin Tone`},{emoji:`💇🏼‍♀️`,title:`Woman Getting Haircut: Medium-light Skin Tone`},{emoji:`💇🏽‍♀️`,title:`Woman Getting Haircut: Medium Skin Tone`},{emoji:`💇🏾‍♀️`,title:`Woman Getting Haircut: Medium-dark Skin Tone`},{emoji:`💇🏿‍♀️`,title:`Woman Getting Haircut: Dark Skin Tone`}]},{emoji:`🚶`,title:`Person Walking`,skinToneVariants:[{emoji:`🚶🏻`,title:`Person Walking: Light Skin Tone`},{emoji:`🚶🏼`,title:`Person Walking: Medium-light Skin Tone`},{emoji:`🚶🏽`,title:`Person Walking: Medium Skin Tone`},{emoji:`🚶🏾`,title:`Person Walking: Medium-dark Skin Tone`},{emoji:`🚶🏿`,title:`Person Walking: Dark Skin Tone`}]},{emoji:`🚶‍♂️`,title:`Man Walking`,skinToneVariants:[{emoji:`🚶🏻‍♂️`,title:`Man Walking: Light Skin Tone`},{emoji:`🚶🏼‍♂️`,title:`Man Walking: Medium-light Skin Tone`},{emoji:`🚶🏽‍♂️`,title:`Man Walking: Medium Skin Tone`},{emoji:`🚶🏾‍♂️`,title:`Man Walking: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♂️`,title:`Man Walking: Dark Skin Tone`}]},{emoji:`🚶‍♀️`,title:`Woman Walking`,skinToneVariants:[{emoji:`🚶🏻‍♀️`,title:`Woman Walking: Light Skin Tone`},{emoji:`🚶🏼‍♀️`,title:`Woman Walking: Medium-light Skin Tone`},{emoji:`🚶🏽‍♀️`,title:`Woman Walking: Medium Skin Tone`},{emoji:`🚶🏾‍♀️`,title:`Woman Walking: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♀️`,title:`Woman Walking: Dark Skin Tone`}]},{emoji:`🚶‍➡️`,title:`Person Walking Facing Right`,skinToneVariants:[{emoji:`🚶🏻‍➡️`,title:`Person Walking Facing Right: Light Skin Tone`},{emoji:`🚶🏼‍➡️`,title:`Person Walking Facing Right: Medium-light Skin Tone`},{emoji:`🚶🏽‍➡️`,title:`Person Walking Facing Right: Medium Skin Tone`},{emoji:`🚶🏾‍➡️`,title:`Person Walking Facing Right: Medium-dark Skin Tone`},{emoji:`🚶🏿‍➡️`,title:`Person Walking Facing Right: Dark Skin Tone`}]},{emoji:`🚶‍♀️‍➡️`,title:`Woman Walking Facing Right`,skinToneVariants:[{emoji:`🚶🏻‍♀️‍➡️`,title:`Woman Walking Facing Right: Light Skin Tone`},{emoji:`🚶🏼‍♀️‍➡️`,title:`Woman Walking Facing Right: Medium-light Skin Tone`},{emoji:`🚶🏽‍♀️‍➡️`,title:`Woman Walking Facing Right: Medium Skin Tone`},{emoji:`🚶🏾‍♀️‍➡️`,title:`Woman Walking Facing Right: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♀️‍➡️`,title:`Woman Walking Facing Right: Dark Skin Tone`}]},{emoji:`🚶‍♂️‍➡️`,title:`Man Walking Facing Right`,skinToneVariants:[{emoji:`🚶🏻‍♂️‍➡️`,title:`Man Walking Facing Right: Light Skin Tone`},{emoji:`🚶🏼‍♂️‍➡️`,title:`Man Walking Facing Right: Medium-light Skin Tone`},{emoji:`🚶🏽‍♂️‍➡️`,title:`Man Walking Facing Right: Medium Skin Tone`},{emoji:`🚶🏾‍♂️‍➡️`,title:`Man Walking Facing Right: Medium-dark Skin Tone`},{emoji:`🚶🏿‍♂️‍➡️`,title:`Man Walking Facing Right: Dark Skin Tone`}]},{emoji:`🧍`,title:`Person Standing`,skinToneVariants:[{emoji:`🧍🏻`,title:`Person Standing: Light Skin Tone`},{emoji:`🧍🏼`,title:`Person Standing: Medium-light Skin Tone`},{emoji:`🧍🏽`,title:`Person Standing: Medium Skin Tone`},{emoji:`🧍🏾`,title:`Person Standing: Medium-dark Skin Tone`},{emoji:`🧍🏿`,title:`Person Standing: Dark Skin Tone`}]},{emoji:`🧍‍♂️`,title:`Man Standing`,skinToneVariants:[{emoji:`🧍🏻‍♂️`,title:`Man Standing: Light Skin Tone`},{emoji:`🧍🏼‍♂️`,title:`Man Standing: Medium-light Skin Tone`},{emoji:`🧍🏽‍♂️`,title:`Man Standing: Medium Skin Tone`},{emoji:`🧍🏾‍♂️`,title:`Man Standing: Medium-dark Skin Tone`},{emoji:`🧍🏿‍♂️`,title:`Man Standing: Dark Skin Tone`}]},{emoji:`🧍‍♀️`,title:`Woman Standing`,skinToneVariants:[{emoji:`🧍🏻‍♀️`,title:`Woman Standing: Light Skin Tone`},{emoji:`🧍🏼‍♀️`,title:`Woman Standing: Medium-light Skin Tone`},{emoji:`🧍🏽‍♀️`,title:`Woman Standing: Medium Skin Tone`},{emoji:`🧍🏾‍♀️`,title:`Woman Standing: Medium-dark Skin Tone`},{emoji:`🧍🏿‍♀️`,title:`Woman Standing: Dark Skin Tone`}]},{emoji:`🧎`,title:`Person Kneeling`,skinToneVariants:[{emoji:`🧎🏻`,title:`Person Kneeling: Light Skin Tone`},{emoji:`🧎🏼`,title:`Person Kneeling: Medium-light Skin Tone`},{emoji:`🧎🏽`,title:`Person Kneeling: Medium Skin Tone`},{emoji:`🧎🏾`,title:`Person Kneeling: Medium-dark Skin Tone`},{emoji:`🧎🏿`,title:`Person Kneeling: Dark Skin Tone`}]},{emoji:`🧎‍♂️`,title:`Man Kneeling`,skinToneVariants:[{emoji:`🧎🏻‍♂️`,title:`Man Kneeling: Light Skin Tone`},{emoji:`🧎🏼‍♂️`,title:`Man Kneeling: Medium-light Skin Tone`},{emoji:`🧎🏽‍♂️`,title:`Man Kneeling: Medium Skin Tone`},{emoji:`🧎🏾‍♂️`,title:`Man Kneeling: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♂️`,title:`Man Kneeling: Dark Skin Tone`}]},{emoji:`🧎‍♀️`,title:`Woman Kneeling`,skinToneVariants:[{emoji:`🧎🏻‍♀️`,title:`Woman Kneeling: Light Skin Tone`},{emoji:`🧎🏼‍♀️`,title:`Woman Kneeling: Medium-light Skin Tone`},{emoji:`🧎🏽‍♀️`,title:`Woman Kneeling: Medium Skin Tone`},{emoji:`🧎🏾‍♀️`,title:`Woman Kneeling: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♀️`,title:`Woman Kneeling: Dark Skin Tone`}]},{emoji:`🧎‍➡️`,title:`Person Kneeling Facing Right`,skinToneVariants:[{emoji:`🧎🏻‍➡️`,title:`Person Kneeling Facing Right: Light Skin Tone`},{emoji:`🧎🏼‍➡️`,title:`Person Kneeling Facing Right: Medium-light Skin Tone`},{emoji:`🧎🏽‍➡️`,title:`Person Kneeling Facing Right: Medium Skin Tone`},{emoji:`🧎🏾‍➡️`,title:`Person Kneeling Facing Right: Medium-dark Skin Tone`},{emoji:`🧎🏿‍➡️`,title:`Person Kneeling Facing Right: Dark Skin Tone`}]},{emoji:`🧎‍♀️‍➡️`,title:`Woman Kneeling Facing Right`,skinToneVariants:[{emoji:`🧎🏻‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Light Skin Tone`},{emoji:`🧎🏼‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Medium-light Skin Tone`},{emoji:`🧎🏽‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Medium Skin Tone`},{emoji:`🧎🏾‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♀️‍➡️`,title:`Woman Kneeling Facing Right: Dark Skin Tone`}]},{emoji:`🧎‍♂️‍➡️`,title:`Man Kneeling Facing Right`,skinToneVariants:[{emoji:`🧎🏻‍♂️‍➡️`,title:`Man Kneeling Facing Right: Light Skin Tone`},{emoji:`🧎🏼‍♂️‍➡️`,title:`Man Kneeling Facing Right: Medium-light Skin Tone`},{emoji:`🧎🏽‍♂️‍➡️`,title:`Man Kneeling Facing Right: Medium Skin Tone`},{emoji:`🧎🏾‍♂️‍➡️`,title:`Man Kneeling Facing Right: Medium-dark Skin Tone`},{emoji:`🧎🏿‍♂️‍➡️`,title:`Man Kneeling Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🦯`,title:`Person With White Cane`,skinToneVariants:[{emoji:`🧑🏻‍🦯`,title:`Person With White Cane: Light Skin Tone`},{emoji:`🧑🏼‍🦯`,title:`Person With White Cane: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦯`,title:`Person With White Cane: Medium Skin Tone`},{emoji:`🧑🏾‍🦯`,title:`Person With White Cane: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦯`,title:`Person With White Cane: Dark Skin Tone`}]},{emoji:`🧑‍🦯‍➡️`,title:`Person With White Cane Facing Right`,skinToneVariants:[{emoji:`🧑🏻‍🦯‍➡️`,title:`Person With White Cane Facing Right: Light Skin Tone`},{emoji:`🧑🏼‍🦯‍➡️`,title:`Person With White Cane Facing Right: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦯‍➡️`,title:`Person With White Cane Facing Right: Medium Skin Tone`},{emoji:`🧑🏾‍🦯‍➡️`,title:`Person With White Cane Facing Right: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦯‍➡️`,title:`Person With White Cane Facing Right: Dark Skin Tone`}]},{emoji:`👨‍🦯`,title:`Man With White Cane`,skinToneVariants:[{emoji:`👨🏻‍🦯`,title:`Man With White Cane: Light Skin Tone`},{emoji:`👨🏼‍🦯`,title:`Man With White Cane: Medium-light Skin Tone`},{emoji:`👨🏽‍🦯`,title:`Man With White Cane: Medium Skin Tone`},{emoji:`👨🏾‍🦯`,title:`Man With White Cane: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦯`,title:`Man With White Cane: Dark Skin Tone`}]},{emoji:`👨‍🦯‍➡️`,title:`Man With White Cane Facing Right`,skinToneVariants:[{emoji:`👨🏻‍🦯‍➡️`,title:`Man With White Cane Facing Right: Light Skin Tone`},{emoji:`👨🏼‍🦯‍➡️`,title:`Man With White Cane Facing Right: Medium-light Skin Tone`},{emoji:`👨🏽‍🦯‍➡️`,title:`Man With White Cane Facing Right: Medium Skin Tone`},{emoji:`👨🏾‍🦯‍➡️`,title:`Man With White Cane Facing Right: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦯‍➡️`,title:`Man With White Cane Facing Right: Dark Skin Tone`}]},{emoji:`👩‍🦯`,title:`Woman With White Cane`,skinToneVariants:[{emoji:`👩🏻‍🦯`,title:`Woman With White Cane: Light Skin Tone`},{emoji:`👩🏼‍🦯`,title:`Woman With White Cane: Medium-light Skin Tone`},{emoji:`👩🏽‍🦯`,title:`Woman With White Cane: Medium Skin Tone`},{emoji:`👩🏾‍🦯`,title:`Woman With White Cane: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦯`,title:`Woman With White Cane: Dark Skin Tone`}]},{emoji:`👩‍🦯‍➡️`,title:`Woman With White Cane Facing Right`,skinToneVariants:[{emoji:`👩🏻‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Light Skin Tone`},{emoji:`👩🏼‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Medium-light Skin Tone`},{emoji:`👩🏽‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Medium Skin Tone`},{emoji:`👩🏾‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦯‍➡️`,title:`Woman With White Cane Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🦼`,title:`Person In Motorized Wheelchair`,skinToneVariants:[{emoji:`🧑🏻‍🦼`,title:`Person In Motorized Wheelchair: Light Skin Tone`},{emoji:`🧑🏼‍🦼`,title:`Person In Motorized Wheelchair: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦼`,title:`Person In Motorized Wheelchair: Medium Skin Tone`},{emoji:`🧑🏾‍🦼`,title:`Person In Motorized Wheelchair: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦼`,title:`Person In Motorized Wheelchair: Dark Skin Tone`}]},{emoji:`🧑‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right`,skinToneVariants:[{emoji:`🧑🏻‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Light Skin Tone`},{emoji:`🧑🏼‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Medium Skin Tone`},{emoji:`🧑🏾‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦼‍➡️`,title:`Person In Motorized Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👨‍🦼`,title:`Man In Motorized Wheelchair`,skinToneVariants:[{emoji:`👨🏻‍🦼`,title:`Man In Motorized Wheelchair: Light Skin Tone`},{emoji:`👨🏼‍🦼`,title:`Man In Motorized Wheelchair: Medium-light Skin Tone`},{emoji:`👨🏽‍🦼`,title:`Man In Motorized Wheelchair: Medium Skin Tone`},{emoji:`👨🏾‍🦼`,title:`Man In Motorized Wheelchair: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦼`,title:`Man In Motorized Wheelchair: Dark Skin Tone`}]},{emoji:`👨‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right`,skinToneVariants:[{emoji:`👨🏻‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Light Skin Tone`},{emoji:`👨🏼‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👨🏽‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👨🏾‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦼‍➡️`,title:`Man In Motorized Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👩‍🦼`,title:`Woman In Motorized Wheelchair`,skinToneVariants:[{emoji:`👩🏻‍🦼`,title:`Woman In Motorized Wheelchair: Light Skin Tone`},{emoji:`👩🏼‍🦼`,title:`Woman In Motorized Wheelchair: Medium-light Skin Tone`},{emoji:`👩🏽‍🦼`,title:`Woman In Motorized Wheelchair: Medium Skin Tone`},{emoji:`👩🏾‍🦼`,title:`Woman In Motorized Wheelchair: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦼`,title:`Woman In Motorized Wheelchair: Dark Skin Tone`}]},{emoji:`👩‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right`,skinToneVariants:[{emoji:`👩🏻‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Light Skin Tone`},{emoji:`👩🏼‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👩🏽‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👩🏾‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦼‍➡️`,title:`Woman In Motorized Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🦽`,title:`Person In Manual Wheelchair`,skinToneVariants:[{emoji:`🧑🏻‍🦽`,title:`Person In Manual Wheelchair: Light Skin Tone`},{emoji:`🧑🏼‍🦽`,title:`Person In Manual Wheelchair: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦽`,title:`Person In Manual Wheelchair: Medium Skin Tone`},{emoji:`🧑🏾‍🦽`,title:`Person In Manual Wheelchair: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦽`,title:`Person In Manual Wheelchair: Dark Skin Tone`}]},{emoji:`🧑‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right`,skinToneVariants:[{emoji:`🧑🏻‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Light Skin Tone`},{emoji:`🧑🏼‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`🧑🏽‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Medium Skin Tone`},{emoji:`🧑🏾‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🦽‍➡️`,title:`Person In Manual Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👨‍🦽`,title:`Man In Manual Wheelchair`,skinToneVariants:[{emoji:`👨🏻‍🦽`,title:`Man In Manual Wheelchair: Light Skin Tone`},{emoji:`👨🏼‍🦽`,title:`Man In Manual Wheelchair: Medium-light Skin Tone`},{emoji:`👨🏽‍🦽`,title:`Man In Manual Wheelchair: Medium Skin Tone`},{emoji:`👨🏾‍🦽`,title:`Man In Manual Wheelchair: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦽`,title:`Man In Manual Wheelchair: Dark Skin Tone`}]},{emoji:`👨‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right`,skinToneVariants:[{emoji:`👨🏻‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Light Skin Tone`},{emoji:`👨🏼‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👨🏽‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👨🏾‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👨🏿‍🦽‍➡️`,title:`Man In Manual Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`👩‍🦽`,title:`Woman In Manual Wheelchair`,skinToneVariants:[{emoji:`👩🏻‍🦽`,title:`Woman In Manual Wheelchair: Light Skin Tone`},{emoji:`👩🏼‍🦽`,title:`Woman In Manual Wheelchair: Medium-light Skin Tone`},{emoji:`👩🏽‍🦽`,title:`Woman In Manual Wheelchair: Medium Skin Tone`},{emoji:`👩🏾‍🦽`,title:`Woman In Manual Wheelchair: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦽`,title:`Woman In Manual Wheelchair: Dark Skin Tone`}]},{emoji:`👩‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right`,skinToneVariants:[{emoji:`👩🏻‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Light Skin Tone`},{emoji:`👩🏼‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Medium-light Skin Tone`},{emoji:`👩🏽‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Medium Skin Tone`},{emoji:`👩🏾‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Medium-dark Skin Tone`},{emoji:`👩🏿‍🦽‍➡️`,title:`Woman In Manual Wheelchair Facing Right: Dark Skin Tone`}]},{emoji:`🏃`,title:`Person Running`,skinToneVariants:[{emoji:`🏃🏻`,title:`Person Running: Light Skin Tone`},{emoji:`🏃🏼`,title:`Person Running: Medium-light Skin Tone`},{emoji:`🏃🏽`,title:`Person Running: Medium Skin Tone`},{emoji:`🏃🏾`,title:`Person Running: Medium-dark Skin Tone`},{emoji:`🏃🏿`,title:`Person Running: Dark Skin Tone`}]},{emoji:`🏃‍♂️`,title:`Man Running`,skinToneVariants:[{emoji:`🏃🏻‍♂️`,title:`Man Running: Light Skin Tone`},{emoji:`🏃🏼‍♂️`,title:`Man Running: Medium-light Skin Tone`},{emoji:`🏃🏽‍♂️`,title:`Man Running: Medium Skin Tone`},{emoji:`🏃🏾‍♂️`,title:`Man Running: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♂️`,title:`Man Running: Dark Skin Tone`}]},{emoji:`🏃‍♀️`,title:`Woman Running`,skinToneVariants:[{emoji:`🏃🏻‍♀️`,title:`Woman Running: Light Skin Tone`},{emoji:`🏃🏼‍♀️`,title:`Woman Running: Medium-light Skin Tone`},{emoji:`🏃🏽‍♀️`,title:`Woman Running: Medium Skin Tone`},{emoji:`🏃🏾‍♀️`,title:`Woman Running: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♀️`,title:`Woman Running: Dark Skin Tone`}]},{emoji:`🏃‍➡️`,title:`Person Running Facing Right`,skinToneVariants:[{emoji:`🏃🏻‍➡️`,title:`Person Running Facing Right: Light Skin Tone`},{emoji:`🏃🏼‍➡️`,title:`Person Running Facing Right: Medium-light Skin Tone`},{emoji:`🏃🏽‍➡️`,title:`Person Running Facing Right: Medium Skin Tone`},{emoji:`🏃🏾‍➡️`,title:`Person Running Facing Right: Medium-dark Skin Tone`},{emoji:`🏃🏿‍➡️`,title:`Person Running Facing Right: Dark Skin Tone`}]},{emoji:`🏃‍♀️‍➡️`,title:`Woman Running Facing Right`,skinToneVariants:[{emoji:`🏃🏻‍♀️‍➡️`,title:`Woman Running Facing Right: Light Skin Tone`},{emoji:`🏃🏼‍♀️‍➡️`,title:`Woman Running Facing Right: Medium-light Skin Tone`},{emoji:`🏃🏽‍♀️‍➡️`,title:`Woman Running Facing Right: Medium Skin Tone`},{emoji:`🏃🏾‍♀️‍➡️`,title:`Woman Running Facing Right: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♀️‍➡️`,title:`Woman Running Facing Right: Dark Skin Tone`}]},{emoji:`🏃‍♂️‍➡️`,title:`Man Running Facing Right`,skinToneVariants:[{emoji:`🏃🏻‍♂️‍➡️`,title:`Man Running Facing Right: Light Skin Tone`},{emoji:`🏃🏼‍♂️‍➡️`,title:`Man Running Facing Right: Medium-light Skin Tone`},{emoji:`🏃🏽‍♂️‍➡️`,title:`Man Running Facing Right: Medium Skin Tone`},{emoji:`🏃🏾‍♂️‍➡️`,title:`Man Running Facing Right: Medium-dark Skin Tone`},{emoji:`🏃🏿‍♂️‍➡️`,title:`Man Running Facing Right: Dark Skin Tone`}]},{emoji:`🧑‍🩰`,title:`Ballet Dancer`,skinToneVariants:[{emoji:`🧑🏻‍🩰`,title:`Ballet Dancer: Light Skin Tone`},{emoji:`🧑🏼‍🩰`,title:`Ballet Dancer: Medium-light Skin Tone`},{emoji:`🧑🏽‍🩰`,title:`Ballet Dancer: Medium Skin Tone`},{emoji:`🧑🏾‍🩰`,title:`Ballet Dancer: Medium-dark Skin Tone`},{emoji:`🧑🏿‍🩰`,title:`Ballet Dancer: Dark Skin Tone`}]},{emoji:`💃`,title:`Woman Dancing`,skinToneVariants:[{emoji:`💃🏻`,title:`Woman Dancing: Light Skin Tone`},{emoji:`💃🏼`,title:`Woman Dancing: Medium-light Skin Tone`},{emoji:`💃🏽`,title:`Woman Dancing: Medium Skin Tone`},{emoji:`💃🏾`,title:`Woman Dancing: Medium-dark Skin Tone`},{emoji:`💃🏿`,title:`Woman Dancing: Dark Skin Tone`}]},{emoji:`🕺`,title:`Man Dancing`,skinToneVariants:[{emoji:`🕺🏻`,title:`Man Dancing: Light Skin Tone`},{emoji:`🕺🏼`,title:`Man Dancing: Medium-light Skin Tone`},{emoji:`🕺🏽`,title:`Man Dancing: Medium Skin Tone`},{emoji:`🕺🏾`,title:`Man Dancing: Medium-dark Skin Tone`},{emoji:`🕺🏿`,title:`Man Dancing: Dark Skin Tone`}]},{emoji:`🕴️`,title:`Person In Suit Levitating`,skinToneVariants:[{emoji:`🕴🏻`,title:`Person In Suit Levitating: Light Skin Tone`},{emoji:`🕴🏼`,title:`Person In Suit Levitating: Medium-light Skin Tone`},{emoji:`🕴🏽`,title:`Person In Suit Levitating: Medium Skin Tone`},{emoji:`🕴🏾`,title:`Person In Suit Levitating: Medium-dark Skin Tone`},{emoji:`🕴🏿`,title:`Person In Suit Levitating: Dark Skin Tone`}]},{emoji:`👯`,title:`People With Bunny Ears`,skinToneVariants:[{emoji:`👯🏻`,title:`People With Bunny Ears: Light Skin Tone`},{emoji:`👯🏼`,title:`People With Bunny Ears: Medium-light Skin Tone`},{emoji:`👯🏽`,title:`People With Bunny Ears: Medium Skin Tone`},{emoji:`👯🏾`,title:`People With Bunny Ears: Medium-dark Skin Tone`},{emoji:`👯🏿`,title:`People With Bunny Ears: Dark Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏼`,title:`People With Bunny Ears: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏽`,title:`People With Bunny Ears: Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏾`,title:`People With Bunny Ears: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍🐰‍🧑🏿`,title:`People With Bunny Ears: Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏻`,title:`People With Bunny Ears: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏽`,title:`People With Bunny Ears: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏾`,title:`People With Bunny Ears: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍🐰‍🧑🏿`,title:`People With Bunny Ears: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏻`,title:`People With Bunny Ears: Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏼`,title:`People With Bunny Ears: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏾`,title:`People With Bunny Ears: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍🐰‍🧑🏿`,title:`People With Bunny Ears: Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏻`,title:`People With Bunny Ears: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏼`,title:`People With Bunny Ears: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏽`,title:`People With Bunny Ears: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍🐰‍🧑🏿`,title:`People With Bunny Ears: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏻`,title:`People With Bunny Ears: Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏼`,title:`People With Bunny Ears: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏽`,title:`People With Bunny Ears: Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍🐰‍🧑🏾`,title:`People With Bunny Ears: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👯‍♂️`,title:`Men With Bunny Ears`,skinToneVariants:[{emoji:`👯🏻‍♂️`,title:`Men With Bunny Ears: Light Skin Tone`},{emoji:`👯🏼‍♂️`,title:`Men With Bunny Ears: Medium-light Skin Tone`},{emoji:`👯🏽‍♂️`,title:`Men With Bunny Ears: Medium Skin Tone`},{emoji:`👯🏾‍♂️`,title:`Men With Bunny Ears: Medium-dark Skin Tone`},{emoji:`👯🏿‍♂️`,title:`Men With Bunny Ears: Dark Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏼`,title:`Men With Bunny Ears: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏽`,title:`Men With Bunny Ears: Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏾`,title:`Men With Bunny Ears: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍🐰‍👨🏿`,title:`Men With Bunny Ears: Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏻`,title:`Men With Bunny Ears: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏽`,title:`Men With Bunny Ears: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏾`,title:`Men With Bunny Ears: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍🐰‍👨🏿`,title:`Men With Bunny Ears: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏻`,title:`Men With Bunny Ears: Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏼`,title:`Men With Bunny Ears: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏾`,title:`Men With Bunny Ears: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍🐰‍👨🏿`,title:`Men With Bunny Ears: Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏻`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏼`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏽`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍🐰‍👨🏿`,title:`Men With Bunny Ears: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏻`,title:`Men With Bunny Ears: Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏼`,title:`Men With Bunny Ears: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏽`,title:`Men With Bunny Ears: Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍🐰‍👨🏾`,title:`Men With Bunny Ears: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👯‍♀️`,title:`Women With Bunny Ears`,skinToneVariants:[{emoji:`👯🏻‍♀️`,title:`Women With Bunny Ears: Light Skin Tone`},{emoji:`👯🏼‍♀️`,title:`Women With Bunny Ears: Medium-light Skin Tone`},{emoji:`👯🏽‍♀️`,title:`Women With Bunny Ears: Medium Skin Tone`},{emoji:`👯🏾‍♀️`,title:`Women With Bunny Ears: Medium-dark Skin Tone`},{emoji:`👯🏿‍♀️`,title:`Women With Bunny Ears: Dark Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏼`,title:`Women With Bunny Ears: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏽`,title:`Women With Bunny Ears: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏾`,title:`Women With Bunny Ears: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🐰‍👩🏿`,title:`Women With Bunny Ears: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏻`,title:`Women With Bunny Ears: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏽`,title:`Women With Bunny Ears: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏾`,title:`Women With Bunny Ears: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🐰‍👩🏿`,title:`Women With Bunny Ears: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏻`,title:`Women With Bunny Ears: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏼`,title:`Women With Bunny Ears: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏾`,title:`Women With Bunny Ears: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🐰‍👩🏿`,title:`Women With Bunny Ears: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏻`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏼`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏽`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍🐰‍👩🏿`,title:`Women With Bunny Ears: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏻`,title:`Women With Bunny Ears: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏼`,title:`Women With Bunny Ears: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏽`,title:`Women With Bunny Ears: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🐰‍👩🏾`,title:`Women With Bunny Ears: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🧖`,title:`Person In Steamy Room`,skinToneVariants:[{emoji:`🧖🏻`,title:`Person In Steamy Room: Light Skin Tone`},{emoji:`🧖🏼`,title:`Person In Steamy Room: Medium-light Skin Tone`},{emoji:`🧖🏽`,title:`Person In Steamy Room: Medium Skin Tone`},{emoji:`🧖🏾`,title:`Person In Steamy Room: Medium-dark Skin Tone`},{emoji:`🧖🏿`,title:`Person In Steamy Room: Dark Skin Tone`}]},{emoji:`🧖‍♂️`,title:`Man In Steamy Room`,skinToneVariants:[{emoji:`🧖🏻‍♂️`,title:`Man In Steamy Room: Light Skin Tone`},{emoji:`🧖🏼‍♂️`,title:`Man In Steamy Room: Medium-light Skin Tone`},{emoji:`🧖🏽‍♂️`,title:`Man In Steamy Room: Medium Skin Tone`},{emoji:`🧖🏾‍♂️`,title:`Man In Steamy Room: Medium-dark Skin Tone`},{emoji:`🧖🏿‍♂️`,title:`Man In Steamy Room: Dark Skin Tone`}]},{emoji:`🧖‍♀️`,title:`Woman In Steamy Room`,skinToneVariants:[{emoji:`🧖🏻‍♀️`,title:`Woman In Steamy Room: Light Skin Tone`},{emoji:`🧖🏼‍♀️`,title:`Woman In Steamy Room: Medium-light Skin Tone`},{emoji:`🧖🏽‍♀️`,title:`Woman In Steamy Room: Medium Skin Tone`},{emoji:`🧖🏾‍♀️`,title:`Woman In Steamy Room: Medium-dark Skin Tone`},{emoji:`🧖🏿‍♀️`,title:`Woman In Steamy Room: Dark Skin Tone`}]},{emoji:`🧗`,title:`Person Climbing`,skinToneVariants:[{emoji:`🧗🏻`,title:`Person Climbing: Light Skin Tone`},{emoji:`🧗🏼`,title:`Person Climbing: Medium-light Skin Tone`},{emoji:`🧗🏽`,title:`Person Climbing: Medium Skin Tone`},{emoji:`🧗🏾`,title:`Person Climbing: Medium-dark Skin Tone`},{emoji:`🧗🏿`,title:`Person Climbing: Dark Skin Tone`}]},{emoji:`🧗‍♂️`,title:`Man Climbing`,skinToneVariants:[{emoji:`🧗🏻‍♂️`,title:`Man Climbing: Light Skin Tone`},{emoji:`🧗🏼‍♂️`,title:`Man Climbing: Medium-light Skin Tone`},{emoji:`🧗🏽‍♂️`,title:`Man Climbing: Medium Skin Tone`},{emoji:`🧗🏾‍♂️`,title:`Man Climbing: Medium-dark Skin Tone`},{emoji:`🧗🏿‍♂️`,title:`Man Climbing: Dark Skin Tone`}]},{emoji:`🧗‍♀️`,title:`Woman Climbing`,skinToneVariants:[{emoji:`🧗🏻‍♀️`,title:`Woman Climbing: Light Skin Tone`},{emoji:`🧗🏼‍♀️`,title:`Woman Climbing: Medium-light Skin Tone`},{emoji:`🧗🏽‍♀️`,title:`Woman Climbing: Medium Skin Tone`},{emoji:`🧗🏾‍♀️`,title:`Woman Climbing: Medium-dark Skin Tone`},{emoji:`🧗🏿‍♀️`,title:`Woman Climbing: Dark Skin Tone`}]},{emoji:`🤺`,title:`Person Fencing`},{emoji:`🏇`,title:`Horse Racing`,skinToneVariants:[{emoji:`🏇🏻`,title:`Horse Racing: Light Skin Tone`},{emoji:`🏇🏼`,title:`Horse Racing: Medium-light Skin Tone`},{emoji:`🏇🏽`,title:`Horse Racing: Medium Skin Tone`},{emoji:`🏇🏾`,title:`Horse Racing: Medium-dark Skin Tone`},{emoji:`🏇🏿`,title:`Horse Racing: Dark Skin Tone`}]},{emoji:`⛷️`,title:`Skier`},{emoji:`🏂`,title:`Snowboarder`,skinToneVariants:[{emoji:`🏂🏻`,title:`Snowboarder: Light Skin Tone`},{emoji:`🏂🏼`,title:`Snowboarder: Medium-light Skin Tone`},{emoji:`🏂🏽`,title:`Snowboarder: Medium Skin Tone`},{emoji:`🏂🏾`,title:`Snowboarder: Medium-dark Skin Tone`},{emoji:`🏂🏿`,title:`Snowboarder: Dark Skin Tone`}]},{emoji:`🏌️`,title:`Person Golfing`,skinToneVariants:[{emoji:`🏌🏻`,title:`Person Golfing: Light Skin Tone`},{emoji:`🏌🏼`,title:`Person Golfing: Medium-light Skin Tone`},{emoji:`🏌🏽`,title:`Person Golfing: Medium Skin Tone`},{emoji:`🏌🏾`,title:`Person Golfing: Medium-dark Skin Tone`},{emoji:`🏌🏿`,title:`Person Golfing: Dark Skin Tone`}]},{emoji:`🏌️‍♂️`,title:`Man Golfing`,skinToneVariants:[{emoji:`🏌🏻‍♂️`,title:`Man Golfing: Light Skin Tone`},{emoji:`🏌🏼‍♂️`,title:`Man Golfing: Medium-light Skin Tone`},{emoji:`🏌🏽‍♂️`,title:`Man Golfing: Medium Skin Tone`},{emoji:`🏌🏾‍♂️`,title:`Man Golfing: Medium-dark Skin Tone`},{emoji:`🏌🏿‍♂️`,title:`Man Golfing: Dark Skin Tone`}]},{emoji:`🏌️‍♀️`,title:`Woman Golfing`,skinToneVariants:[{emoji:`🏌🏻‍♀️`,title:`Woman Golfing: Light Skin Tone`},{emoji:`🏌🏼‍♀️`,title:`Woman Golfing: Medium-light Skin Tone`},{emoji:`🏌🏽‍♀️`,title:`Woman Golfing: Medium Skin Tone`},{emoji:`🏌🏾‍♀️`,title:`Woman Golfing: Medium-dark Skin Tone`},{emoji:`🏌🏿‍♀️`,title:`Woman Golfing: Dark Skin Tone`}]},{emoji:`🏄`,title:`Person Surfing`,skinToneVariants:[{emoji:`🏄🏻`,title:`Person Surfing: Light Skin Tone`},{emoji:`🏄🏼`,title:`Person Surfing: Medium-light Skin Tone`},{emoji:`🏄🏽`,title:`Person Surfing: Medium Skin Tone`},{emoji:`🏄🏾`,title:`Person Surfing: Medium-dark Skin Tone`},{emoji:`🏄🏿`,title:`Person Surfing: Dark Skin Tone`}]},{emoji:`🏄‍♂️`,title:`Man Surfing`,skinToneVariants:[{emoji:`🏄🏻‍♂️`,title:`Man Surfing: Light Skin Tone`},{emoji:`🏄🏼‍♂️`,title:`Man Surfing: Medium-light Skin Tone`},{emoji:`🏄🏽‍♂️`,title:`Man Surfing: Medium Skin Tone`},{emoji:`🏄🏾‍♂️`,title:`Man Surfing: Medium-dark Skin Tone`},{emoji:`🏄🏿‍♂️`,title:`Man Surfing: Dark Skin Tone`}]},{emoji:`🏄‍♀️`,title:`Woman Surfing`,skinToneVariants:[{emoji:`🏄🏻‍♀️`,title:`Woman Surfing: Light Skin Tone`},{emoji:`🏄🏼‍♀️`,title:`Woman Surfing: Medium-light Skin Tone`},{emoji:`🏄🏽‍♀️`,title:`Woman Surfing: Medium Skin Tone`},{emoji:`🏄🏾‍♀️`,title:`Woman Surfing: Medium-dark Skin Tone`},{emoji:`🏄🏿‍♀️`,title:`Woman Surfing: Dark Skin Tone`}]},{emoji:`🚣`,title:`Person Rowing Boat`,skinToneVariants:[{emoji:`🚣🏻`,title:`Person Rowing Boat: Light Skin Tone`},{emoji:`🚣🏼`,title:`Person Rowing Boat: Medium-light Skin Tone`},{emoji:`🚣🏽`,title:`Person Rowing Boat: Medium Skin Tone`},{emoji:`🚣🏾`,title:`Person Rowing Boat: Medium-dark Skin Tone`},{emoji:`🚣🏿`,title:`Person Rowing Boat: Dark Skin Tone`}]},{emoji:`🚣‍♂️`,title:`Man Rowing Boat`,skinToneVariants:[{emoji:`🚣🏻‍♂️`,title:`Man Rowing Boat: Light Skin Tone`},{emoji:`🚣🏼‍♂️`,title:`Man Rowing Boat: Medium-light Skin Tone`},{emoji:`🚣🏽‍♂️`,title:`Man Rowing Boat: Medium Skin Tone`},{emoji:`🚣🏾‍♂️`,title:`Man Rowing Boat: Medium-dark Skin Tone`},{emoji:`🚣🏿‍♂️`,title:`Man Rowing Boat: Dark Skin Tone`}]},{emoji:`🚣‍♀️`,title:`Woman Rowing Boat`,skinToneVariants:[{emoji:`🚣🏻‍♀️`,title:`Woman Rowing Boat: Light Skin Tone`},{emoji:`🚣🏼‍♀️`,title:`Woman Rowing Boat: Medium-light Skin Tone`},{emoji:`🚣🏽‍♀️`,title:`Woman Rowing Boat: Medium Skin Tone`},{emoji:`🚣🏾‍♀️`,title:`Woman Rowing Boat: Medium-dark Skin Tone`},{emoji:`🚣🏿‍♀️`,title:`Woman Rowing Boat: Dark Skin Tone`}]},{emoji:`🏊`,title:`Person Swimming`,skinToneVariants:[{emoji:`🏊🏻`,title:`Person Swimming: Light Skin Tone`},{emoji:`🏊🏼`,title:`Person Swimming: Medium-light Skin Tone`},{emoji:`🏊🏽`,title:`Person Swimming: Medium Skin Tone`},{emoji:`🏊🏾`,title:`Person Swimming: Medium-dark Skin Tone`},{emoji:`🏊🏿`,title:`Person Swimming: Dark Skin Tone`}]},{emoji:`🏊‍♂️`,title:`Man Swimming`,skinToneVariants:[{emoji:`🏊🏻‍♂️`,title:`Man Swimming: Light Skin Tone`},{emoji:`🏊🏼‍♂️`,title:`Man Swimming: Medium-light Skin Tone`},{emoji:`🏊🏽‍♂️`,title:`Man Swimming: Medium Skin Tone`},{emoji:`🏊🏾‍♂️`,title:`Man Swimming: Medium-dark Skin Tone`},{emoji:`🏊🏿‍♂️`,title:`Man Swimming: Dark Skin Tone`}]},{emoji:`🏊‍♀️`,title:`Woman Swimming`,skinToneVariants:[{emoji:`🏊🏻‍♀️`,title:`Woman Swimming: Light Skin Tone`},{emoji:`🏊🏼‍♀️`,title:`Woman Swimming: Medium-light Skin Tone`},{emoji:`🏊🏽‍♀️`,title:`Woman Swimming: Medium Skin Tone`},{emoji:`🏊🏾‍♀️`,title:`Woman Swimming: Medium-dark Skin Tone`},{emoji:`🏊🏿‍♀️`,title:`Woman Swimming: Dark Skin Tone`}]},{emoji:`⛹️`,title:`Person Bouncing Ball`,skinToneVariants:[{emoji:`⛹🏻`,title:`Person Bouncing Ball: Light Skin Tone`},{emoji:`⛹🏼`,title:`Person Bouncing Ball: Medium-light Skin Tone`},{emoji:`⛹🏽`,title:`Person Bouncing Ball: Medium Skin Tone`},{emoji:`⛹🏾`,title:`Person Bouncing Ball: Medium-dark Skin Tone`},{emoji:`⛹🏿`,title:`Person Bouncing Ball: Dark Skin Tone`}]},{emoji:`⛹️‍♂️`,title:`Man Bouncing Ball`,skinToneVariants:[{emoji:`⛹🏻‍♂️`,title:`Man Bouncing Ball: Light Skin Tone`},{emoji:`⛹🏼‍♂️`,title:`Man Bouncing Ball: Medium-light Skin Tone`},{emoji:`⛹🏽‍♂️`,title:`Man Bouncing Ball: Medium Skin Tone`},{emoji:`⛹🏾‍♂️`,title:`Man Bouncing Ball: Medium-dark Skin Tone`},{emoji:`⛹🏿‍♂️`,title:`Man Bouncing Ball: Dark Skin Tone`}]},{emoji:`⛹️‍♀️`,title:`Woman Bouncing Ball`,skinToneVariants:[{emoji:`⛹🏻‍♀️`,title:`Woman Bouncing Ball: Light Skin Tone`},{emoji:`⛹🏼‍♀️`,title:`Woman Bouncing Ball: Medium-light Skin Tone`},{emoji:`⛹🏽‍♀️`,title:`Woman Bouncing Ball: Medium Skin Tone`},{emoji:`⛹🏾‍♀️`,title:`Woman Bouncing Ball: Medium-dark Skin Tone`},{emoji:`⛹🏿‍♀️`,title:`Woman Bouncing Ball: Dark Skin Tone`}]},{emoji:`🏋️`,title:`Person Lifting Weights`,skinToneVariants:[{emoji:`🏋🏻`,title:`Person Lifting Weights: Light Skin Tone`},{emoji:`🏋🏼`,title:`Person Lifting Weights: Medium-light Skin Tone`},{emoji:`🏋🏽`,title:`Person Lifting Weights: Medium Skin Tone`},{emoji:`🏋🏾`,title:`Person Lifting Weights: Medium-dark Skin Tone`},{emoji:`🏋🏿`,title:`Person Lifting Weights: Dark Skin Tone`}]},{emoji:`🏋️‍♂️`,title:`Man Lifting Weights`,skinToneVariants:[{emoji:`🏋🏻‍♂️`,title:`Man Lifting Weights: Light Skin Tone`},{emoji:`🏋🏼‍♂️`,title:`Man Lifting Weights: Medium-light Skin Tone`},{emoji:`🏋🏽‍♂️`,title:`Man Lifting Weights: Medium Skin Tone`},{emoji:`🏋🏾‍♂️`,title:`Man Lifting Weights: Medium-dark Skin Tone`},{emoji:`🏋🏿‍♂️`,title:`Man Lifting Weights: Dark Skin Tone`}]},{emoji:`🏋️‍♀️`,title:`Woman Lifting Weights`,skinToneVariants:[{emoji:`🏋🏻‍♀️`,title:`Woman Lifting Weights: Light Skin Tone`},{emoji:`🏋🏼‍♀️`,title:`Woman Lifting Weights: Medium-light Skin Tone`},{emoji:`🏋🏽‍♀️`,title:`Woman Lifting Weights: Medium Skin Tone`},{emoji:`🏋🏾‍♀️`,title:`Woman Lifting Weights: Medium-dark Skin Tone`},{emoji:`🏋🏿‍♀️`,title:`Woman Lifting Weights: Dark Skin Tone`}]},{emoji:`🚴`,title:`Person Biking`,skinToneVariants:[{emoji:`🚴🏻`,title:`Person Biking: Light Skin Tone`},{emoji:`🚴🏼`,title:`Person Biking: Medium-light Skin Tone`},{emoji:`🚴🏽`,title:`Person Biking: Medium Skin Tone`},{emoji:`🚴🏾`,title:`Person Biking: Medium-dark Skin Tone`},{emoji:`🚴🏿`,title:`Person Biking: Dark Skin Tone`}]},{emoji:`🚴‍♂️`,title:`Man Biking`,skinToneVariants:[{emoji:`🚴🏻‍♂️`,title:`Man Biking: Light Skin Tone`},{emoji:`🚴🏼‍♂️`,title:`Man Biking: Medium-light Skin Tone`},{emoji:`🚴🏽‍♂️`,title:`Man Biking: Medium Skin Tone`},{emoji:`🚴🏾‍♂️`,title:`Man Biking: Medium-dark Skin Tone`},{emoji:`🚴🏿‍♂️`,title:`Man Biking: Dark Skin Tone`}]},{emoji:`🚴‍♀️`,title:`Woman Biking`,skinToneVariants:[{emoji:`🚴🏻‍♀️`,title:`Woman Biking: Light Skin Tone`},{emoji:`🚴🏼‍♀️`,title:`Woman Biking: Medium-light Skin Tone`},{emoji:`🚴🏽‍♀️`,title:`Woman Biking: Medium Skin Tone`},{emoji:`🚴🏾‍♀️`,title:`Woman Biking: Medium-dark Skin Tone`},{emoji:`🚴🏿‍♀️`,title:`Woman Biking: Dark Skin Tone`}]},{emoji:`🚵`,title:`Person Mountain Biking`,skinToneVariants:[{emoji:`🚵🏻`,title:`Person Mountain Biking: Light Skin Tone`},{emoji:`🚵🏼`,title:`Person Mountain Biking: Medium-light Skin Tone`},{emoji:`🚵🏽`,title:`Person Mountain Biking: Medium Skin Tone`},{emoji:`🚵🏾`,title:`Person Mountain Biking: Medium-dark Skin Tone`},{emoji:`🚵🏿`,title:`Person Mountain Biking: Dark Skin Tone`}]},{emoji:`🚵‍♂️`,title:`Man Mountain Biking`,skinToneVariants:[{emoji:`🚵🏻‍♂️`,title:`Man Mountain Biking: Light Skin Tone`},{emoji:`🚵🏼‍♂️`,title:`Man Mountain Biking: Medium-light Skin Tone`},{emoji:`🚵🏽‍♂️`,title:`Man Mountain Biking: Medium Skin Tone`},{emoji:`🚵🏾‍♂️`,title:`Man Mountain Biking: Medium-dark Skin Tone`},{emoji:`🚵🏿‍♂️`,title:`Man Mountain Biking: Dark Skin Tone`}]},{emoji:`🚵‍♀️`,title:`Woman Mountain Biking`,skinToneVariants:[{emoji:`🚵🏻‍♀️`,title:`Woman Mountain Biking: Light Skin Tone`},{emoji:`🚵🏼‍♀️`,title:`Woman Mountain Biking: Medium-light Skin Tone`},{emoji:`🚵🏽‍♀️`,title:`Woman Mountain Biking: Medium Skin Tone`},{emoji:`🚵🏾‍♀️`,title:`Woman Mountain Biking: Medium-dark Skin Tone`},{emoji:`🚵🏿‍♀️`,title:`Woman Mountain Biking: Dark Skin Tone`}]},{emoji:`🤸`,title:`Person Cartwheeling`,skinToneVariants:[{emoji:`🤸🏻`,title:`Person Cartwheeling: Light Skin Tone`},{emoji:`🤸🏼`,title:`Person Cartwheeling: Medium-light Skin Tone`},{emoji:`🤸🏽`,title:`Person Cartwheeling: Medium Skin Tone`},{emoji:`🤸🏾`,title:`Person Cartwheeling: Medium-dark Skin Tone`},{emoji:`🤸🏿`,title:`Person Cartwheeling: Dark Skin Tone`}]},{emoji:`🤸‍♂️`,title:`Man Cartwheeling`,skinToneVariants:[{emoji:`🤸🏻‍♂️`,title:`Man Cartwheeling: Light Skin Tone`},{emoji:`🤸🏼‍♂️`,title:`Man Cartwheeling: Medium-light Skin Tone`},{emoji:`🤸🏽‍♂️`,title:`Man Cartwheeling: Medium Skin Tone`},{emoji:`🤸🏾‍♂️`,title:`Man Cartwheeling: Medium-dark Skin Tone`},{emoji:`🤸🏿‍♂️`,title:`Man Cartwheeling: Dark Skin Tone`}]},{emoji:`🤸‍♀️`,title:`Woman Cartwheeling`,skinToneVariants:[{emoji:`🤸🏻‍♀️`,title:`Woman Cartwheeling: Light Skin Tone`},{emoji:`🤸🏼‍♀️`,title:`Woman Cartwheeling: Medium-light Skin Tone`},{emoji:`🤸🏽‍♀️`,title:`Woman Cartwheeling: Medium Skin Tone`},{emoji:`🤸🏾‍♀️`,title:`Woman Cartwheeling: Medium-dark Skin Tone`},{emoji:`🤸🏿‍♀️`,title:`Woman Cartwheeling: Dark Skin Tone`}]},{emoji:`🤼`,title:`People Wrestling`,skinToneVariants:[{emoji:`🤼🏻`,title:`People Wrestling: Light Skin Tone`},{emoji:`🤼🏼`,title:`People Wrestling: Medium-light Skin Tone`},{emoji:`🤼🏽`,title:`People Wrestling: Medium Skin Tone`},{emoji:`🤼🏾`,title:`People Wrestling: Medium-dark Skin Tone`},{emoji:`🤼🏿`,title:`People Wrestling: Dark Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏼`,title:`People Wrestling: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏽`,title:`People Wrestling: Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏾`,title:`People Wrestling: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍🫯‍🧑🏿`,title:`People Wrestling: Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏻`,title:`People Wrestling: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏽`,title:`People Wrestling: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏾`,title:`People Wrestling: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍🫯‍🧑🏿`,title:`People Wrestling: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏻`,title:`People Wrestling: Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏼`,title:`People Wrestling: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏾`,title:`People Wrestling: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍🫯‍🧑🏿`,title:`People Wrestling: Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏻`,title:`People Wrestling: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏼`,title:`People Wrestling: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏽`,title:`People Wrestling: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍🫯‍🧑🏿`,title:`People Wrestling: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏻`,title:`People Wrestling: Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏼`,title:`People Wrestling: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏽`,title:`People Wrestling: Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍🫯‍🧑🏾`,title:`People Wrestling: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🤼‍♂️`,title:`Men Wrestling`,skinToneVariants:[{emoji:`🤼🏻‍♂️`,title:`Men Wrestling: Light Skin Tone`},{emoji:`🤼🏼‍♂️`,title:`Men Wrestling: Medium-light Skin Tone`},{emoji:`🤼🏽‍♂️`,title:`Men Wrestling: Medium Skin Tone`},{emoji:`🤼🏾‍♂️`,title:`Men Wrestling: Medium-dark Skin Tone`},{emoji:`🤼🏿‍♂️`,title:`Men Wrestling: Dark Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏼`,title:`Men Wrestling: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏽`,title:`Men Wrestling: Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏾`,title:`Men Wrestling: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍🫯‍👨🏿`,title:`Men Wrestling: Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏻`,title:`Men Wrestling: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏽`,title:`Men Wrestling: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏾`,title:`Men Wrestling: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍🫯‍👨🏿`,title:`Men Wrestling: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏻`,title:`Men Wrestling: Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏼`,title:`Men Wrestling: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏾`,title:`Men Wrestling: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍🫯‍👨🏿`,title:`Men Wrestling: Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏻`,title:`Men Wrestling: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏼`,title:`Men Wrestling: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏽`,title:`Men Wrestling: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍🫯‍👨🏿`,title:`Men Wrestling: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏻`,title:`Men Wrestling: Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏼`,title:`Men Wrestling: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏽`,title:`Men Wrestling: Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍🫯‍👨🏾`,title:`Men Wrestling: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🤼‍♀️`,title:`Women Wrestling`,skinToneVariants:[{emoji:`🤼🏻‍♀️`,title:`Women Wrestling: Light Skin Tone`},{emoji:`🤼🏼‍♀️`,title:`Women Wrestling: Medium-light Skin Tone`},{emoji:`🤼🏽‍♀️`,title:`Women Wrestling: Medium Skin Tone`},{emoji:`🤼🏾‍♀️`,title:`Women Wrestling: Medium-dark Skin Tone`},{emoji:`🤼🏿‍♀️`,title:`Women Wrestling: Dark Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏼`,title:`Women Wrestling: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏽`,title:`Women Wrestling: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏾`,title:`Women Wrestling: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🫯‍👩🏿`,title:`Women Wrestling: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏻`,title:`Women Wrestling: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏽`,title:`Women Wrestling: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏾`,title:`Women Wrestling: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🫯‍👩🏿`,title:`Women Wrestling: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏻`,title:`Women Wrestling: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏼`,title:`Women Wrestling: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏾`,title:`Women Wrestling: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🫯‍👩🏿`,title:`Women Wrestling: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏻`,title:`Women Wrestling: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏼`,title:`Women Wrestling: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏽`,title:`Women Wrestling: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍🫯‍👩🏿`,title:`Women Wrestling: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏻`,title:`Women Wrestling: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏼`,title:`Women Wrestling: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏽`,title:`Women Wrestling: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🫯‍👩🏾`,title:`Women Wrestling: Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`🤽`,title:`Person Playing Water Polo`,skinToneVariants:[{emoji:`🤽🏻`,title:`Person Playing Water Polo: Light Skin Tone`},{emoji:`🤽🏼`,title:`Person Playing Water Polo: Medium-light Skin Tone`},{emoji:`🤽🏽`,title:`Person Playing Water Polo: Medium Skin Tone`},{emoji:`🤽🏾`,title:`Person Playing Water Polo: Medium-dark Skin Tone`},{emoji:`🤽🏿`,title:`Person Playing Water Polo: Dark Skin Tone`}]},{emoji:`🤽‍♂️`,title:`Man Playing Water Polo`,skinToneVariants:[{emoji:`🤽🏻‍♂️`,title:`Man Playing Water Polo: Light Skin Tone`},{emoji:`🤽🏼‍♂️`,title:`Man Playing Water Polo: Medium-light Skin Tone`},{emoji:`🤽🏽‍♂️`,title:`Man Playing Water Polo: Medium Skin Tone`},{emoji:`🤽🏾‍♂️`,title:`Man Playing Water Polo: Medium-dark Skin Tone`},{emoji:`🤽🏿‍♂️`,title:`Man Playing Water Polo: Dark Skin Tone`}]},{emoji:`🤽‍♀️`,title:`Woman Playing Water Polo`,skinToneVariants:[{emoji:`🤽🏻‍♀️`,title:`Woman Playing Water Polo: Light Skin Tone`},{emoji:`🤽🏼‍♀️`,title:`Woman Playing Water Polo: Medium-light Skin Tone`},{emoji:`🤽🏽‍♀️`,title:`Woman Playing Water Polo: Medium Skin Tone`},{emoji:`🤽🏾‍♀️`,title:`Woman Playing Water Polo: Medium-dark Skin Tone`},{emoji:`🤽🏿‍♀️`,title:`Woman Playing Water Polo: Dark Skin Tone`}]},{emoji:`🤾`,title:`Person Playing Handball`,skinToneVariants:[{emoji:`🤾🏻`,title:`Person Playing Handball: Light Skin Tone`},{emoji:`🤾🏼`,title:`Person Playing Handball: Medium-light Skin Tone`},{emoji:`🤾🏽`,title:`Person Playing Handball: Medium Skin Tone`},{emoji:`🤾🏾`,title:`Person Playing Handball: Medium-dark Skin Tone`},{emoji:`🤾🏿`,title:`Person Playing Handball: Dark Skin Tone`}]},{emoji:`🤾‍♂️`,title:`Man Playing Handball`,skinToneVariants:[{emoji:`🤾🏻‍♂️`,title:`Man Playing Handball: Light Skin Tone`},{emoji:`🤾🏼‍♂️`,title:`Man Playing Handball: Medium-light Skin Tone`},{emoji:`🤾🏽‍♂️`,title:`Man Playing Handball: Medium Skin Tone`},{emoji:`🤾🏾‍♂️`,title:`Man Playing Handball: Medium-dark Skin Tone`},{emoji:`🤾🏿‍♂️`,title:`Man Playing Handball: Dark Skin Tone`}]},{emoji:`🤾‍♀️`,title:`Woman Playing Handball`,skinToneVariants:[{emoji:`🤾🏻‍♀️`,title:`Woman Playing Handball: Light Skin Tone`},{emoji:`🤾🏼‍♀️`,title:`Woman Playing Handball: Medium-light Skin Tone`},{emoji:`🤾🏽‍♀️`,title:`Woman Playing Handball: Medium Skin Tone`},{emoji:`🤾🏾‍♀️`,title:`Woman Playing Handball: Medium-dark Skin Tone`},{emoji:`🤾🏿‍♀️`,title:`Woman Playing Handball: Dark Skin Tone`}]},{emoji:`🤹`,title:`Person Juggling`,skinToneVariants:[{emoji:`🤹🏻`,title:`Person Juggling: Light Skin Tone`},{emoji:`🤹🏼`,title:`Person Juggling: Medium-light Skin Tone`},{emoji:`🤹🏽`,title:`Person Juggling: Medium Skin Tone`},{emoji:`🤹🏾`,title:`Person Juggling: Medium-dark Skin Tone`},{emoji:`🤹🏿`,title:`Person Juggling: Dark Skin Tone`}]},{emoji:`🤹‍♂️`,title:`Man Juggling`,skinToneVariants:[{emoji:`🤹🏻‍♂️`,title:`Man Juggling: Light Skin Tone`},{emoji:`🤹🏼‍♂️`,title:`Man Juggling: Medium-light Skin Tone`},{emoji:`🤹🏽‍♂️`,title:`Man Juggling: Medium Skin Tone`},{emoji:`🤹🏾‍♂️`,title:`Man Juggling: Medium-dark Skin Tone`},{emoji:`🤹🏿‍♂️`,title:`Man Juggling: Dark Skin Tone`}]},{emoji:`🤹‍♀️`,title:`Woman Juggling`,skinToneVariants:[{emoji:`🤹🏻‍♀️`,title:`Woman Juggling: Light Skin Tone`},{emoji:`🤹🏼‍♀️`,title:`Woman Juggling: Medium-light Skin Tone`},{emoji:`🤹🏽‍♀️`,title:`Woman Juggling: Medium Skin Tone`},{emoji:`🤹🏾‍♀️`,title:`Woman Juggling: Medium-dark Skin Tone`},{emoji:`🤹🏿‍♀️`,title:`Woman Juggling: Dark Skin Tone`}]},{emoji:`🧘`,title:`Person In Lotus Position`,skinToneVariants:[{emoji:`🧘🏻`,title:`Person In Lotus Position: Light Skin Tone`},{emoji:`🧘🏼`,title:`Person In Lotus Position: Medium-light Skin Tone`},{emoji:`🧘🏽`,title:`Person In Lotus Position: Medium Skin Tone`},{emoji:`🧘🏾`,title:`Person In Lotus Position: Medium-dark Skin Tone`},{emoji:`🧘🏿`,title:`Person In Lotus Position: Dark Skin Tone`}]},{emoji:`🧘‍♂️`,title:`Man In Lotus Position`,skinToneVariants:[{emoji:`🧘🏻‍♂️`,title:`Man In Lotus Position: Light Skin Tone`},{emoji:`🧘🏼‍♂️`,title:`Man In Lotus Position: Medium-light Skin Tone`},{emoji:`🧘🏽‍♂️`,title:`Man In Lotus Position: Medium Skin Tone`},{emoji:`🧘🏾‍♂️`,title:`Man In Lotus Position: Medium-dark Skin Tone`},{emoji:`🧘🏿‍♂️`,title:`Man In Lotus Position: Dark Skin Tone`}]},{emoji:`🧘‍♀️`,title:`Woman In Lotus Position`,skinToneVariants:[{emoji:`🧘🏻‍♀️`,title:`Woman In Lotus Position: Light Skin Tone`},{emoji:`🧘🏼‍♀️`,title:`Woman In Lotus Position: Medium-light Skin Tone`},{emoji:`🧘🏽‍♀️`,title:`Woman In Lotus Position: Medium Skin Tone`},{emoji:`🧘🏾‍♀️`,title:`Woman In Lotus Position: Medium-dark Skin Tone`},{emoji:`🧘🏿‍♀️`,title:`Woman In Lotus Position: Dark Skin Tone`}]},{emoji:`🛀`,title:`Person Taking Bath`,skinToneVariants:[{emoji:`🛀🏻`,title:`Person Taking Bath: Light Skin Tone`},{emoji:`🛀🏼`,title:`Person Taking Bath: Medium-light Skin Tone`},{emoji:`🛀🏽`,title:`Person Taking Bath: Medium Skin Tone`},{emoji:`🛀🏾`,title:`Person Taking Bath: Medium-dark Skin Tone`},{emoji:`🛀🏿`,title:`Person Taking Bath: Dark Skin Tone`}]},{emoji:`🛌`,title:`Person In Bed`,skinToneVariants:[{emoji:`🛌🏻`,title:`Person In Bed: Light Skin Tone`},{emoji:`🛌🏼`,title:`Person In Bed: Medium-light Skin Tone`},{emoji:`🛌🏽`,title:`Person In Bed: Medium Skin Tone`},{emoji:`🛌🏾`,title:`Person In Bed: Medium-dark Skin Tone`},{emoji:`🛌🏿`,title:`Person In Bed: Dark Skin Tone`}]},{emoji:`🧑‍🤝‍🧑`,title:`People Holding Hands`,skinToneVariants:[{emoji:`🧑🏻‍🤝‍🧑🏻`,title:`People Holding Hands: Light Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏼`,title:`People Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏽`,title:`People Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏾`,title:`People Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍🤝‍🧑🏿`,title:`People Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏻`,title:`People Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏼`,title:`People Holding Hands: Medium-light Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏽`,title:`People Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏾`,title:`People Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍🤝‍🧑🏿`,title:`People Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏻`,title:`People Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏼`,title:`People Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏽`,title:`People Holding Hands: Medium Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏾`,title:`People Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍🤝‍🧑🏿`,title:`People Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏻`,title:`People Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏼`,title:`People Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏽`,title:`People Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏾`,title:`People Holding Hands: Medium-dark Skin Tone`},{emoji:`🧑🏾‍🤝‍🧑🏿`,title:`People Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏻`,title:`People Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏼`,title:`People Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏽`,title:`People Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏾`,title:`People Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏿‍🤝‍🧑🏿`,title:`People Holding Hands: Dark Skin Tone`}]},{emoji:`👭`,title:`Women Holding Hands`,skinToneVariants:[{emoji:`👭🏻`,title:`Women Holding Hands: Light Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏼`,title:`Women Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏽`,title:`Women Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏾`,title:`Women Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🤝‍👩🏿`,title:`Women Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏻`,title:`Women Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👭🏼`,title:`Women Holding Hands: Medium-light Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏽`,title:`Women Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏾`,title:`Women Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🤝‍👩🏿`,title:`Women Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏻`,title:`Women Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏼`,title:`Women Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👭🏽`,title:`Women Holding Hands: Medium Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏾`,title:`Women Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🤝‍👩🏿`,title:`Women Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏻`,title:`Women Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏼`,title:`Women Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏽`,title:`Women Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👭🏾`,title:`Women Holding Hands: Medium-dark Skin Tone`},{emoji:`👩🏾‍🤝‍👩🏿`,title:`Women Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏻`,title:`Women Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏼`,title:`Women Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏽`,title:`Women Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🤝‍👩🏾`,title:`Women Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👭🏿`,title:`Women Holding Hands: Dark Skin Tone`}]},{emoji:`👫`,title:`Woman And Man Holding Hands`,skinToneVariants:[{emoji:`👫🏻`,title:`Woman And Man Holding Hands: Light Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👫🏼`,title:`Woman And Man Holding Hands: Medium-light Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👫🏽`,title:`Woman And Man Holding Hands: Medium Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👫🏾`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone`},{emoji:`👩🏾‍🤝‍👨🏿`,title:`Woman And Man Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏻`,title:`Woman And Man Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏼`,title:`Woman And Man Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏽`,title:`Woman And Man Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍🤝‍👨🏾`,title:`Woman And Man Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👫🏿`,title:`Woman And Man Holding Hands: Dark Skin Tone`}]},{emoji:`👬`,title:`Men Holding Hands`,skinToneVariants:[{emoji:`👬🏻`,title:`Men Holding Hands: Light Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏼`,title:`Men Holding Hands: Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏽`,title:`Men Holding Hands: Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏾`,title:`Men Holding Hands: Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍🤝‍👨🏿`,title:`Men Holding Hands: Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏻`,title:`Men Holding Hands: Medium-light Skin Tone, Light Skin Tone`},{emoji:`👬🏼`,title:`Men Holding Hands: Medium-light Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏽`,title:`Men Holding Hands: Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏾`,title:`Men Holding Hands: Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍🤝‍👨🏿`,title:`Men Holding Hands: Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏻`,title:`Men Holding Hands: Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏼`,title:`Men Holding Hands: Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👬🏽`,title:`Men Holding Hands: Medium Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏾`,title:`Men Holding Hands: Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍🤝‍👨🏿`,title:`Men Holding Hands: Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏻`,title:`Men Holding Hands: Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏼`,title:`Men Holding Hands: Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏽`,title:`Men Holding Hands: Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👬🏾`,title:`Men Holding Hands: Medium-dark Skin Tone`},{emoji:`👨🏾‍🤝‍👨🏿`,title:`Men Holding Hands: Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏻`,title:`Men Holding Hands: Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏼`,title:`Men Holding Hands: Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏽`,title:`Men Holding Hands: Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍🤝‍👨🏾`,title:`Men Holding Hands: Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👬🏿`,title:`Men Holding Hands: Dark Skin Tone`}]},{emoji:`💏`,title:`Kiss`,skinToneVariants:[{emoji:`💏🏻`,title:`Kiss: Light Skin Tone`},{emoji:`💏🏼`,title:`Kiss: Medium-light Skin Tone`},{emoji:`💏🏽`,title:`Kiss: Medium Skin Tone`},{emoji:`💏🏾`,title:`Kiss: Medium-dark Skin Tone`},{emoji:`💏🏿`,title:`Kiss: Dark Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍❤️‍💋‍🧑🏿`,title:`Kiss: Person, Person, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏻`,title:`Kiss: Person, Person, Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏼`,title:`Kiss: Person, Person, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏽`,title:`Kiss: Person, Person, Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍❤️‍💋‍🧑🏾`,title:`Kiss: Person, Person, Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👩‍❤️‍💋‍👨`,title:`Kiss: Woman, Man`,skinToneVariants:[{emoji:`👩🏻‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏻`,title:`Kiss: Woman, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏼`,title:`Kiss: Woman, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏽`,title:`Kiss: Woman, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏾`,title:`Kiss: Woman, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👨🏿`,title:`Kiss: Woman, Man, Dark Skin Tone`}]},{emoji:`👨‍❤️‍💋‍👨`,title:`Kiss: Man, Man`,skinToneVariants:[{emoji:`👨🏻‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Light Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Medium-light Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Medium Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Medium-dark Skin Tone`},{emoji:`👨🏾‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏻`,title:`Kiss: Man, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏼`,title:`Kiss: Man, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏽`,title:`Kiss: Man, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏾`,title:`Kiss: Man, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏿‍❤️‍💋‍👨🏿`,title:`Kiss: Man, Man, Dark Skin Tone`}]},{emoji:`👩‍❤️‍💋‍👩`,title:`Kiss: Woman, Woman`,skinToneVariants:[{emoji:`👩🏻‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏻`,title:`Kiss: Woman, Woman, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏼`,title:`Kiss: Woman, Woman, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏽`,title:`Kiss: Woman, Woman, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏾`,title:`Kiss: Woman, Woman, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍💋‍👩🏿`,title:`Kiss: Woman, Woman, Dark Skin Tone`}]},{emoji:`💑`,title:`Couple With Heart`,skinToneVariants:[{emoji:`💑🏻`,title:`Couple With Heart: Light Skin Tone`},{emoji:`💑🏼`,title:`Couple With Heart: Medium-light Skin Tone`},{emoji:`💑🏽`,title:`Couple With Heart: Medium Skin Tone`},{emoji:`💑🏾`,title:`Couple With Heart: Medium-dark Skin Tone`},{emoji:`💑🏿`,title:`Couple With Heart: Dark Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Light Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏻‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Light Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏼‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Light Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`🧑🏽‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Medium Skin Tone, Dark Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏾‍❤️‍🧑🏿`,title:`Couple With Heart: Person, Person, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏻`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Light Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏼`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏽`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Medium Skin Tone`},{emoji:`🧑🏿‍❤️‍🧑🏾`,title:`Couple With Heart: Person, Person, Dark Skin Tone, Medium-dark Skin Tone`}]},{emoji:`👩‍❤️‍👨`,title:`Couple With Heart: Woman, Man`,skinToneVariants:[{emoji:`👩🏻‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Light Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏻`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏼`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏽`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏾`,title:`Couple With Heart: Woman, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍👨🏿`,title:`Couple With Heart: Woman, Man, Dark Skin Tone`}]},{emoji:`👨‍❤️‍👨`,title:`Couple With Heart: Man, Man`,skinToneVariants:[{emoji:`👨🏻‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Light Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Light Skin Tone, Medium Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏻‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Light Skin Tone, Dark Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏼‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Light Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Medium Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏽‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Medium Skin Tone, Dark Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone`},{emoji:`👨🏾‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏻`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Light Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏼`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏽`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Medium Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏾`,title:`Couple With Heart: Man, Man, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👨🏿‍❤️‍👨🏿`,title:`Couple With Heart: Man, Man, Dark Skin Tone`}]},{emoji:`👩‍❤️‍👩`,title:`Couple With Heart: Woman, Woman`,skinToneVariants:[{emoji:`👩🏻‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Light Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Medium Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏻‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Light Skin Tone, Dark Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Light Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Medium Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏼‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Medium-light Skin Tone, Dark Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Light Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏽‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Medium Skin Tone, Dark Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Light Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone`},{emoji:`👩🏾‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Medium-dark Skin Tone, Dark Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏻`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Light Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏼`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Medium-light Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏽`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Medium Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏾`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone, Medium-dark Skin Tone`},{emoji:`👩🏿‍❤️‍👩🏿`,title:`Couple With Heart: Woman, Woman, Dark Skin Tone`}]},{emoji:`👨‍👩‍👦`,title:`Family: Man, Woman, Boy`},{emoji:`👨‍👩‍👧`,title:`Family: Man, Woman, Girl`},{emoji:`👨‍👩‍👧‍👦`,title:`Family: Man, Woman, Girl, Boy`},{emoji:`👨‍👩‍👦‍👦`,title:`Family: Man, Woman, Boy, Boy`},{emoji:`👨‍👩‍👧‍👧`,title:`Family: Man, Woman, Girl, Girl`},{emoji:`👨‍👨‍👦`,title:`Family: Man, Man, Boy`},{emoji:`👨‍👨‍👧`,title:`Family: Man, Man, Girl`},{emoji:`👨‍👨‍👧‍👦`,title:`Family: Man, Man, Girl, Boy`},{emoji:`👨‍👨‍👦‍👦`,title:`Family: Man, Man, Boy, Boy`},{emoji:`👨‍👨‍👧‍👧`,title:`Family: Man, Man, Girl, Girl`},{emoji:`👩‍👩‍👦`,title:`Family: Woman, Woman, Boy`},{emoji:`👩‍👩‍👧`,title:`Family: Woman, Woman, Girl`},{emoji:`👩‍👩‍👧‍👦`,title:`Family: Woman, Woman, Girl, Boy`},{emoji:`👩‍👩‍👦‍👦`,title:`Family: Woman, Woman, Boy, Boy`},{emoji:`👩‍👩‍👧‍👧`,title:`Family: Woman, Woman, Girl, Girl`},{emoji:`👨‍👦`,title:`Family: Man, Boy`},{emoji:`👨‍👦‍👦`,title:`Family: Man, Boy, Boy`},{emoji:`👨‍👧`,title:`Family: Man, Girl`},{emoji:`👨‍👧‍👦`,title:`Family: Man, Girl, Boy`},{emoji:`👨‍👧‍👧`,title:`Family: Man, Girl, Girl`},{emoji:`👩‍👦`,title:`Family: Woman, Boy`},{emoji:`👩‍👦‍👦`,title:`Family: Woman, Boy, Boy`},{emoji:`👩‍👧`,title:`Family: Woman, Girl`},{emoji:`👩‍👧‍👦`,title:`Family: Woman, Girl, Boy`},{emoji:`👩‍👧‍👧`,title:`Family: Woman, Girl, Girl`},{emoji:`🗣️`,title:`Speaking Head`},{emoji:`👤`,title:`Bust In Silhouette`},{emoji:`👥`,title:`Busts In Silhouette`},{emoji:`🫂`,title:`People Hugging`},{emoji:`👪`,title:`Family`},{emoji:`🧑‍🧑‍🧒`,title:`Family: Adult, Adult, Child`},{emoji:`🧑‍🧑‍🧒‍🧒`,title:`Family: Adult, Adult, Child, Child`},{emoji:`🧑‍🧒`,title:`Family: Adult, Child`},{emoji:`🧑‍🧒‍🧒`,title:`Family: Adult, Child, Child`},{emoji:`👣`,title:`Footprints`},{emoji:`🫆`,title:`Fingerprint`}],nature:[{emoji:`🐵`,title:`Monkey Face`},{emoji:`🐒`,title:`Monkey`},{emoji:`🦍`,title:`Gorilla`},{emoji:`🦧`,title:`Orangutan`},{emoji:`🐶`,title:`Dog Face`},{emoji:`🐕`,title:`Dog`},{emoji:`🦮`,title:`Guide Dog`},{emoji:`🐕‍🦺`,title:`Service Dog`},{emoji:`🐩`,title:`Poodle`},{emoji:`🐺`,title:`Wolf`},{emoji:`🦊`,title:`Fox`},{emoji:`🦝`,title:`Raccoon`},{emoji:`🐱`,title:`Cat Face`},{emoji:`🐈`,title:`Cat`},{emoji:`🐈‍⬛`,title:`Black Cat`},{emoji:`🦁`,title:`Lion`},{emoji:`🐯`,title:`Tiger Face`},{emoji:`🐅`,title:`Tiger`},{emoji:`🐆`,title:`Leopard`},{emoji:`🐴`,title:`Horse Face`},{emoji:`🫎`,title:`Moose`},{emoji:`🫏`,title:`Donkey`},{emoji:`🐎`,title:`Horse`},{emoji:`🦄`,title:`Unicorn`},{emoji:`🦓`,title:`Zebra`},{emoji:`🦌`,title:`Deer`},{emoji:`🦬`,title:`Bison`},{emoji:`🐮`,title:`Cow Face`},{emoji:`🐂`,title:`Ox`},{emoji:`🐃`,title:`Water Buffalo`},{emoji:`🐄`,title:`Cow`},{emoji:`🐷`,title:`Pig Face`},{emoji:`🐖`,title:`Pig`},{emoji:`🐗`,title:`Boar`},{emoji:`🐽`,title:`Pig Nose`},{emoji:`🐏`,title:`Ram`},{emoji:`🐑`,title:`Ewe`},{emoji:`🐐`,title:`Goat`},{emoji:`🐪`,title:`Camel`},{emoji:`🐫`,title:`Two-hump Camel`},{emoji:`🦙`,title:`Llama`},{emoji:`🦒`,title:`Giraffe`},{emoji:`🐘`,title:`Elephant`},{emoji:`🦣`,title:`Mammoth`},{emoji:`🦏`,title:`Rhinoceros`},{emoji:`🦛`,title:`Hippopotamus`},{emoji:`🐭`,title:`Mouse Face`},{emoji:`🐁`,title:`Mouse`},{emoji:`🐀`,title:`Rat`},{emoji:`🐹`,title:`Hamster`},{emoji:`🐰`,title:`Rabbit Face`},{emoji:`🐇`,title:`Rabbit`},{emoji:`🐿️`,title:`Chipmunk`},{emoji:`🦫`,title:`Beaver`},{emoji:`🦔`,title:`Hedgehog`},{emoji:`🦇`,title:`Bat`},{emoji:`🐻`,title:`Bear`},{emoji:`🐻‍❄️`,title:`Polar Bear`},{emoji:`🐨`,title:`Koala`},{emoji:`🐼`,title:`Panda`},{emoji:`🦥`,title:`Sloth`},{emoji:`🦦`,title:`Otter`},{emoji:`🦨`,title:`Skunk`},{emoji:`🦘`,title:`Kangaroo`},{emoji:`🦡`,title:`Badger`},{emoji:`🐾`,title:`Paw Prints`},{emoji:`🦃`,title:`Turkey`},{emoji:`🐔`,title:`Chicken`},{emoji:`🐓`,title:`Rooster`},{emoji:`🐣`,title:`Hatching Chick`},{emoji:`🐤`,title:`Baby Chick`},{emoji:`🐥`,title:`Front-facing Baby Chick`},{emoji:`🐦`,title:`Bird`},{emoji:`🐧`,title:`Penguin`},{emoji:`🕊️`,title:`Dove`},{emoji:`🦅`,title:`Eagle`},{emoji:`🦆`,title:`Duck`},{emoji:`🦢`,title:`Swan`},{emoji:`🦉`,title:`Owl`},{emoji:`🦤`,title:`Dodo`},{emoji:`🪶`,title:`Feather`},{emoji:`🦩`,title:`Flamingo`},{emoji:`🦚`,title:`Peacock`},{emoji:`🦜`,title:`Parrot`},{emoji:`🪽`,title:`Wing`},{emoji:`🐦‍⬛`,title:`Black Bird`},{emoji:`🪿`,title:`Goose`},{emoji:`🐦‍🔥`,title:`Phoenix`},{emoji:`🐸`,title:`Frog`},{emoji:`🐊`,title:`Crocodile`},{emoji:`🐢`,title:`Turtle`},{emoji:`🦎`,title:`Lizard`},{emoji:`🐍`,title:`Snake`},{emoji:`🐲`,title:`Dragon Face`},{emoji:`🐉`,title:`Dragon`},{emoji:`🦕`,title:`Sauropod`},{emoji:`🦖`,title:`T-Rex`},{emoji:`🐳`,title:`Spouting Whale`},{emoji:`🐋`,title:`Whale`},{emoji:`🐬`,title:`Dolphin`},{emoji:`🫍`,title:`Orca`},{emoji:`🦭`,title:`Seal`},{emoji:`🐟`,title:`Fish`},{emoji:`🐠`,title:`Tropical Fish`},{emoji:`🐡`,title:`Blowfish`},{emoji:`🦈`,title:`Shark`},{emoji:`🐙`,title:`Octopus`},{emoji:`🐚`,title:`Spiral Shell`},{emoji:`🪸`,title:`Coral`},{emoji:`🪼`,title:`Jellyfish`},{emoji:`🦀`,title:`Crab`},{emoji:`🦞`,title:`Lobster`},{emoji:`🦐`,title:`Shrimp`},{emoji:`🦑`,title:`Squid`},{emoji:`🦪`,title:`Oyster`},{emoji:`🐌`,title:`Snail`},{emoji:`🦋`,title:`Butterfly`},{emoji:`🐛`,title:`Bug`},{emoji:`🐜`,title:`Ant`},{emoji:`🐝`,title:`Honeybee`},{emoji:`🪲`,title:`Beetle`},{emoji:`🐞`,title:`Lady Beetle`},{emoji:`🦗`,title:`Cricket`},{emoji:`🪳`,title:`Cockroach`},{emoji:`🕷️`,title:`Spider`},{emoji:`🕸️`,title:`Spider Web`},{emoji:`🦂`,title:`Scorpion`},{emoji:`🦟`,title:`Mosquito`},{emoji:`🪰`,title:`Fly`},{emoji:`🪱`,title:`Worm`},{emoji:`🦠`,title:`Microbe`},{emoji:`💐`,title:`Bouquet`},{emoji:`🌸`,title:`Cherry Blossom`},{emoji:`💮`,title:`White Flower`},{emoji:`🪷`,title:`Lotus`},{emoji:`🏵️`,title:`Rosette`},{emoji:`🌹`,title:`Rose`},{emoji:`🥀`,title:`Wilted Flower`},{emoji:`🌺`,title:`Hibiscus`},{emoji:`🌻`,title:`Sunflower`},{emoji:`🌼`,title:`Blossom`},{emoji:`🌷`,title:`Tulip`},{emoji:`🪻`,title:`Hyacinth`},{emoji:`🌱`,title:`Seedling`},{emoji:`🪴`,title:`Potted Plant`},{emoji:`🌲`,title:`Evergreen Tree`},{emoji:`🌳`,title:`Deciduous Tree`},{emoji:`🌴`,title:`Palm Tree`},{emoji:`🌵`,title:`Cactus`},{emoji:`🌾`,title:`Sheaf Of Rice`},{emoji:`🌿`,title:`Herb`},{emoji:`☘️`,title:`Shamrock`},{emoji:`🍀`,title:`Four Leaf Clover`},{emoji:`🍁`,title:`Maple Leaf`},{emoji:`🍂`,title:`Fallen Leaf`},{emoji:`🍃`,title:`Leaf Fluttering In Wind`},{emoji:`🪹`,title:`Empty Nest`},{emoji:`🪺`,title:`Nest With Eggs`},{emoji:`🍄`,title:`Mushroom`},{emoji:`🪾`,title:`Leafless Tree`}],foods:[{emoji:`🍇`,title:`Grapes`},{emoji:`🍈`,title:`Melon`},{emoji:`🍉`,title:`Watermelon`},{emoji:`🍊`,title:`Tangerine`},{emoji:`🍋`,title:`Lemon`},{emoji:`🍋‍🟩`,title:`Lime`},{emoji:`🍌`,title:`Banana`},{emoji:`🍍`,title:`Pineapple`},{emoji:`🥭`,title:`Mango`},{emoji:`🍎`,title:`Red Apple`},{emoji:`🍏`,title:`Green Apple`},{emoji:`🍐`,title:`Pear`},{emoji:`🍑`,title:`Peach`},{emoji:`🍒`,title:`Cherries`},{emoji:`🍓`,title:`Strawberry`},{emoji:`🫐`,title:`Blueberries`},{emoji:`🥝`,title:`Kiwi Fruit`},{emoji:`🍅`,title:`Tomato`},{emoji:`🫒`,title:`Olive`},{emoji:`🥥`,title:`Coconut`},{emoji:`🥑`,title:`Avocado`},{emoji:`🍆`,title:`Eggplant`},{emoji:`🥔`,title:`Potato`},{emoji:`🥕`,title:`Carrot`},{emoji:`🌽`,title:`Ear Of Corn`},{emoji:`🌶️`,title:`Hot Pepper`},{emoji:`🫑`,title:`Bell Pepper`},{emoji:`🥒`,title:`Cucumber`},{emoji:`🥬`,title:`Leafy Green`},{emoji:`🥦`,title:`Broccoli`},{emoji:`🧄`,title:`Garlic`},{emoji:`🧅`,title:`Onion`},{emoji:`🥜`,title:`Peanuts`},{emoji:`🫘`,title:`Beans`},{emoji:`🌰`,title:`Chestnut`},{emoji:`🫚`,title:`Ginger Root`},{emoji:`🫛`,title:`Pea Pod`},{emoji:`🍄‍🟫`,title:`Brown Mushroom`},{emoji:`🫜`,title:`Root Vegetable`},{emoji:`🍞`,title:`Bread`},{emoji:`🥐`,title:`Croissant`},{emoji:`🥖`,title:`Baguette Bread`},{emoji:`🫓`,title:`Flatbread`},{emoji:`🥨`,title:`Pretzel`},{emoji:`🥯`,title:`Bagel`},{emoji:`🥞`,title:`Pancakes`},{emoji:`🧇`,title:`Waffle`},{emoji:`🧀`,title:`Cheese Wedge`},{emoji:`🍖`,title:`Meat On Bone`},{emoji:`🍗`,title:`Poultry Leg`},{emoji:`🥩`,title:`Cut Of Meat`},{emoji:`🥓`,title:`Bacon`},{emoji:`🍔`,title:`Hamburger`},{emoji:`🍟`,title:`French Fries`},{emoji:`🍕`,title:`Pizza`},{emoji:`🌭`,title:`Hot Dog`},{emoji:`🥪`,title:`Sandwich`},{emoji:`🌮`,title:`Taco`},{emoji:`🌯`,title:`Burrito`},{emoji:`🫔`,title:`Tamale`},{emoji:`🥙`,title:`Stuffed Flatbread`},{emoji:`🧆`,title:`Falafel`},{emoji:`🥚`,title:`Egg`},{emoji:`🍳`,title:`Cooking`},{emoji:`🥘`,title:`Shallow Pan Of Food`},{emoji:`🍲`,title:`Pot Of Food`},{emoji:`🫕`,title:`Fondue`},{emoji:`🥣`,title:`Bowl With Spoon`},{emoji:`🥗`,title:`Green Salad`},{emoji:`🍿`,title:`Popcorn`},{emoji:`🧈`,title:`Butter`},{emoji:`🧂`,title:`Salt`},{emoji:`🥫`,title:`Canned Food`},{emoji:`🍱`,title:`Bento Box`},{emoji:`🍘`,title:`Rice Cracker`},{emoji:`🍙`,title:`Rice Ball`},{emoji:`🍚`,title:`Cooked Rice`},{emoji:`🍛`,title:`Curry Rice`},{emoji:`🍜`,title:`Steaming Bowl`},{emoji:`🍝`,title:`Spaghetti`},{emoji:`🍠`,title:`Roasted Sweet Potato`},{emoji:`🍢`,title:`Oden`},{emoji:`🍣`,title:`Sushi`},{emoji:`🍤`,title:`Fried Shrimp`},{emoji:`🍥`,title:`Fish Cake With Swirl`},{emoji:`🥮`,title:`Moon Cake`},{emoji:`🍡`,title:`Dango`},{emoji:`🥟`,title:`Dumpling`},{emoji:`🥠`,title:`Fortune Cookie`},{emoji:`🥡`,title:`Takeout Box`},{emoji:`🍦`,title:`Soft Ice Cream`},{emoji:`🍧`,title:`Shaved Ice`},{emoji:`🍨`,title:`Ice Cream`},{emoji:`🍩`,title:`Doughnut`},{emoji:`🍪`,title:`Cookie`},{emoji:`🎂`,title:`Birthday Cake`},{emoji:`🍰`,title:`Shortcake`},{emoji:`🧁`,title:`Cupcake`},{emoji:`🥧`,title:`Pie`},{emoji:`🍫`,title:`Chocolate Bar`},{emoji:`🍬`,title:`Candy`},{emoji:`🍭`,title:`Lollipop`},{emoji:`🍮`,title:`Custard`},{emoji:`🍯`,title:`Honey Pot`},{emoji:`🍼`,title:`Baby Bottle`},{emoji:`🥛`,title:`Glass Of Milk`},{emoji:`☕`,title:`Hot Beverage`},{emoji:`🫖`,title:`Teapot`},{emoji:`🍵`,title:`Teacup Without Handle`},{emoji:`🍶`,title:`Sake`},{emoji:`🍾`,title:`Bottle With Popping Cork`},{emoji:`🍷`,title:`Wine Glass`},{emoji:`🍸`,title:`Cocktail Glass`},{emoji:`🍹`,title:`Tropical Drink`},{emoji:`🍺`,title:`Beer Mug`},{emoji:`🍻`,title:`Clinking Beer Mugs`},{emoji:`🥂`,title:`Clinking Glasses`},{emoji:`🥃`,title:`Tumbler Glass`},{emoji:`🫗`,title:`Pouring Liquid`},{emoji:`🥤`,title:`Cup With Straw`},{emoji:`🧋`,title:`Bubble Tea`},{emoji:`🧃`,title:`Beverage Box`},{emoji:`🧉`,title:`Mate`},{emoji:`🧊`,title:`Ice`},{emoji:`🥢`,title:`Chopsticks`},{emoji:`🍽️`,title:`Fork And Knife With Plate`},{emoji:`🍴`,title:`Fork And Knife`},{emoji:`🥄`,title:`Spoon`},{emoji:`🔪`,title:`Kitchen Knife`},{emoji:`🫙`,title:`Jar`},{emoji:`🏺`,title:`Amphora`}],activity:[{emoji:`🎃`,title:`Jack-o-lantern`},{emoji:`🎄`,title:`Christmas Tree`},{emoji:`🎆`,title:`Fireworks`},{emoji:`🎇`,title:`Sparkler`},{emoji:`🧨`,title:`Firecracker`},{emoji:`✨`,title:`Sparkles`},{emoji:`🎈`,title:`Balloon`},{emoji:`🎉`,title:`Party Popper`},{emoji:`🎊`,title:`Confetti Ball`},{emoji:`🎋`,title:`Tanabata Tree`},{emoji:`🎍`,title:`Pine Decoration`},{emoji:`🎎`,title:`Japanese Dolls`},{emoji:`🎏`,title:`Carp Streamer`},{emoji:`🎐`,title:`Wind Chime`},{emoji:`🎑`,title:`Moon Viewing Ceremony`},{emoji:`🧧`,title:`Red Envelope`},{emoji:`🎀`,title:`Ribbon`},{emoji:`🎁`,title:`Wrapped Gift`},{emoji:`🎗️`,title:`Reminder Ribbon`},{emoji:`🎟️`,title:`Admission Tickets`},{emoji:`🎫`,title:`Ticket`},{emoji:`🎖️`,title:`Military Medal`},{emoji:`🏆`,title:`Trophy`},{emoji:`🏅`,title:`Sports Medal`},{emoji:`🥇`,title:`1st Place Medal`},{emoji:`🥈`,title:`2nd Place Medal`},{emoji:`🥉`,title:`3rd Place Medal`},{emoji:`⚽`,title:`Soccer Ball`},{emoji:`⚾`,title:`Baseball`},{emoji:`🥎`,title:`Softball`},{emoji:`🏀`,title:`Basketball`},{emoji:`🏐`,title:`Volleyball`},{emoji:`🏈`,title:`American Football`},{emoji:`🏉`,title:`Rugby Football`},{emoji:`🎾`,title:`Tennis`},{emoji:`🥏`,title:`Flying Disc`},{emoji:`🎳`,title:`Bowling`},{emoji:`🏏`,title:`Cricket Game`},{emoji:`🏑`,title:`Field Hockey`},{emoji:`🏒`,title:`Ice Hockey`},{emoji:`🥍`,title:`Lacrosse`},{emoji:`🏓`,title:`Ping Pong`},{emoji:`🏸`,title:`Badminton`},{emoji:`🥊`,title:`Boxing Glove`},{emoji:`🥋`,title:`Martial Arts Uniform`},{emoji:`🥅`,title:`Goal Net`},{emoji:`⛳`,title:`Flag In Hole`},{emoji:`⛸️`,title:`Ice Skate`},{emoji:`🎣`,title:`Fishing Pole`},{emoji:`🤿`,title:`Diving Mask`},{emoji:`🎽`,title:`Running Shirt`},{emoji:`🎿`,title:`Skis`},{emoji:`🛷`,title:`Sled`},{emoji:`🥌`,title:`Curling Stone`},{emoji:`🎯`,title:`Bullseye`},{emoji:`🪀`,title:`Yo-yo`},{emoji:`🪁`,title:`Kite`},{emoji:`🔫`,title:`Water Pistol`},{emoji:`🎱`,title:`Pool 8 Ball`},{emoji:`🔮`,title:`Crystal Ball`},{emoji:`🪄`,title:`Magic Wand`},{emoji:`🎮`,title:`Video Game`},{emoji:`🕹️`,title:`Joystick`},{emoji:`🎰`,title:`Slot Machine`},{emoji:`🎲`,title:`Game Die`},{emoji:`🧩`,title:`Puzzle Piece`},{emoji:`🧸`,title:`Teddy Bear`},{emoji:`🪅`,title:`Piñata`},{emoji:`🪩`,title:`Mirror Ball`},{emoji:`🪆`,title:`Nesting Dolls`},{emoji:`♠️`,title:`Spade Suit`},{emoji:`♥️`,title:`Heart Suit`},{emoji:`♦️`,title:`Diamond Suit`},{emoji:`♣️`,title:`Club Suit`},{emoji:`♟️`,title:`Chess Pawn`},{emoji:`🃏`,title:`Joker`},{emoji:`🀄`,title:`Mahjong Red Dragon`},{emoji:`🎴`,title:`Flower Playing Cards`},{emoji:`🎭`,title:`Performing Arts`},{emoji:`🖼️`,title:`Framed Picture`},{emoji:`🎨`,title:`Artist Palette`},{emoji:`🧵`,title:`Thread`},{emoji:`🪡`,title:`Sewing Needle`},{emoji:`🧶`,title:`Yarn`},{emoji:`🪢`,title:`Knot`}],places:[{emoji:`🌍`,title:`Globe Showing Europe-Africa`},{emoji:`🌎`,title:`Globe Showing Americas`},{emoji:`🌏`,title:`Globe Showing Asia-Australia`},{emoji:`🌐`,title:`Globe With Meridians`},{emoji:`🗺️`,title:`World Map`},{emoji:`🗾`,title:`Map Of Japan`},{emoji:`🧭`,title:`Compass`},{emoji:`🏔️`,title:`Snow-capped Mountain`},{emoji:`⛰️`,title:`Mountain`},{emoji:`🛘`,title:`Landslide`},{emoji:`🌋`,title:`Volcano`},{emoji:`🗻`,title:`Mount Fuji`},{emoji:`🏕️`,title:`Camping`},{emoji:`🏖️`,title:`Beach With Umbrella`},{emoji:`🏜️`,title:`Desert`},{emoji:`🏝️`,title:`Desert Island`},{emoji:`🏞️`,title:`National Park`},{emoji:`🏟️`,title:`Stadium`},{emoji:`🏛️`,title:`Classical Building`},{emoji:`🏗️`,title:`Building Construction`},{emoji:`🧱`,title:`Brick`},{emoji:`🪨`,title:`Rock`},{emoji:`🪵`,title:`Wood`},{emoji:`🛖`,title:`Hut`},{emoji:`🏘️`,title:`Houses`},{emoji:`🏚️`,title:`Derelict House`},{emoji:`🏠`,title:`House`},{emoji:`🏡`,title:`House With Garden`},{emoji:`🏢`,title:`Office Building`},{emoji:`🏣`,title:`Japanese Post Office`},{emoji:`🏤`,title:`Post Office`},{emoji:`🏥`,title:`Hospital`},{emoji:`🏦`,title:`Bank`},{emoji:`🏨`,title:`Hotel`},{emoji:`🏩`,title:`Love Hotel`},{emoji:`🏪`,title:`Convenience Store`},{emoji:`🏫`,title:`School`},{emoji:`🏬`,title:`Department Store`},{emoji:`🏭`,title:`Factory`},{emoji:`🏯`,title:`Japanese Castle`},{emoji:`🏰`,title:`Castle`},{emoji:`💒`,title:`Wedding`},{emoji:`🗼`,title:`Tokyo Tower`},{emoji:`🗽`,title:`Statue Of Liberty`},{emoji:`⛪`,title:`Church`},{emoji:`🕌`,title:`Mosque`},{emoji:`🛕`,title:`Hindu Temple`},{emoji:`🕍`,title:`Synagogue`},{emoji:`⛩️`,title:`Shinto Shrine`},{emoji:`🕋`,title:`Kaaba`},{emoji:`⛲`,title:`Fountain`},{emoji:`⛺`,title:`Tent`},{emoji:`🌁`,title:`Foggy`},{emoji:`🌃`,title:`Night With Stars`},{emoji:`🏙️`,title:`Cityscape`},{emoji:`🌄`,title:`Sunrise Over Mountains`},{emoji:`🌅`,title:`Sunrise`},{emoji:`🌆`,title:`Cityscape At Dusk`},{emoji:`🌇`,title:`Sunset`},{emoji:`🌉`,title:`Bridge At Night`},{emoji:`♨️`,title:`Hot Springs`},{emoji:`🎠`,title:`Carousel Horse`},{emoji:`🛝`,title:`Playground Slide`},{emoji:`🎡`,title:`Ferris Wheel`},{emoji:`🎢`,title:`Roller Coaster`},{emoji:`💈`,title:`Barber Pole`},{emoji:`🎪`,title:`Circus Tent`},{emoji:`🚂`,title:`Locomotive`},{emoji:`🚃`,title:`Railway Car`},{emoji:`🚄`,title:`High-speed Train`},{emoji:`🚅`,title:`Bullet Train`},{emoji:`🚆`,title:`Train`},{emoji:`🚇`,title:`Metro`},{emoji:`🚈`,title:`Light Rail`},{emoji:`🚉`,title:`Station`},{emoji:`🚊`,title:`Tram`},{emoji:`🚝`,title:`Monorail`},{emoji:`🚞`,title:`Mountain Railway`},{emoji:`🚋`,title:`Tram Car`},{emoji:`🚌`,title:`Bus`},{emoji:`🚍`,title:`Oncoming Bus`},{emoji:`🚎`,title:`Trolleybus`},{emoji:`🚐`,title:`Minibus`},{emoji:`🚑`,title:`Ambulance`},{emoji:`🚒`,title:`Fire Engine`},{emoji:`🚓`,title:`Police Car`},{emoji:`🚔`,title:`Oncoming Police Car`},{emoji:`🚕`,title:`Taxi`},{emoji:`🚖`,title:`Oncoming Taxi`},{emoji:`🚗`,title:`Automobile`},{emoji:`🚘`,title:`Oncoming Automobile`},{emoji:`🚙`,title:`Sport Utility Vehicle`},{emoji:`🛻`,title:`Pickup Truck`},{emoji:`🚚`,title:`Delivery Truck`},{emoji:`🚛`,title:`Articulated Lorry`},{emoji:`🚜`,title:`Tractor`},{emoji:`🏎️`,title:`Racing Car`},{emoji:`🏍️`,title:`Motorcycle`},{emoji:`🛵`,title:`Motor Scooter`},{emoji:`🦽`,title:`Manual Wheelchair`},{emoji:`🦼`,title:`Motorized Wheelchair`},{emoji:`🛺`,title:`Auto Rickshaw`},{emoji:`🚲`,title:`Bicycle`},{emoji:`🛴`,title:`Kick Scooter`},{emoji:`🛹`,title:`Skateboard`},{emoji:`🛼`,title:`Roller Skate`},{emoji:`🚏`,title:`Bus Stop`},{emoji:`🛣️`,title:`Motorway`},{emoji:`🛤️`,title:`Railway Track`},{emoji:`🛢️`,title:`Oil Drum`},{emoji:`⛽`,title:`Fuel Pump`},{emoji:`🛞`,title:`Wheel`},{emoji:`🚨`,title:`Police Car Light`},{emoji:`🚥`,title:`Horizontal Traffic Light`},{emoji:`🚦`,title:`Vertical Traffic Light`},{emoji:`🛑`,title:`Stop Sign`},{emoji:`🚧`,title:`Construction`},{emoji:`⚓`,title:`Anchor`},{emoji:`🛟`,title:`Ring Buoy`},{emoji:`⛵`,title:`Sailboat`},{emoji:`🛶`,title:`Canoe`},{emoji:`🚤`,title:`Speedboat`},{emoji:`🛳️`,title:`Passenger Ship`},{emoji:`⛴️`,title:`Ferry`},{emoji:`🛥️`,title:`Motor Boat`},{emoji:`🚢`,title:`Ship`},{emoji:`✈️`,title:`Airplane`},{emoji:`🛩️`,title:`Small Airplane`},{emoji:`🛫`,title:`Airplane Departure`},{emoji:`🛬`,title:`Airplane Arrival`},{emoji:`🪂`,title:`Parachute`},{emoji:`💺`,title:`Seat`},{emoji:`🚁`,title:`Helicopter`},{emoji:`🚟`,title:`Suspension Railway`},{emoji:`🚠`,title:`Mountain Cableway`},{emoji:`🚡`,title:`Aerial Tramway`},{emoji:`🛰️`,title:`Satellite`},{emoji:`🚀`,title:`Rocket`},{emoji:`🛸`,title:`Flying Saucer`},{emoji:`🛎️`,title:`Bellhop Bell`},{emoji:`🧳`,title:`Luggage`},{emoji:`⌛`,title:`Hourglass Done`},{emoji:`⏳`,title:`Hourglass Not Done`},{emoji:`⌚`,title:`Watch`},{emoji:`⏰`,title:`Alarm Clock`},{emoji:`⏱️`,title:`Stopwatch`},{emoji:`⏲️`,title:`Timer Clock`},{emoji:`🕰️`,title:`Mantelpiece Clock`},{emoji:`🕛`,title:`Twelve O’clock`},{emoji:`🕧`,title:`Twelve-thirty`},{emoji:`🕐`,title:`One O’clock`},{emoji:`🕜`,title:`One-thirty`},{emoji:`🕑`,title:`Two O’clock`},{emoji:`🕝`,title:`Two-thirty`},{emoji:`🕒`,title:`Three O’clock`},{emoji:`🕞`,title:`Three-thirty`},{emoji:`🕓`,title:`Four O’clock`},{emoji:`🕟`,title:`Four-thirty`},{emoji:`🕔`,title:`Five O’clock`},{emoji:`🕠`,title:`Five-thirty`},{emoji:`🕕`,title:`Six O’clock`},{emoji:`🕡`,title:`Six-thirty`},{emoji:`🕖`,title:`Seven O’clock`},{emoji:`🕢`,title:`Seven-thirty`},{emoji:`🕗`,title:`Eight O’clock`},{emoji:`🕣`,title:`Eight-thirty`},{emoji:`🕘`,title:`Nine O’clock`},{emoji:`🕤`,title:`Nine-thirty`},{emoji:`🕙`,title:`Ten O’clock`},{emoji:`🕥`,title:`Ten-thirty`},{emoji:`🕚`,title:`Eleven O’clock`},{emoji:`🕦`,title:`Eleven-thirty`},{emoji:`🌑`,title:`New Moon`},{emoji:`🌒`,title:`Waxing Crescent Moon`},{emoji:`🌓`,title:`First Quarter Moon`},{emoji:`🌔`,title:`Waxing Gibbous Moon`},{emoji:`🌕`,title:`Full Moon`},{emoji:`🌖`,title:`Waning Gibbous Moon`},{emoji:`🌗`,title:`Last Quarter Moon`},{emoji:`🌘`,title:`Waning Crescent Moon`},{emoji:`🌙`,title:`Crescent Moon`},{emoji:`🌚`,title:`New Moon Face`},{emoji:`🌛`,title:`First Quarter Moon Face`},{emoji:`🌜`,title:`Last Quarter Moon Face`},{emoji:`🌡️`,title:`Thermometer`},{emoji:`☀️`,title:`Sun`},{emoji:`🌝`,title:`Full Moon Face`},{emoji:`🌞`,title:`Sun With Face`},{emoji:`🪐`,title:`Ringed Planet`},{emoji:`⭐`,title:`Star`},{emoji:`🌟`,title:`Glowing Star`},{emoji:`🌠`,title:`Shooting Star`},{emoji:`🌌`,title:`Milky Way`},{emoji:`☁️`,title:`Cloud`},{emoji:`⛅`,title:`Sun Behind Cloud`},{emoji:`⛈️`,title:`Cloud With Lightning And Rain`},{emoji:`🌤️`,title:`Sun Behind Small Cloud`},{emoji:`🌥️`,title:`Sun Behind Large Cloud`},{emoji:`🌦️`,title:`Sun Behind Rain Cloud`},{emoji:`🌧️`,title:`Cloud With Rain`},{emoji:`🌨️`,title:`Cloud With Snow`},{emoji:`🌩️`,title:`Cloud With Lightning`},{emoji:`🌪️`,title:`Tornado`},{emoji:`🌫️`,title:`Fog`},{emoji:`🌬️`,title:`Wind Face`},{emoji:`🌀`,title:`Cyclone`},{emoji:`🌈`,title:`Rainbow`},{emoji:`🌂`,title:`Closed Umbrella`},{emoji:`☂️`,title:`Umbrella`},{emoji:`☔`,title:`Umbrella With Rain Drops`},{emoji:`⛱️`,title:`Umbrella On Ground`},{emoji:`⚡`,title:`High Voltage`},{emoji:`❄️`,title:`Snowflake`},{emoji:`☃️`,title:`Snowman`},{emoji:`⛄`,title:`Snowman Without Snow`},{emoji:`☄️`,title:`Comet`},{emoji:`🔥`,title:`Fire`},{emoji:`💧`,title:`Droplet`},{emoji:`🌊`,title:`Water Wave`}],objects:[{emoji:`👓`,title:`Glasses`},{emoji:`🕶️`,title:`Sunglasses`},{emoji:`🥽`,title:`Goggles`},{emoji:`🥼`,title:`Lab Coat`},{emoji:`🦺`,title:`Safety Vest`},{emoji:`👔`,title:`Necktie`},{emoji:`👕`,title:`T-shirt`},{emoji:`👖`,title:`Jeans`},{emoji:`🧣`,title:`Scarf`},{emoji:`🧤`,title:`Gloves`},{emoji:`🧥`,title:`Coat`},{emoji:`🧦`,title:`Socks`},{emoji:`👗`,title:`Dress`},{emoji:`👘`,title:`Kimono`},{emoji:`🥻`,title:`Sari`},{emoji:`🩱`,title:`One-piece Swimsuit`},{emoji:`🩲`,title:`Briefs`},{emoji:`🩳`,title:`Shorts`},{emoji:`👙`,title:`Bikini`},{emoji:`👚`,title:`Woman’s Clothes`},{emoji:`🪭`,title:`Folding Hand Fan`},{emoji:`👛`,title:`Purse`},{emoji:`👜`,title:`Handbag`},{emoji:`👝`,title:`Clutch Bag`},{emoji:`🛍️`,title:`Shopping Bags`},{emoji:`🎒`,title:`Backpack`},{emoji:`🩴`,title:`Thong Sandal`},{emoji:`👞`,title:`Man’s Shoe`},{emoji:`👟`,title:`Running Shoe`},{emoji:`🥾`,title:`Hiking Boot`},{emoji:`🥿`,title:`Flat Shoe`},{emoji:`👠`,title:`High-heeled Shoe`},{emoji:`👡`,title:`Woman’s Sandal`},{emoji:`🩰`,title:`Ballet Shoes`},{emoji:`👢`,title:`Woman’s Boot`},{emoji:`🪮`,title:`Hair Pick`},{emoji:`👑`,title:`Crown`},{emoji:`👒`,title:`Woman’s Hat`},{emoji:`🎩`,title:`Top Hat`},{emoji:`🎓`,title:`Graduation Cap`},{emoji:`🧢`,title:`Billed Cap`},{emoji:`🪖`,title:`Military Helmet`},{emoji:`⛑️`,title:`Rescue Worker’s Helmet`},{emoji:`📿`,title:`Prayer Beads`},{emoji:`💄`,title:`Lipstick`},{emoji:`💍`,title:`Ring`},{emoji:`💎`,title:`Gem Stone`},{emoji:`🔇`,title:`Muted Speaker`},{emoji:`🔈`,title:`Speaker Low Volume`},{emoji:`🔉`,title:`Speaker Medium Volume`},{emoji:`🔊`,title:`Speaker High Volume`},{emoji:`📢`,title:`Loudspeaker`},{emoji:`📣`,title:`Megaphone`},{emoji:`📯`,title:`Postal Horn`},{emoji:`🔔`,title:`Bell`},{emoji:`🔕`,title:`Bell With Slash`},{emoji:`🎼`,title:`Musical Score`},{emoji:`🎵`,title:`Musical Note`},{emoji:`🎶`,title:`Musical Notes`},{emoji:`🎙️`,title:`Studio Microphone`},{emoji:`🎚️`,title:`Level Slider`},{emoji:`🎛️`,title:`Control Knobs`},{emoji:`🎤`,title:`Microphone`},{emoji:`🎧`,title:`Headphone`},{emoji:`📻`,title:`Radio`},{emoji:`🎷`,title:`Saxophone`},{emoji:`🎺`,title:`Trumpet`},{emoji:`🪊`,title:`Trombone`},{emoji:`🪗`,title:`Accordion`},{emoji:`🎸`,title:`Guitar`},{emoji:`🎹`,title:`Musical Keyboard`},{emoji:`🎻`,title:`Violin`},{emoji:`🪕`,title:`Banjo`},{emoji:`🥁`,title:`Drum`},{emoji:`🪘`,title:`Long Drum`},{emoji:`🪇`,title:`Maracas`},{emoji:`🪈`,title:`Flute`},{emoji:`🪉`,title:`Harp`},{emoji:`📱`,title:`Mobile Phone`},{emoji:`📲`,title:`Mobile Phone With Arrow`},{emoji:`☎️`,title:`Telephone`},{emoji:`📞`,title:`Telephone Receiver`},{emoji:`📟`,title:`Pager`},{emoji:`📠`,title:`Fax Machine`},{emoji:`🔋`,title:`Battery`},{emoji:`🪫`,title:`Low Battery`},{emoji:`🔌`,title:`Electric Plug`},{emoji:`💻`,title:`Laptop`},{emoji:`🖥️`,title:`Desktop Computer`},{emoji:`🖨️`,title:`Printer`},{emoji:`⌨️`,title:`Keyboard`},{emoji:`🖱️`,title:`Computer Mouse`},{emoji:`🖲️`,title:`Trackball`},{emoji:`💽`,title:`Computer Disk`},{emoji:`💾`,title:`Floppy Disk`},{emoji:`💿`,title:`Optical Disk`},{emoji:`📀`,title:`Dvd`},{emoji:`🧮`,title:`Abacus`},{emoji:`🎥`,title:`Movie Camera`},{emoji:`🎞️`,title:`Film Frames`},{emoji:`📽️`,title:`Film Projector`},{emoji:`🎬`,title:`Clapper Board`},{emoji:`📺`,title:`Television`},{emoji:`📷`,title:`Camera`},{emoji:`📸`,title:`Camera With Flash`},{emoji:`📹`,title:`Video Camera`},{emoji:`📼`,title:`Videocassette`},{emoji:`🔍`,title:`Magnifying Glass Tilted Left`},{emoji:`🔎`,title:`Magnifying Glass Tilted Right`},{emoji:`🕯️`,title:`Candle`},{emoji:`💡`,title:`Light Bulb`},{emoji:`🔦`,title:`Flashlight`},{emoji:`🏮`,title:`Red Paper Lantern`},{emoji:`🪔`,title:`Diya Lamp`},{emoji:`📔`,title:`Notebook With Decorative Cover`},{emoji:`📕`,title:`Closed Book`},{emoji:`📖`,title:`Open Book`},{emoji:`📗`,title:`Green Book`},{emoji:`📘`,title:`Blue Book`},{emoji:`📙`,title:`Orange Book`},{emoji:`📚`,title:`Books`},{emoji:`📓`,title:`Notebook`},{emoji:`📒`,title:`Ledger`},{emoji:`📃`,title:`Page With Curl`},{emoji:`📜`,title:`Scroll`},{emoji:`📄`,title:`Page Facing Up`},{emoji:`📰`,title:`Newspaper`},{emoji:`🗞️`,title:`Rolled-up Newspaper`},{emoji:`📑`,title:`Bookmark Tabs`},{emoji:`🔖`,title:`Bookmark`},{emoji:`🏷️`,title:`Label`},{emoji:`🪙`,title:`Coin`},{emoji:`💰`,title:`Money Bag`},{emoji:`🪎`,title:`Treasure Chest`},{emoji:`💴`,title:`Yen Banknote`},{emoji:`💵`,title:`Dollar Banknote`},{emoji:`💶`,title:`Euro Banknote`},{emoji:`💷`,title:`Pound Banknote`},{emoji:`💸`,title:`Money With Wings`},{emoji:`💳`,title:`Credit Card`},{emoji:`🧾`,title:`Receipt`},{emoji:`💹`,title:`Chart Increasing With Yen`},{emoji:`✉️`,title:`Envelope`},{emoji:`📧`,title:`E-mail`},{emoji:`📨`,title:`Incoming Envelope`},{emoji:`📩`,title:`Envelope With Arrow`},{emoji:`📤`,title:`Outbox Tray`},{emoji:`📥`,title:`Inbox Tray`},{emoji:`📦`,title:`Package`},{emoji:`📫`,title:`Closed Mailbox With Raised Flag`},{emoji:`📪`,title:`Closed Mailbox With Lowered Flag`},{emoji:`📬`,title:`Open Mailbox With Raised Flag`},{emoji:`📭`,title:`Open Mailbox With Lowered Flag`},{emoji:`📮`,title:`Postbox`},{emoji:`🗳️`,title:`Ballot Box With Ballot`},{emoji:`✏️`,title:`Pencil`},{emoji:`✒️`,title:`Black Nib`},{emoji:`🖋️`,title:`Fountain Pen`},{emoji:`🖊️`,title:`Pen`},{emoji:`🖌️`,title:`Paintbrush`},{emoji:`🖍️`,title:`Crayon`},{emoji:`📝`,title:`Memo`},{emoji:`💼`,title:`Briefcase`},{emoji:`📁`,title:`File Folder`},{emoji:`📂`,title:`Open File Folder`},{emoji:`🗂️`,title:`Card Index Dividers`},{emoji:`📅`,title:`Calendar`},{emoji:`📆`,title:`Tear-off Calendar`},{emoji:`🗒️`,title:`Spiral Notepad`},{emoji:`🗓️`,title:`Spiral Calendar`},{emoji:`📇`,title:`Card Index`},{emoji:`📈`,title:`Chart Increasing`},{emoji:`📉`,title:`Chart Decreasing`},{emoji:`📊`,title:`Bar Chart`},{emoji:`📋`,title:`Clipboard`},{emoji:`📌`,title:`Pushpin`},{emoji:`📍`,title:`Round Pushpin`},{emoji:`📎`,title:`Paperclip`},{emoji:`🖇️`,title:`Linked Paperclips`},{emoji:`📏`,title:`Straight Ruler`},{emoji:`📐`,title:`Triangular Ruler`},{emoji:`✂️`,title:`Scissors`},{emoji:`🗃️`,title:`Card File Box`},{emoji:`🗄️`,title:`File Cabinet`},{emoji:`🗑️`,title:`Wastebasket`},{emoji:`🔒`,title:`Locked`},{emoji:`🔓`,title:`Unlocked`},{emoji:`🔏`,title:`Locked With Pen`},{emoji:`🔐`,title:`Locked With Key`},{emoji:`🔑`,title:`Key`},{emoji:`🗝️`,title:`Old Key`},{emoji:`🔨`,title:`Hammer`},{emoji:`🪓`,title:`Axe`},{emoji:`⛏️`,title:`Pick`},{emoji:`⚒️`,title:`Hammer And Pick`},{emoji:`🛠️`,title:`Hammer And Wrench`},{emoji:`🗡️`,title:`Dagger`},{emoji:`⚔️`,title:`Crossed Swords`},{emoji:`💣`,title:`Bomb`},{emoji:`🪃`,title:`Boomerang`},{emoji:`🏹`,title:`Bow And Arrow`},{emoji:`🛡️`,title:`Shield`},{emoji:`🪚`,title:`Carpentry Saw`},{emoji:`🔧`,title:`Wrench`},{emoji:`🪛`,title:`Screwdriver`},{emoji:`🔩`,title:`Nut And Bolt`},{emoji:`⚙️`,title:`Gear`},{emoji:`🗜️`,title:`Clamp`},{emoji:`⚖️`,title:`Balance Scale`},{emoji:`🦯`,title:`White Cane`},{emoji:`🔗`,title:`Link`},{emoji:`⛓️‍💥`,title:`Broken Chain`},{emoji:`⛓️`,title:`Chains`},{emoji:`🪝`,title:`Hook`},{emoji:`🧰`,title:`Toolbox`},{emoji:`🧲`,title:`Magnet`},{emoji:`🪜`,title:`Ladder`},{emoji:`🪏`,title:`Shovel`},{emoji:`⚗️`,title:`Alembic`},{emoji:`🧪`,title:`Test Tube`},{emoji:`🧫`,title:`Petri Dish`},{emoji:`🧬`,title:`Dna`},{emoji:`🔬`,title:`Microscope`},{emoji:`🔭`,title:`Telescope`},{emoji:`📡`,title:`Satellite Antenna`},{emoji:`💉`,title:`Syringe`},{emoji:`🩸`,title:`Drop Of Blood`},{emoji:`💊`,title:`Pill`},{emoji:`🩹`,title:`Adhesive Bandage`},{emoji:`🩼`,title:`Crutch`},{emoji:`🩺`,title:`Stethoscope`},{emoji:`🩻`,title:`X-ray`},{emoji:`🚪`,title:`Door`},{emoji:`🛗`,title:`Elevator`},{emoji:`🪞`,title:`Mirror`},{emoji:`🪟`,title:`Window`},{emoji:`🛏️`,title:`Bed`},{emoji:`🛋️`,title:`Couch And Lamp`},{emoji:`🪑`,title:`Chair`},{emoji:`🚽`,title:`Toilet`},{emoji:`🪠`,title:`Plunger`},{emoji:`🚿`,title:`Shower`},{emoji:`🛁`,title:`Bathtub`},{emoji:`🪤`,title:`Mouse Trap`},{emoji:`🪒`,title:`Razor`},{emoji:`🧴`,title:`Lotion Bottle`},{emoji:`🧷`,title:`Safety Pin`},{emoji:`🧹`,title:`Broom`},{emoji:`🧺`,title:`Basket`},{emoji:`🧻`,title:`Roll Of Paper`},{emoji:`🪣`,title:`Bucket`},{emoji:`🧼`,title:`Soap`},{emoji:`🫧`,title:`Bubbles`},{emoji:`🪥`,title:`Toothbrush`},{emoji:`🧽`,title:`Sponge`},{emoji:`🧯`,title:`Fire Extinguisher`},{emoji:`🛒`,title:`Shopping Cart`},{emoji:`🚬`,title:`Cigarette`},{emoji:`⚰️`,title:`Coffin`},{emoji:`🪦`,title:`Headstone`},{emoji:`⚱️`,title:`Funeral Urn`},{emoji:`🧿`,title:`Nazar Amulet`},{emoji:`🪬`,title:`Hamsa`},{emoji:`🗿`,title:`Moai`},{emoji:`🪧`,title:`Placard`},{emoji:`🪪`,title:`Identification Card`}],symbols:[{emoji:`🏧`,title:`ATM Sign`},{emoji:`🚮`,title:`Litter In Bin Sign`},{emoji:`🚰`,title:`Potable Water`},{emoji:`♿`,title:`Wheelchair Symbol`},{emoji:`🚹`,title:`Men’s Room`},{emoji:`🚺`,title:`Women’s Room`},{emoji:`🚻`,title:`Restroom`},{emoji:`🚼`,title:`Baby Symbol`},{emoji:`🚾`,title:`Water Closet`},{emoji:`🛂`,title:`Passport Control`},{emoji:`🛃`,title:`Customs`},{emoji:`🛄`,title:`Baggage Claim`},{emoji:`🛅`,title:`Left Luggage`},{emoji:`⚠️`,title:`Warning`},{emoji:`🚸`,title:`Children Crossing`},{emoji:`⛔`,title:`No Entry`},{emoji:`🚫`,title:`Prohibited`},{emoji:`🚳`,title:`No Bicycles`},{emoji:`🚭`,title:`No Smoking`},{emoji:`🚯`,title:`No Littering`},{emoji:`🚱`,title:`Non-potable Water`},{emoji:`🚷`,title:`No Pedestrians`},{emoji:`📵`,title:`No Mobile Phones`},{emoji:`🔞`,title:`No One Under Eighteen`},{emoji:`☢️`,title:`Radioactive`},{emoji:`☣️`,title:`Biohazard`},{emoji:`⬆️`,title:`Up Arrow`},{emoji:`↗️`,title:`Up-right Arrow`},{emoji:`➡️`,title:`Right Arrow`},{emoji:`↘️`,title:`Down-right Arrow`},{emoji:`⬇️`,title:`Down Arrow`},{emoji:`↙️`,title:`Down-left Arrow`},{emoji:`⬅️`,title:`Left Arrow`},{emoji:`↖️`,title:`Up-left Arrow`},{emoji:`↕️`,title:`Up-down Arrow`},{emoji:`↔️`,title:`Left-right Arrow`},{emoji:`↩️`,title:`Right Arrow Curving Left`},{emoji:`↪️`,title:`Left Arrow Curving Right`},{emoji:`⤴️`,title:`Right Arrow Curving Up`},{emoji:`⤵️`,title:`Right Arrow Curving Down`},{emoji:`🔃`,title:`Clockwise Vertical Arrows`},{emoji:`🔄`,title:`Counterclockwise Arrows Button`},{emoji:`🔙`,title:`BACK Arrow`},{emoji:`🔚`,title:`END Arrow`},{emoji:`🔛`,title:`ON! Arrow`},{emoji:`🔜`,title:`SOON Arrow`},{emoji:`🔝`,title:`TOP Arrow`},{emoji:`🛐`,title:`Place Of Worship`},{emoji:`⚛️`,title:`Atom Symbol`},{emoji:`🕉️`,title:`Om`},{emoji:`✡️`,title:`Star Of David`},{emoji:`☸️`,title:`Wheel Of Dharma`},{emoji:`☯️`,title:`Yin Yang`},{emoji:`✝️`,title:`Latin Cross`},{emoji:`☦️`,title:`Orthodox Cross`},{emoji:`☪️`,title:`Star And Crescent`},{emoji:`☮️`,title:`Peace Symbol`},{emoji:`🕎`,title:`Menorah`},{emoji:`🔯`,title:`Dotted Six-pointed Star`},{emoji:`🪯`,title:`Khanda`},{emoji:`♈`,title:`Aries`},{emoji:`♉`,title:`Taurus`},{emoji:`♊`,title:`Gemini`},{emoji:`♋`,title:`Cancer`},{emoji:`♌`,title:`Leo`},{emoji:`♍`,title:`Virgo`},{emoji:`♎`,title:`Libra`},{emoji:`♏`,title:`Scorpio`},{emoji:`♐`,title:`Sagittarius`},{emoji:`♑`,title:`Capricorn`},{emoji:`♒`,title:`Aquarius`},{emoji:`♓`,title:`Pisces`},{emoji:`⛎`,title:`Ophiuchus`},{emoji:`🔀`,title:`Shuffle Tracks Button`},{emoji:`🔁`,title:`Repeat Button`},{emoji:`🔂`,title:`Repeat Single Button`},{emoji:`▶️`,title:`Play Button`},{emoji:`⏩`,title:`Fast-forward Button`},{emoji:`⏭️`,title:`Next Track Button`},{emoji:`⏯️`,title:`Play Or Pause Button`},{emoji:`◀️`,title:`Reverse Button`},{emoji:`⏪`,title:`Fast Reverse Button`},{emoji:`⏮️`,title:`Last Track Button`},{emoji:`🔼`,title:`Upwards Button`},{emoji:`⏫`,title:`Fast Up Button`},{emoji:`🔽`,title:`Downwards Button`},{emoji:`⏬`,title:`Fast Down Button`},{emoji:`⏸️`,title:`Pause Button`},{emoji:`⏹️`,title:`Stop Button`},{emoji:`⏺️`,title:`Record Button`},{emoji:`⏏️`,title:`Eject Button`},{emoji:`🎦`,title:`Cinema`},{emoji:`🔅`,title:`Dim Button`},{emoji:`🔆`,title:`Bright Button`},{emoji:`📶`,title:`Antenna Bars`},{emoji:`🛜`,title:`Wireless`},{emoji:`📳`,title:`Vibration Mode`},{emoji:`📴`,title:`Mobile Phone Off`},{emoji:`♀️`,title:`Female Sign`},{emoji:`♂️`,title:`Male Sign`},{emoji:`⚧️`,title:`Transgender Symbol`},{emoji:`✖️`,title:`Multiply`},{emoji:`➕`,title:`Plus`},{emoji:`➖`,title:`Minus`},{emoji:`➗`,title:`Divide`},{emoji:`🟰`,title:`Heavy Equals Sign`},{emoji:`♾️`,title:`Infinity`},{emoji:`‼️`,title:`Double Exclamation Mark`},{emoji:`⁉️`,title:`Exclamation Question Mark`},{emoji:`❓`,title:`Red Question Mark`},{emoji:`❔`,title:`White Question Mark`},{emoji:`❕`,title:`White Exclamation Mark`},{emoji:`❗`,title:`Red Exclamation Mark`},{emoji:`〰️`,title:`Wavy Dash`},{emoji:`💱`,title:`Currency Exchange`},{emoji:`💲`,title:`Heavy Dollar Sign`},{emoji:`⚕️`,title:`Medical Symbol`},{emoji:`♻️`,title:`Recycling Symbol`},{emoji:`⚜️`,title:`Fleur-de-lis`},{emoji:`🔱`,title:`Trident Emblem`},{emoji:`📛`,title:`Name Badge`},{emoji:`🔰`,title:`Japanese Symbol For Beginner`},{emoji:`⭕`,title:`Hollow Red Circle`},{emoji:`✅`,title:`Check Mark Button`},{emoji:`☑️`,title:`Check Box With Check`},{emoji:`✔️`,title:`Check Mark`},{emoji:`❌`,title:`Cross Mark`},{emoji:`❎`,title:`Cross Mark Button`},{emoji:`➰`,title:`Curly Loop`},{emoji:`➿`,title:`Double Curly Loop`},{emoji:`〽️`,title:`Part Alternation Mark`},{emoji:`✳️`,title:`Eight-spoked Asterisk`},{emoji:`✴️`,title:`Eight-pointed Star`},{emoji:`❇️`,title:`Sparkle`},{emoji:`©️`,title:`Copyright`},{emoji:`®️`,title:`Registered`},{emoji:`™️`,title:`Trade Mark`},{emoji:`🫟`,title:`Splatter`},{emoji:`#️⃣`,title:`Keycap: #`},{emoji:`*️⃣`,title:`Keycap: *`},{emoji:`0️⃣`,title:`Keycap: 0`},{emoji:`1️⃣`,title:`Keycap: 1`},{emoji:`2️⃣`,title:`Keycap: 2`},{emoji:`3️⃣`,title:`Keycap: 3`},{emoji:`4️⃣`,title:`Keycap: 4`},{emoji:`5️⃣`,title:`Keycap: 5`},{emoji:`6️⃣`,title:`Keycap: 6`},{emoji:`7️⃣`,title:`Keycap: 7`},{emoji:`8️⃣`,title:`Keycap: 8`},{emoji:`9️⃣`,title:`Keycap: 9`},{emoji:`🔟`,title:`Keycap: 10`},{emoji:`🔠`,title:`Input Latin Uppercase`},{emoji:`🔡`,title:`Input Latin Lowercase`},{emoji:`🔢`,title:`Input Numbers`},{emoji:`🔣`,title:`Input Symbols`},{emoji:`🔤`,title:`Input Latin Letters`},{emoji:`🅰️`,title:`A Button (blood Type)`},{emoji:`🆎`,title:`AB Button (blood Type)`},{emoji:`🅱️`,title:`B Button (blood Type)`},{emoji:`🆑`,title:`CL Button`},{emoji:`🆒`,title:`COOL Button`},{emoji:`🆓`,title:`FREE Button`},{emoji:`ℹ️`,title:`Information`},{emoji:`🆔`,title:`ID Button`},{emoji:`Ⓜ️`,title:`Circled M`},{emoji:`🆕`,title:`NEW Button`},{emoji:`🆖`,title:`NG Button`},{emoji:`🅾️`,title:`O Button (blood Type)`},{emoji:`🆗`,title:`OK Button`},{emoji:`🅿️`,title:`P Button`},{emoji:`🆘`,title:`SOS Button`},{emoji:`🆙`,title:`UP! Button`},{emoji:`🆚`,title:`VS Button`},{emoji:`🈁`,title:`Japanese “here” Button`},{emoji:`🈂️`,title:`Japanese “service Charge” Button`},{emoji:`🈷️`,title:`Japanese “monthly Amount” Button`},{emoji:`🈶`,title:`Japanese “not Free Of Charge” Button`},{emoji:`🈯`,title:`Japanese “reserved” Button`},{emoji:`🉐`,title:`Japanese “bargain” Button`},{emoji:`🈹`,title:`Japanese “discount” Button`},{emoji:`🈚`,title:`Japanese “free Of Charge” Button`},{emoji:`🈲`,title:`Japanese “prohibited” Button`},{emoji:`🉑`,title:`Japanese “acceptable” Button`},{emoji:`🈸`,title:`Japanese “application” Button`},{emoji:`🈴`,title:`Japanese “passing Grade” Button`},{emoji:`🈳`,title:`Japanese “vacancy” Button`},{emoji:`㊗️`,title:`Japanese “congratulations” Button`},{emoji:`㊙️`,title:`Japanese “secret” Button`},{emoji:`🈺`,title:`Japanese “open For Business” Button`},{emoji:`🈵`,title:`Japanese “no Vacancy” Button`},{emoji:`🔴`,title:`Red Circle`},{emoji:`🟠`,title:`Orange Circle`},{emoji:`🟡`,title:`Yellow Circle`},{emoji:`🟢`,title:`Green Circle`},{emoji:`🔵`,title:`Blue Circle`},{emoji:`🟣`,title:`Purple Circle`},{emoji:`🟤`,title:`Brown Circle`},{emoji:`⚫`,title:`Black Circle`},{emoji:`⚪`,title:`White Circle`},{emoji:`🟥`,title:`Red Square`},{emoji:`🟧`,title:`Orange Square`},{emoji:`🟨`,title:`Yellow Square`},{emoji:`🟩`,title:`Green Square`},{emoji:`🟦`,title:`Blue Square`},{emoji:`🟪`,title:`Purple Square`},{emoji:`🟫`,title:`Brown Square`},{emoji:`⬛`,title:`Black Large Square`},{emoji:`⬜`,title:`White Large Square`},{emoji:`◼️`,title:`Black Medium Square`},{emoji:`◻️`,title:`White Medium Square`},{emoji:`◾`,title:`Black Medium-small Square`},{emoji:`◽`,title:`White Medium-small Square`},{emoji:`▪️`,title:`Black Small Square`},{emoji:`▫️`,title:`White Small Square`},{emoji:`🔶`,title:`Large Orange Diamond`},{emoji:`🔷`,title:`Large Blue Diamond`},{emoji:`🔸`,title:`Small Orange Diamond`},{emoji:`🔹`,title:`Small Blue Diamond`},{emoji:`🔺`,title:`Red Triangle Pointed Up`},{emoji:`🔻`,title:`Red Triangle Pointed Down`},{emoji:`💠`,title:`Diamond With A Dot`},{emoji:`🔘`,title:`Radio Button`},{emoji:`🔳`,title:`White Square Button`},{emoji:`🔲`,title:`Black Square Button`}]},za=[``,`🏻`,`🏼`,`🏽`,`🏾`,`🏿`],Ba=[{emoji:`✋`,title:`Raised Hand`,value:``},{emoji:`✋🏻`,title:`Raised Hand: Light Skin Tone`,value:`🏻`},{emoji:`✋🏼`,title:`Raised Hand: Medium-light Skin Tone`,value:`🏼`},{emoji:`✋🏽`,title:`Raised Hand: Medium Skin Tone`,value:`🏽`},{emoji:`✋🏾`,title:`Raised Hand: Medium-dark Skin Tone`,value:`🏾`},{emoji:`✋🏿`,title:`Raised Hand: Dark Skin Tone`,value:`🏿`}],Va={activity:`ui.emojiPicker.activities`,foods:`ui.emojiPicker.food`,nature:`ui.emojiPicker.animals`,objects:`ui.emojiPicker.objects`,people:`ui.emojiPicker.emojis`,places:`ui.emojiPicker.places`,symbols:`ui.emojiPicker.symbols`},Ha=Object.keys(Ra).filter(e=>e!==`frequent`).map(e=>({key:e,titleKey:Va[e]})),Ua=/[\u{1F3FB}-\u{1F3FF}]/gu,Wa=new Map;oo().forEach(e=>{[e,...e.skinToneVariants??[]].forEach(t=>{Wa.set(t.emoji,e)})});function Ga(){return Ra.frequent.slice(0,11)}function Ka(){return oo().flatMap(e=>[e,...e.skinToneVariants??[]])}function qa(e,t){let n=e.trim().toLowerCase();return n?oo().filter(e=>io(e,t).includes(n)):[]}function Ja(e,t){let n={emoji:t.emoji,title:t.title},r=Qa(t.emoji);return[n,...e.filter(e=>Qa(e.emoji)!==r).map(e=>({emoji:e.emoji,title:e.title}))].slice(0,11)}function Ya(e){if(!e)return Ga();if(Array.isArray(e))return ao(e);try{return ao(JSON.parse(e))}catch{return Ga()}}function Xa(e=Math.random,t=``){let n=oo();return Za(n[Math.floor(e()*n.length)]??Ga()[0],t)}function Za(e,t){var n;let r=Wa.get(e.emoji)??e;if(!t)return r;let i=(n=r.skinToneVariants)==null?void 0:n.find(e=>{let n=e.emoji.match(Ua)??[];return n.length>0&&n.every(e=>e===t)});return i?{...i,skinToneVariants:r.skinToneVariants}:r}function Qa(e){var t;return((t=Wa.get(e))==null?void 0:t.emoji)??e}function $a(e){let t=Wa.get(e);return t?[{emoji:t.emoji,title:t.title},...t.skinToneVariants??[]]:[]}function eo(e){var t;return!!((t=(Wa.get(e.emoji)??e).skinToneVariants)!=null&&t.some(e=>(e.emoji.match(Ua)??[]).length>1))}function to(e){return za.find(t=>t===e)??``}function no(e,t){return(t==null?void 0:t[e.emoji])??e.title}function ro(e){let t=e.getLocales(),n=t==null?void 0:t.ui,r=n==null?void 0:n.emojiPicker;return!r||typeof r!=`object`||Array.isArray(r)?{}:r}function io(e,t){return[e,...e.skinToneVariants??[]].flatMap(e=>[e.title,t==null?void 0:t[e.emoji]]).filter(Boolean).join(` `).toLowerCase()}function ao(e){if(!Array.isArray(e))return Ga();let t=e.filter(e=>typeof(e==null?void 0:e.emoji)==`string`&&typeof(e==null?void 0:e.title)==`string`),n=new Set,r=t.filter(e=>{let t=Qa(e.emoji);return!n.has(t)&&(n.add(t),!0)}).map(e=>({emoji:e.emoji,title:e.title})).slice(0,11);return r.length?r:Ga()}function oo(){return Ha.flatMap(e=>Ra[e.key])}let so=`ui.emoji-picker`,co=`univer.ui.emoji-skin-tone`;function lo(e){var n;let{DropdownComponent:a=i.Dropdown}=e,o=(n=e.popup)==null?void 0:n.extraProps,l=(0,s.useDependency)(t.LocaleService),u=(0,s.useDependency)(t.ILocalStorageService),d=(0,s.useObservable)(l.currentLocale$,l.getCurrentLocale()),f=(0,r.useRef)(void 0),p=(0,r.useRef)(null),m=(0,r.useRef)(!1),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(o==null?void 0:o.activeEmoji),[y,b]=(0,r.useState)(`recent`),[x,S]=(0,r.useState)(()=>Ga()),[C,w]=(0,r.useState)(``),[T,E]=(0,r.useState)(!1),D=(0,r.useDeferredValue)(h),O=ro(l),k=(0,r.useMemo)(()=>qa(D,O.emojiSearchIndex),[D,O]),A=(o==null?void 0:o.recentStorageKey)??`univer.ui.recent-emojis`,j=D.trim().length>0,{rows:M,sectionPositions:N}=(0,r.useMemo)(()=>{let e=[{key:`recent`,title:l.t(`ui.emojiPicker.recents`),emojis:x},...Ha.map(e=>({key:e.key,title:l.t(e.titleKey),emojis:Ra[e.key].map(e=>Za(e,C))}))];return _o(j?[{key:`people`,title:l.t(`ui.emojiPicker.searchResults`),emojis:k.map(e=>Za(e,C))}]:e,d)},[d,j,l,x,k,C]),[P,{containerProps:F,scrollTo:I,wrapperStyle:L}]=Ca(M,{containerTarget:f,itemHeight:vo,overscan:3});(0,r.useEffect)(()=>{let e=!1;return u.getItem(A).then(t=>{e||S(Ya(t))}).catch(()=>void 0),()=>{e=!0}},[u,A]),(0,r.useEffect)(()=>{let e=!1;return u.getItem(co).then(t=>{!e&&!m.current&&w(to(t))}).catch(()=>void 0),()=>{e=!0}},[u]),(0,r.useEffect)(()=>{let e=p.current;if(j||!e)return;let t=N.find(t=>t.key===e);t&&I(t.rowIndex),p.current=null},[j,I,N]);let R=(t,n)=>{var r,i;let a=Ja(x,t);v(t.emoji),S(a),go(u,A,a),(r=e.onChange)==null||r.call(e,t.emoji),o==null||(i=o.onSelect)==null||i.call(o,t.emoji,n)},z=()=>{R(Xa(Math.random,C),{keepOpen:!0})},B=e=>{m.current=!0,w(e),go(u,co,e)},V=e=>{F.onScroll(e),!j&&b(yo(N,e.currentTarget.scrollTop))},H=e=>{g(``),b(e);let t=N.find(t=>t.key===e);if(!j&&t){I(t.rowIndex);return}p.current=e};return(0,c.jsxs)(`section`,{"data-u-comp":so,onClick:e=>{e.stopPropagation(),E(!1)},className:(0,i.clsx)(`univer-flex univer-h-[340px] univer-w-[420px] univer-flex-col univer-overflow-hidden`,!e.embedded&&`univer-rounded-[10px] univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-900`),children:[(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-1 univer-px-3 univer-pb-2 univer-pt-3`,children:[(0,c.jsx)(i.Input,{"aria-label":l.t(`ui.emojiPicker.search`),placeholder:l.t(`ui.emojiPicker.search`),className:`univer-min-w-0 univer-flex-1`,value:h,onChange:g,slot:(0,c.jsx)(mr,{className:`univer-size-4 univer-text-gray-500 dark:!univer-text-gray-400`})}),(0,c.jsx)(i.Button,{"aria-label":l.t(`ui.emojiPicker.random`),title:l.t(`ui.emojiPicker.random`),className:`univer-flex-shrink-0 univer-text-gray-500 dark:!univer-text-gray-400`,size:`icon`,onClick:z,children:(0,c.jsx)(or,{})}),(0,c.jsx)(mo,{DropdownComponent:a,emojiTitles:O.emojiTitles,open:T,skinTone:C,onChange:B,onOpenChange:E})]}),(0,c.jsx)(`div`,{ref:f,className:(0,i.clsx)(`univer-relative univer-min-h-0 univer-flex-1 univer-overflow-y-auto univer-px-3`,i.scrollbarClassName),onScroll:V,children:M.length?(0,c.jsx)(`div`,{style:L,children:P.map(({data:e})=>e.type===`header`?(0,c.jsx)(`div`,{style:{height:24},className:`univer-flex univer-items-center univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400`,children:e.title},e.key):(0,c.jsx)(uo,{DropdownComponent:a,activeEmoji:_,emojiTitles:O.emojiTitles,items:e.items,keyPrefix:e.key,moreTitle:l.t(`ui.ribbon.more`),onSelect:R},e.key))}):(0,c.jsx)(`div`,{className:`univer-py-7 univer-text-center univer-text-sm univer-text-gray-400 dark:!univer-text-gray-500`,children:l.t(`ui.emojiPicker.noResults`)})}),(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-h-10 univer-shrink-0 univer-items-center univer-border-gray-200 univer-px-2.5 dark:!univer-border-gray-600 [&_svg]:univer-size-5`,i.borderTopClassName),children:[(0,c.jsx)(ho,{selected:!j&&y===`recent`,title:l.t(`ui.emojiPicker.recents`),onClick:()=>H(`recent`),children:(0,c.jsx)(cr,{})}),Ha.map(e=>(0,c.jsx)(ho,{selected:!j&&y===e.key,title:l.t(e.titleKey),onClick:()=>H(e.key),children:(0,c.jsx)(bo,{category:e.key})},e.key))]})]})}function uo(e){return(0,c.jsx)(`div`,{className:`univer-grid univer-grid-cols-10 univer-justify-between univer-gap-1`,style:{height:32},children:e.items.map(t=>(0,c.jsx)(fo,{DropdownComponent:e.DropdownComponent,activeEmoji:e.activeEmoji,emojiTitles:e.emojiTitles,item:t,moreTitle:e.moreTitle,onSelect:e.onSelect},`${e.keyPrefix}-${t.emoji}-${t.title}`))})}function fo(e){let[t,n]=(0,r.useState)(!1),a=no(e.item,e.emojiTitles),o=e.activeEmoji!=null&&Qa(e.activeEmoji)===Qa(e.item.emoji),s=eo(e.item),l=(0,c.jsx)(`button`,{type:`button`,"aria-label":a,title:a,className:(0,i.clsx)(`univer-flex univer-size-7 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:!univer-text-gray-200`,o?`univer-bg-primary-50 univer-shadow-sm dark:!univer-bg-gray-800 dark:!univer-shadow-sm`:`hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`),onClick:()=>e.onSelect(e.item,{keepOpen:!0}),children:e.item.emoji});if(!s)return l;let u=$a(e.item.emoji);return(0,c.jsxs)(`div`,{className:`univer-relative univer-size-7`,children:[l,(0,c.jsx)(e.DropdownComponent,{align:`end`,open:t,onOpenChange:n,overlay:(0,c.jsx)(`div`,{"data-u-comp":`ui.emoji-picker.skin-tone-variants`,className:`univer-grid univer-grid-cols-6 univer-gap-1 univer-p-1`,children:u.map(t=>(0,c.jsx)(po,{active:e.activeEmoji===t.emoji,emojiTitles:e.emojiTitles,item:t,onSelect:t=>{n(!1),e.onSelect(t,{keepOpen:!0})}},t.emoji))}),children:(0,c.jsx)(`button`,{type:`button`,"aria-label":`${a}, ${e.moreTitle}`,title:`${a}, ${e.moreTitle}`,className:`univer-bg-gray-0/90 dark:!univer-bg-gray-800/90 univer-absolute univer-bottom-0 univer-right-0 univer-flex univer-size-3 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-sm univer-border-0 univer-p-0 univer-text-gray-500 hover:univer-bg-gray-100 hover:univer-text-gray-700 focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700`,children:(0,c.jsx)(Bn,{className:`!univer-size-2.5`})})})]})}function po(e){let t=no(e.item,e.emojiTitles);return(0,c.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":e.active,title:t,className:(0,i.clsx)(`univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-md univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg hover:univer-bg-gray-100 focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:hover:!univer-bg-gray-700`,{"univer-bg-primary-50 univer-ring-1 univer-ring-primary-600 dark:!univer-bg-gray-700":e.active}),onClick:()=>e.onSelect(e.item),children:e.item.emoji})}function mo(e){let t=Ba.find(t=>t.value===e.skinTone)??Ba[0],n=no(t,e.emojiTitles),r=(t,n)=>{var r,i;let a=t.key===`ArrowRight`||t.key===`ArrowDown`?1:t.key===`ArrowLeft`||t.key===`ArrowUp`?-1:0;if(!a)return;t.preventDefault();let o=(n+a+Ba.length)%Ba.length,s=Ba[o];e.onChange(s.value);let c=(r=t.currentTarget.parentElement)==null?void 0:r.querySelectorAll(`[role="radio"]`);c==null||(i=c[o])==null||i.focus()};return(0,c.jsx)(`div`,{className:`univer-flex-shrink-0`,onClick:e=>e.stopPropagation(),children:(0,c.jsx)(e.DropdownComponent,{align:`end`,open:e.open,onOpenChange:e.onOpenChange,overlay:(0,c.jsx)(`div`,{"data-u-comp":`ui.emoji-picker.skin-tone-menu`,role:`radiogroup`,"aria-label":n,className:`univer-flex univer-gap-1 univer-p-1`,children:Ba.map((t,n)=>{let a=no(t,e.emojiTitles),o=t.value===e.skinTone;return(0,c.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":o,"aria-label":a,title:a,tabIndex:o?0:-1,className:(0,i.clsx)(`univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-md univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg hover:univer-bg-gray-100 focus-visible:univer-outline-none focus-visible:univer-ring-1 focus-visible:univer-ring-primary-600 dark:hover:!univer-bg-gray-700`,{"univer-bg-primary-50 univer-ring-1 univer-ring-primary-600 dark:!univer-bg-gray-700":o}),onClick:()=>{e.onChange(t.value),e.onOpenChange(!1)},onKeyDown:e=>r(e,n),children:t.emoji},t.value||`default`)})}),children:(0,c.jsxs)(i.Button,{"aria-label":n,title:n,className:`univer-relative univer-flex-shrink-0`,size:`icon`,children:[(0,c.jsx)(`span`,{className:`univer-text-lg`,children:t.emoji}),(0,c.jsx)(Bn,{className:`!univer-absolute !univer-bottom-0.5 !univer-right-0.5 !univer-size-2.5 univer-text-gray-500 dark:!univer-text-gray-300`})]})})})}function ho(e){return(0,c.jsx)(`button`,{type:`button`,"aria-label":e.title,"aria-selected":e.selected,title:e.title,className:(0,i.clsx)(`univer-flex univer-h-[30px] univer-flex-1 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-p-0 univer-text-gray-500 dark:!univer-text-gray-400`,e.selected?`univer-bg-primary-50 univer-text-primary-500 dark:!univer-bg-gray-800 dark:!univer-text-primary-400`:`hover:univer-bg-gray-50 hover:univer-text-gray-700 dark:hover:!univer-bg-gray-800 dark:hover:!univer-text-gray-300`),onClick:e.onClick,children:e.children})}function go(e,t,n){e.setItem(t,n).catch(()=>void 0)}function _o(e,t){let n=[],r=[],i=0;return e.forEach(e=>{if(e.emojis.length){r.push({key:e.key,rowIndex:n.length,top:i}),n.push({key:`${t}-${e.key}-header`,title:e.title,type:`header`}),i+=24;for(let r=0;r<e.emojis.length;r+=10)n.push({items:e.emojis.slice(r,r+10),key:`${t}-${e.key}-${r/10}`,type:`emojis`}),i+=32}}),{rows:n,sectionPositions:r}}function vo(e,t){return t.type===`header`?24:32}function yo(e,t){let n=`recent`;return e.forEach(e=>{e.top<=t+28&&(n=e.key)}),n}function bo(e){switch(e.category){case`activity`:return(0,c.jsx)(un,{});case`foods`:return(0,c.jsx)(En,{});case`nature`:return(0,c.jsx)(Xn,{});case`objects`:return(0,c.jsx)(Qn,{});case`people`:return(0,c.jsx)(er,{});case`places`:return(0,c.jsx)(nr,{});default:return(0,c.jsx)(br,{})}}function xo(e){return(0,c.jsx)(lo,{...e,DropdownComponent:i.MobileDropdown})}let So=(0,t.createIdentifier)(`univer.font-service`),Co=`宋体,Arial,Baskerville,Comic Sans MS,Courier New,Helvetica,Times New Roman,Verdana,Apple LiGothic,Apple LiSung,Hei,Kai,LiHei Pro,LiSong Pro,STFangsong,STHeiti,STKaiti,STSong,报隶-繁,报隶-简,冬青黑体简体中文,黑体-繁,黑体-简,华文仿宋,华文楷体,华文宋体,楷体-繁,楷体-简,兰亭黑-繁,兰亭黑-简,隶变-繁,隶变-简,凌慧体-繁,凌慧体-简,翩翩体-繁,翩翩体-简,苹方-繁,苹方-港,苹方-简,手札体-繁,手札体-简,宋体-繁,宋体-简,娃娃体-繁,娃娃体-简,魏碑-繁,魏碑-简,行楷-繁,行楷-简,雅痞-繁,雅痞-简,圆体-繁,圆体-简,Arial Black,Big Caslon,Courier,Didot,Futura,Georgia,Helvetica Neue,Optima,Times,Tahoma,BIZ UDGothic,BIZ UDMincho,Hiragino Maru Gothic Pro,Hiragino Maru Gothic ProN,Hiragino Mincho Pro,Hiragino Mincho ProN,Hiragino Sans,Klee,Osaka,Toppan Bunkyu Gothic,Toppan Bunkyu Midashi Gothic,Toppan Bunkyu Midashi Mincho,Toppan Bunkyu Mincho,Tsukushi A Round Gothic,Tsukushi B Round Gothic,YuKyokasho,YuKyokasho Yoko,YuMincho +36p Kana,American Typewriter,Andale Mono,Apple Chancery,Apple SD Gothic Neo,Apple Symbols,AppleGothic,AppleMyungjo,Arial Unicode MS,Athelas,Avenir,Avenir Next,Avenir Next Condensed,Ayuthaya,Bangla MN,Bangla Sangam MN,Bauhaus 93,Bodoni 72,Bodoni 72 Oldstyle,Bodoni 72 Smallcaps,Bodoni Ornaments,Bookshelf Symbol 7,Bradley Hand,Chalkboard,Chalkboard SE,Chalkduster,Charter,Cochin,Copperplate,Devanagari Sangam MN,Din Alternate,Euphemia UCAS,Galvji,Geneva,Gill Sans,Gujarati Sangam MN,GungSeo,Gurmukhi MN,Gurmukhi Sangam MN,HeadLineA,Herculanum,Hiragino Kaku Gothic Pro,Hiragino Kaku Gothic ProN,Hiragino Kaku Gothic Std,Hiragino Kaku Gothic StdN,Hoefler Text,Impact,InaiMathi,Iowan Old Style,Kannada MN,Kannada Sangam MN,Kefa,Khmer MN,Khmer Sangam MN,Kohinoor Bangla,Kohinoor Devanagari,Kohinoor Telugu,Krungthep,Lao MN,Lao Sangam MN,Lucida Grande,Luminari,Malayalam MN,Malayalam Sangam MN,Marion,Marker Felt,Menlo,Microsoft Sans Serif,Modern No. 20,Monaco,Mukta Mahee,Nanum Brush Script,Nanum Gothic,Nanum Myeongjo,Nanum Pen Script,Noteworthy,Oriya MN,Oriya Sangam MN,Palatino,Papyrus,PCMyungjo,Phosphate,PilGi,Plantagenet Cherokee,PT Mono,PT Sans,PT Sans Caption,PT Serif,PT Serif Caption,Rockwell,Sathu,Savoye LET,Seravek,Shree Devanagari 714,SignPainter,Silom,Sinhala MN,Sinhala Sangam MN,Skia,Snell Roundhand,STIXGeneral,Sukhumvit Set,Superclarendon,Tamil MN,Tamil Sangam MN,Telugu MN,Telugu Sangam MN,Trattatello,Trebuchet MS,Webdings,Wingdings,Wingdings 2,Wingdings 3,YuGothic,YuGothic Light,YuGothic Medium,Zapfino`.split(`,`).map(e=>({value:e,label:e})),wo=class{constructor(e){this._configService=e,S(this,`fonts$`,new n.BehaviorSubject([]));let{customFontFamily:t}=this._configService.getConfig(`ui.config`)??{},r=[];r=t?Array.isArray(t)?[...Co,...t]:t.override?[...t.list]:[...Co,...t.list]:[...Co],this.fonts$.next(r)}dispose(){this.resetToDefaults(),this.fonts$.complete()}getFonts(){return this.fonts$.getValue()}getFontByValue(e){return this.getFonts().find(t=>t.value===e)}isFontSupported(e){let t=document.createElement(`canvas`).getContext(`2d`);if(!t)return!1;let n=`abcdefghijklmnopqrstuvwxyz0123456789`,r=`72px`,i=[`monospace`,`serif`,`sans-serif`],a={};return i.forEach(e=>{t.font=`${r} ${e}`,a[e]=t.measureText(n).width}),i.some(i=>(t.font=`${r} "${e}", ${i}`,t.measureText(n).width!==a[i]))}addFont(e){if(this.getFontByValue(e.value))throw Error(`[FontService]: Font with value "${e.value}" already exists.`);let t=[...this.getFonts(),e].sort();this.fonts$.next(t)}updateFont(e,t){let n=this.getFonts(),r=n.findIndex(t=>t.value===e);if(r===-1)throw Error(`Font with value "${e}" not found.`);let i={...n[r],...t},a=[...n];a[r]=i,this.fonts$.next(a)}removeFont(e){let t=this.getFonts();if(t.findIndex(t=>t.value===e)===-1)return!1;let n=t.filter(t=>t.value!==e);return this.fonts$.next(n),!0}resetToDefaults(){this.fonts$.next([...Co])}};wo=w([C(0,t.IConfigService)],wo);function To(){let e=(0,s.useDependency)(So);return{fonts:(0,s.useObservable)(e.fonts$,e.getFonts()),fontService:e}}let Eo=`UI_FONT_FAMILY_COMPONENT`,Do=({className:e,disabled:n,value:a,disabled$:o,onChange:l})=>{let u=(0,s.useObservable)(o),d=!!(n||u),f=(0,s.useDependency)(t.LocaleService),{fonts:p}=To(),[m,h]=(0,r.useState)(null),g=(0,r.useMemo)(()=>{if(a==null)return``;let e=p.find(e=>e.value===a);return e?f.t(e.label):f.t(a)},[a,p,f]),_=m??g;function v(){h(null)}function y(e){h(e.target.value)}function b(e){e.stopPropagation(),!(d||e.nativeEvent.isComposing)&&(e.key===`Enter`?S():e.key===`Escape`&&(e.preventDefault(),v()))}function x(){m!==null&&_!==g&&v()}function S(){let e=_.trim().toLowerCase();if(!e){v();return}let t=p.find(t=>f.t(t.label).toLowerCase().includes(e));if(!t){v();return}C(t.value)}function C(e){v(),l(e)}return(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-w-32 univer-truncate univer-text-sm`,e),style:{fontFamily:a},children:(0,c.jsx)(`input`,{className:`univer-block univer-h-6 univer-border-none univer-bg-transparent univer-leading-6 univer-text-gray-900 focus:univer-outline-none dark:!univer-text-gray-0 [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-7 [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-p-0 [&_input]:univer-text-sm`,type:`text`,value:_,onPointerDown:e=>e.stopPropagation(),onChange:y,onKeyDown:b,onBlur:x,disabled:d})})},Oo=`UI_FONT_FAMILY_ITEM_COMPONENT`,ko=({value:e,onChange:n})=>{let r=(0,s.useDependency)(t.LocaleService),a=(0,s.useObservable)(r.direction$,r.getDirection()),{fonts:o,fontService:l}=To();function u(e){n(e)}return(0,c.jsx)(`ul`,{dir:a,className:`univer-m-0 univer-list-none univer-p-0 univer-text-sm`,style:{fontFamily:e},children:o.map(e=>(0,c.jsx)(`li`,{children:(0,c.jsxs)(`button`,{className:`univer-flex univer-h-7 univer-w-full univer-appearance-none univer-items-center univer-justify-between univer-gap-6 univer-rounded univer-border-none univer-bg-transparent univer-px-2 univer-text-gray-900 hover:univer-bg-gray-100 dark:!univer-text-gray-0 dark:hover:!univer-bg-gray-700`,style:{fontFamily:e.value},type:`button`,onClick:()=>u(e.value),children:[r.t(e.label),!l.isFontSupported(e.value)&&(0,c.jsx)(i.Tooltip,{title:r.t(`ui.fontFamily.not-supported`),children:(0,c.jsx)(Pn,{className:`univer-text-gray-300 dark:!univer-text-gray-400`})})]})},e.value))})},Ao=e=>{let{value:t,min:n,max:a,onChange:o,disabled$:l}=e,u=(0,s.useObservable)(l),[d,f]=(0,r.useState)(null),p=d!==null&&d.source===t?d.value:Number(t??0);d!==null&&d.source!==t&&f(null);function m(e){f({source:t,value:e})}function h(){f(null)}function g(e){e.stopPropagation(),!(u||e.nativeEvent.isComposing)&&(e.key===`Escape`?(e.preventDefault(),h()):e.code===`Enter`&&(h(),p!==null&&o(Math.min(a,Math.max(n,p)))))}return(0,c.jsx)(`div`,{className:`univer-h-6 univer-w-7 univer-text-sm`,onPointerDown:e=>e.stopPropagation(),children:(0,c.jsx)(i.InputNumber,{className:`univer-block univer-h-6 univer-border-none univer-bg-transparent univer-leading-6 [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-7 [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-p-0 [&_input]:univer-text-sm`,value:p,controls:!1,onKeyDown:g,onChange:m,onBlur:h,disabled:u})})},jo=[{label:`9`,value:9},{label:`10`,value:10},{label:`11`,value:11},{label:`12`,value:12},{label:`14`,value:14},{label:`16`,value:16},{label:`18`,value:18},{label:`20`,value:20},{label:`22`,value:22},{label:`24`,value:24},{label:`26`,value:26},{label:`28`,value:28},{label:`36`,value:36},{label:`48`,value:48},{label:`72`,value:72}],Mo=[{label:`ui.toolbar.heading.normal`,value:t.NamedStyleType.NORMAL_TEXT},{label:`ui.toolbar.heading.title`,value:t.NamedStyleType.TITLE},{label:`ui.toolbar.heading.subTitle`,value:t.NamedStyleType.SUBTITLE},{label:`ui.toolbar.heading.1`,value:t.NamedStyleType.HEADING_1},{label:`ui.toolbar.heading.2`,value:t.NamedStyleType.HEADING_2},{label:`ui.toolbar.heading.3`,value:t.NamedStyleType.HEADING_3},{label:`ui.toolbar.heading.4`,value:t.NamedStyleType.HEADING_4},{label:`ui.toolbar.heading.5`,value:t.NamedStyleType.HEADING_5}],No=`UI_FONT_SIZE_COMPONENT`,Po=e=>{var n;let{value:r,text:a}=e,o=t.NAMED_STYLE_MAP[r],l=(0,s.useDependency)(t.LocaleService);return(0,c.jsx)(`span`,{className:(0,i.clsx)(`univer-text-sm`,{"univer-font-bold":o==null?void 0:o.bl}),style:{fontSize:o==null?void 0:o.fs,color:(o==null||(n=o.cl)==null?void 0:n.rgb)??void 0},children:l.t(a)})},Fo=`UI_COMPONENT_HEADING_ITEM`,Io=[{key:`mathematics`,titleKey:`ui.symbolPicker.mathematics`,symbols:`+.−.×.÷.≠.≈.<.>.≤.≥.≪.≫.≡.±.%.‰.‱.½.⅓.⅔.¼.¾.¹.².³.ⁿ.₁.₂.₃.|a|.∟.∠.⊿.△.∥.⊥.∫.∬.∭.∮.∯.∰.∝.∞.∼.≌.∈.∉.⊆.⊂.∅.∩.∪.∧.∨.⋅.⋮.⋰.⋱.⋯.∏.∑.∃.∄.∀.∂.∆.⊙.⊕.%`.split(`.`)},{key:`greek`,titleKey:`ui.symbolPicker.greek`,symbols:`α.β.γ.δ.ε.ζ.η.θ.ι.κ.λ.μ.ν.ξ.ο.π.ρ.σ.τ.υ.φ.χ.ψ.ω.Α.Β.Γ.Δ.Ε.Ζ.Η.Θ.Ι.Κ.Λ.Μ.Ν.Ξ.Ο.Π.Ρ.Σ.Τ.Υ.Φ.Χ.Ψ.Ω`.split(`.`)},{key:`common`,titleKey:`ui.symbolPicker.common`,symbols:`kg.mm.cm.m².°C.°.§.◎.©.®.{.⌜.〚.№.$.¥.@.&.*.|.#.※.√.×.….①.②.③.↑.↓.←.→`.split(`.`)}],Lo=`ui.symbol-picker`;function Ro(e){var n;let a=(n=e.popup)==null?void 0:n.extraProps,o=(0,s.useDependency)(t.LocaleService);(0,s.useObservable)(o.currentLocale$,o.getCurrentLocale());let[l,u]=(0,r.useState)(a==null?void 0:a.activeSymbol),d=t=>{var n,r;u(t),(n=e.onChange)==null||n.call(e,t),a==null||(r=a.onSelect)==null||r.call(a,t,{keepOpen:!0})};return(0,c.jsx)(`section`,{"data-u-comp":Lo,className:(0,i.clsx)(`univer-flex univer-h-[340px] univer-w-[420px] univer-flex-col univer-overflow-hidden`,!e.embedded&&`univer-rounded-[10px] univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-900`,e.className),children:(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-min-h-0 univer-flex-1 univer-overflow-y-auto univer-p-4`,i.scrollbarClassName),children:(0,c.jsx)(`div`,{className:`univer-flex univer-flex-col univer-gap-5`,children:Io.map(e=>(0,c.jsx)(zo,{activeSymbol:l,category:e,onSelect:d},e.key))})})})}function zo(e){let n=(0,s.useDependency)(t.LocaleService);return(0,c.jsxs)(`section`,{className:`univer-flex univer-flex-col univer-gap-2`,children:[(0,c.jsx)(`div`,{className:`univer-text-sm univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-100`,children:n.t(e.category.titleKey)}),(0,c.jsx)(`div`,{className:`univer-grid univer-grid-cols-10 univer-gap-1`,children:e.category.symbols.map((t,n)=>{let r=e.activeSymbol===t;return(0,c.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":r,title:t,className:(0,i.clsx)(`univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-p-0 univer-text-lg univer-text-gray-900 dark:!univer-text-gray-100`,r?`univer-bg-primary-50 univer-shadow-sm dark:!univer-bg-gray-800 dark:!univer-shadow-sm`:`hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-800`),onClick:()=>e.onSelect(t),children:t},`${e.category.key}-${t}-${n}`)})})]})}let Bo=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({ExpandIcon:bn,IncreaseIcon:Mn,KeyboardIcon:Rn,MoreDownIcon:Bn,RedoIcon:ur,ReduceIcon:fr,ShrinkIcon:vr,UndoIcon:Sr}))}_registerComponents(){[[La,Ia],[Fo,Po],[Eo,Do],[Oo,ko],[No,Ao],[Fa,i.MobileColorPicker],[so,xo],[Lo,Ro]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}};Bo=w([C(0,(0,t.Inject)(L)),C(1,(0,t.Inject)(z))],Bo);let Vo={"ribbon.start.history":{[t.UndoCommand.id]:{order:0,gridLayout:{row:1,column:1,iconSize:18},menuItemFactory:Dt},[t.RedoCommand.id]:{order:1,gridLayout:{row:2,column:1,iconSize:18},menuItemFactory:Ot}}},Ho=(0,r.forwardRef)((e,t)=>(0,c.jsx)(ti,{...e,ref:t,title:e.title??e.tooltip,tooltip:void 0,shortcut:void 0,dropdownComponent:i.MobileDropdown,dropdownMenuComponent:i.MobileDropdownMenu}));function Uo(e){let{headerMenuComponents:n,headerMenu:r=!0}=e,i=(0,s.useDependency)(rt),a=(0,s.useDependency)(W),o=(0,s.useObservable)(i.ribbon$,[]),l=(0,s.useObservable)(i.activatedTab$,`ribbon.start`),u=(0,s.useObservable)(a.rootUnitType$,null,!0);return u===t.UniverInstanceType.UNIVER_SHEET||u===t.UniverInstanceType.UNIVER_DOC?(0,c.jsx)(Go,{ribbon:o,headerMenu:r,headerMenuComponents:n}):(0,c.jsx)(Wo,{ribbon:o,activatedTab:l,headerMenu:r,headerMenuComponents:n})}function Wo(e){let{ribbon:n,activatedTab:a,headerMenuComponents:o,headerMenu:l=!0}=e,u=(0,s.useDependency)(t.LocaleService),d=(0,s.useDependency)(rt),f=(0,r.useMemo)(()=>{let e=n.findIndex(e=>e.key===a);return e===-1?0:e},[a,n]),p=n[f],m=(p==null?void 0:p.children)??[],h=!!(l&&o&&o.size>0),g=(0,r.useRef)(null),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{!p&&n.length>0&&d.setActivatedTab(n[0].key)},[p,n,d]),(0,r.useEffect)(()=>{let e=g.current;if(!e)return;let t=()=>{let{scrollLeft:t,clientWidth:n,scrollWidth:r}=e;v(t>4),b(t+n<r-4)},n=requestAnimationFrame(t),r=new ResizeObserver(t);return r.observe(e),e.addEventListener(`scroll`,t,{passive:!0}),()=>{cancelAnimationFrame(n),r.disconnect(),e.removeEventListener(`scroll`,t)}},[p]),n.length===0&&!h)return null;function x(e){let t=n[e];t&&d.setActivatedTab(t.key)}function S(e){let t=g.current;t&&t.scrollBy({left:e===`left`?-168:168,behavior:`smooth`})}return(0,c.jsxs)(`div`,{"data-u-comp":`mobile-ribbon`,className:(0,i.clsx)(`univer-flex univer-flex-col univer-gap-1.5 univer-bg-gray-50 univer-px-3 univer-py-1.5 univer-text-sm dark:!univer-bg-gray-900`,i.borderBottomClassName),children:[(0,c.jsxs)(`div`,{className:`univer-grid univer-grid-cols-[28px_minmax(0,1fr)_auto] univer-items-center univer-gap-1.5 univer-px-0.5 univer-py-0.5`,children:[(0,c.jsx)(`div`,{className:`univer-flex univer-items-center`,children:(0,c.jsx)(`button`,{type:`button`,className:(0,i.clsx)(i.resetButtonClassName,`univer-size-7 univer-rounded-md univer-text-gray-500 univer-transition-colors hover:univer-bg-gray-100 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700 dark:active:!univer-bg-gray-600`,{"univer-opacity-40":f===0}),disabled:f===0,"aria-label":u.t(`ui.navigation.previous`),onClick:()=>x(f-1),children:(0,c.jsx)(Wn,{className:`univer-rotate-180 univer-text-sm`,preserveStrokeWidth:!0})})}),(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-items-center univer-justify-center univer-gap-2.5`,children:n.map((e,t)=>{let n=t===f;return(0,c.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":n,className:(0,i.clsx)(`
21
30
  ${i.resetButtonClassName}
22
31
  univer-relative univer-shrink-0 univer-px-1 univer-py-1 univer-text-sm
23
32
  univer-font-semibold univer-transition-colors
@@ -29,23 +38,32 @@ hover:univer-bg-gray-100 whitespace-nowrap univer-w-max
29
38
  dark:!univer-text-gray-300
30
39
  dark:hover:!univer-bg-gray-700
31
40
  dark:active:!univer-bg-gray-600
32
- `,{"univer-opacity-40":f>=n.length-1}),disabled:f>=n.length-1,"aria-label":u.t(`ui.navigation.next`),onClick:()=>x(f+1),children:(0,c.jsx)(Pn,{className:`univer-text-sm`,preserveStrokeWidth:!0})}),h&&(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-1 [&>*]:univer-m-0 [&>*]:univer-inline-flex [&>*]:univer-min-h-7 [&>*]:univer-min-w-7 [&>*]:univer-appearance-none [&>*]:univer-items-center [&>*]:univer-justify-center [&>*]:univer-rounded-md [&>*]:univer-border-0 [&>*]:univer-px-1.5 [&>*]:univer-leading-none [&>*]:univer-outline-none`,children:(0,c.jsx)(Z,{components:o})})]})]}),(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-grid univer-grid-cols-[22px_minmax(0,1fr)_22px] univer-items-center univer-gap-1.5 univer-rounded-xl univer-bg-gray-0 univer-px-2 univer-py-1 dark:!univer-bg-gray-800`,i.borderClassName),children:[(0,c.jsx)(`button`,{type:`button`,className:(0,i.clsx)(`
41
+ `,{"univer-opacity-40":f>=n.length-1}),disabled:f>=n.length-1,"aria-label":u.t(`ui.navigation.next`),onClick:()=>x(f+1),children:(0,c.jsx)(Kn,{className:`univer-text-sm`,preserveStrokeWidth:!0})}),h&&(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-1 [&>*]:univer-m-0 [&>*]:univer-inline-flex [&>*]:univer-min-h-7 [&>*]:univer-min-w-7 [&>*]:univer-appearance-none [&>*]:univer-items-center [&>*]:univer-justify-center [&>*]:univer-rounded-md [&>*]:univer-border-0 [&>*]:univer-px-1.5 [&>*]:univer-leading-none [&>*]:univer-outline-none`,children:(0,c.jsx)(Z,{components:o})})]})]}),(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-grid univer-grid-cols-[22px_minmax(0,1fr)_22px] univer-items-center univer-gap-1.5 univer-rounded-xl univer-bg-gray-0 univer-px-2 univer-py-1 dark:!univer-bg-gray-800`,i.borderClassName),children:[(0,c.jsx)(`button`,{type:`button`,className:(0,i.clsx)(`
33
42
  ${i.resetButtonClassName}
34
43
  univer-h-8 univer-w-5 univer-text-gray-500 univer-transition-colors
35
44
  dark:!univer-text-gray-300
36
- `,{"univer-opacity-30":!_}),disabled:!_,"aria-label":u.t(`ui.navigation.previous`),onClick:()=>S(`left`),children:(0,c.jsx)(Mn,{className:`univer-text-sm`,preserveStrokeWidth:!0})}),(0,c.jsx)(`div`,{ref:g,"data-u-comp":`mobile-ribbon-toolbar`,className:`univer-flex univer-min-w-0 univer-items-center univer-gap-1.5 univer-overflow-x-auto univer-scroll-smooth univer-px-0.5 [&::-webkit-scrollbar]:univer-hidden`,children:m.map((e,t)=>{var n;let r=((n=e.children)==null?void 0:n.filter(e=>!!e.item))??[];return r.length?(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-flex univer-shrink-0 univer-items-center univer-gap-0.5 univer-pr-1.5 rtl:univer-pl-1.5 rtl:univer-pr-0`,{[i.borderRightClassName]:t!==m.length-1}),children:r.map(e=>e.item&&(0,c.jsx)(`div`,{className:(0,i.clsx)(`[&_button]:!univer-font-inherit univer-flex univer-h-8 univer-shrink-0 univer-items-center univer-rounded-md [&_*]:univer-box-border [&_.univer-custom-label]:univer-text-sm [&_.univer-custom-label]:univer-leading-none [&_.univer-toolbar-button-selector-main]:!univer-h-8 [&_.univer-toolbar-button-selector-main]:!univer-rounded-none [&_.univer-toolbar-button-selector-main]:!univer-rounded-l-md [&_.univer-toolbar-button-selector-main]:!univer-px-1.5 [&_.univer-toolbar-button-selector-root]:!univer-h-8 [&_.univer-toolbar-button-selector-root]:univer-overflow-hidden [&_.univer-toolbar-button-selector-root]:!univer-rounded-md [&_.univer-toolbar-button-selector-root]:!univer-pr-0 [&_.univer-toolbar-button-selector-trigger]:!univer-static [&_.univer-toolbar-button-selector-trigger]:!univer-h-8 [&_.univer-toolbar-button-selector-trigger]:!univer-w-6 [&_.univer-toolbar-button-selector-trigger]:!univer-rounded-none [&_.univer-toolbar-button-selector-trigger]:!univer-rounded-r-md [&_.univer-toolbar-selector-root]:!univer-h-8 [&_.univer-toolbar-selector-root]:!univer-gap-1 [&_.univer-toolbar-selector-root]:!univer-rounded-md [&_.univer-toolbar-selector-root]:!univer-px-1.5 [&_.univer-toolbar-selector-trigger]:!univer-pl-0.5 [&_.univer-tooltip]:univer-inline-flex [&_.univer-tooltip]:univer-h-full [&_.univer-tooltip]:univer-items-center [&_[data-u-command]]:!univer-h-8 [&_[data-u-command]]:!univer-min-h-8 [&_[data-u-command]]:!univer-rounded-md [&_[data-u-command]]:!univer-px-1.5 [&_button]:!univer-m-0 [&_button]:!univer-h-8 [&_button]:!univer-min-w-8 [&_button]:!univer-appearance-none [&_button]:!univer-rounded-md [&_button]:!univer-border-0 [&_button]:!univer-bg-transparent [&_button]:!univer-p-0 [&_button]:!univer-px-1.5 [&_button]:!univer-leading-none [&_button]:!univer-outline-none [&_input]:!univer-m-0 [&_input]:!univer-appearance-none [&_input]:!univer-border-0 [&_input]:!univer-bg-transparent [&_input]:!univer-p-0 [&_input]:!univer-leading-none [&_input]:!univer-outline-none`),children:(0,c.jsx)(Oo,{...e.item,preserveStrokeWidth:!0})},e.key))},e.key):null})}),(0,c.jsx)(`button`,{type:`button`,className:(0,i.clsx)(`
45
+ `,{"univer-opacity-30":!_}),disabled:!_,"aria-label":u.t(`ui.navigation.previous`),onClick:()=>S(`left`),children:(0,c.jsx)(Wn,{className:`univer-text-sm`,preserveStrokeWidth:!0})}),(0,c.jsx)(`div`,{ref:g,"data-u-comp":`mobile-ribbon-toolbar`,className:`univer-flex univer-min-w-0 univer-items-center univer-gap-1.5 univer-overflow-x-auto univer-scroll-smooth univer-px-0.5 [&::-webkit-scrollbar]:univer-hidden`,children:m.map((e,t)=>{var n;let r=((n=e.children)==null?void 0:n.filter(e=>!!e.item))??[];return r.length?(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-flex univer-shrink-0 univer-items-center univer-gap-0.5 univer-pr-1.5 rtl:univer-pl-1.5 rtl:univer-pr-0`,{[i.borderRightClassName]:t!==m.length-1}),children:r.map(e=>e.item&&(0,c.jsx)(`div`,{className:(0,i.clsx)(`[&_button]:!univer-font-inherit univer-flex univer-h-8 univer-shrink-0 univer-items-center univer-rounded-md [&_*]:univer-box-border [&_.univer-custom-label]:univer-text-sm [&_.univer-custom-label]:univer-leading-none [&_.univer-toolbar-button-selector-main]:!univer-h-8 [&_.univer-toolbar-button-selector-main]:!univer-rounded-none [&_.univer-toolbar-button-selector-main]:!univer-rounded-l-md [&_.univer-toolbar-button-selector-main]:!univer-px-1.5 [&_.univer-toolbar-button-selector-root]:!univer-h-8 [&_.univer-toolbar-button-selector-root]:univer-overflow-hidden [&_.univer-toolbar-button-selector-root]:!univer-rounded-md [&_.univer-toolbar-button-selector-root]:!univer-pr-0 [&_.univer-toolbar-button-selector-trigger]:!univer-static [&_.univer-toolbar-button-selector-trigger]:!univer-h-8 [&_.univer-toolbar-button-selector-trigger]:!univer-w-6 [&_.univer-toolbar-button-selector-trigger]:!univer-rounded-none [&_.univer-toolbar-button-selector-trigger]:!univer-rounded-r-md [&_.univer-toolbar-selector-root]:!univer-h-8 [&_.univer-toolbar-selector-root]:!univer-gap-1 [&_.univer-toolbar-selector-root]:!univer-rounded-md [&_.univer-toolbar-selector-root]:!univer-px-1.5 [&_.univer-toolbar-selector-trigger]:!univer-pl-0.5 [&_.univer-tooltip]:univer-inline-flex [&_.univer-tooltip]:univer-h-full [&_.univer-tooltip]:univer-items-center [&_[data-u-command]]:!univer-h-8 [&_[data-u-command]]:!univer-min-h-8 [&_[data-u-command]]:!univer-rounded-md [&_[data-u-command]]:!univer-px-1.5 [&_button]:!univer-m-0 [&_button]:!univer-h-8 [&_button]:!univer-min-w-8 [&_button]:!univer-appearance-none [&_button]:!univer-rounded-md [&_button]:!univer-border-0 [&_button]:!univer-bg-transparent [&_button]:!univer-p-0 [&_button]:!univer-px-1.5 [&_button]:!univer-leading-none [&_button]:!univer-outline-none [&_input]:!univer-m-0 [&_input]:!univer-appearance-none [&_input]:!univer-border-0 [&_input]:!univer-bg-transparent [&_input]:!univer-p-0 [&_input]:!univer-leading-none [&_input]:!univer-outline-none`),children:(0,c.jsx)(Ho,{...e.item,preserveStrokeWidth:!0})},e.key))},e.key):null})}),(0,c.jsx)(`button`,{type:`button`,className:(0,i.clsx)(`
37
46
  ${i.resetButtonClassName}
38
47
  univer-h-8 univer-w-5 univer-text-gray-500 univer-transition-colors
39
48
  dark:!univer-text-gray-300
40
- `,{"univer-opacity-30":!y}),disabled:!y,"aria-label":u.t(`ui.navigation.next`),onClick:()=>S(`right`),children:(0,c.jsx)(Pn,{className:`univer-text-sm`,preserveStrokeWidth:!0})})]})]})}function jo(e){var n,a,o,u;let{headerMenuComponents:d,headerMenu:f=!0,ribbon:p}=e,[m,h]=(0,r.useState)(!1),g=(0,r.useRef)(null),{mountContainer:_}=(0,r.useContext)(i.ConfigContext),v=(0,s.useDependency)(t.LocaleService),y=p.find(e=>e.key===`ribbon.start`),b=(y==null||(n=y.children)==null||(n=n.find(e=>e.key===`ribbon.start.history`))==null?void 0:n.children)??[],x=(y==null||(a=y.children)==null||(a=a.find(e=>e.key===`ribbon.start.others`))==null?void 0:a.children)??[],S=b.filter(e=>e.item),C=x.flatMap(e=>{var t;return(t=e.children)!=null&&t.length?e.children:[e]}).filter(e=>e.item),w=!!(f&&d&&d.size>0);if(S.length===0&&C.length===0&&!w)return null;let T=m?(o=g.current)==null?void 0:o.getBoundingClientRect():void 0,E=((u=g.current)==null||(u=u.ownerDocument.defaultView)==null?void 0:u.innerWidth)??0,D=m&&_&&(0,l.createPortal)((0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":v.t(`ui.rangeSelector.cancel`),className:(0,i.clsx)(i.resetButtonClassName,`univer-fixed univer-inset-0 univer-z-[1390] !univer-rounded-none !univer-bg-transparent`),onClick:()=>h(!1)}),(0,c.jsx)(`div`,{"data-u-comp":`mobile-sheet-more-menu`,className:(0,i.clsx)(`univer-fixed univer-z-[1400] univer-flex univer-w-60 univer-max-w-[calc(100vw-24px)] univer-flex-col univer-gap-1 univer-rounded-2xl univer-bg-gray-0 univer-p-2 univer-shadow-lg dark:!univer-bg-gray-800`,i.borderClassName),style:{top:((T==null?void 0:T.bottom)??48)+8,right:Math.max(12,E-((T==null?void 0:T.right)??E))},children:C.map(e=>(0,c.jsx)(`div`,{className:`univer-w-full [&>span]:univer-block [&>span]:univer-w-full [&_button]:!univer-h-12 [&_button]:!univer-w-full [&_button]:!univer-justify-start [&_button]:!univer-gap-3 [&_button]:!univer-rounded-xl [&_button]:!univer-px-4 [&_button]:!univer-text-base`,onClick:()=>h(!1),children:(0,c.jsx)(Oo,{...e.item,grid:!0,showLabel:!0,preserveStrokeWidth:!0})},e.key))})]}),_);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(`div`,{"data-u-comp":`mobile-sheet-top-bar`,className:(0,i.clsx)(`univer-flex univer-h-12 univer-items-center univer-justify-end univer-gap-1 univer-bg-gray-0 univer-px-3 dark:!univer-bg-gray-800`,i.borderBottomClassName),children:[(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-1 [&_button]:!univer-min-h-10 [&_button]:!univer-min-w-10 [&_button]:!univer-rounded-lg [&_button_svg]:!univer-size-5`,children:S.map(e=>(0,c.jsx)(Oo,{...e.item},e.key))}),w&&(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-1 [&>*]:univer-m-0 [&>*]:univer-inline-flex [&>*]:univer-min-h-10 [&>*]:univer-min-w-10 [&>*]:univer-items-center [&>*]:univer-justify-center [&>*]:univer-rounded-lg`,children:(0,c.jsx)(Z,{components:d})}),C.length>0&&(0,c.jsx)(`button`,{ref:g,type:`button`,"data-u-comp":`mobile-sheet-more-trigger`,"aria-label":v.t(`ui.ribbon.more`),"aria-expanded":m,className:(0,i.clsx)(i.resetButtonClassName,`univer-flex univer-size-10 univer-items-center univer-justify-center univer-rounded-lg univer-text-gray-700 univer-transition-colors active:univer-bg-gray-100 dark:!univer-text-gray-200 dark:active:!univer-bg-gray-700`),onClick:()=>h(e=>!e),children:(0,c.jsx)(An,{className:`univer-size-5`,preserveStrokeWidth:!0})})]}),D]})}let Mo=(0,r.createContext)(null);function No(e){let t=(0,r.useRef)([]),[n,i]=(0,r.useState)(null),a=(0,r.useCallback)(e=>{t.current=e,i(e.length?e[e.length-1].id:null)},[]),o=(0,r.useCallback)(e=>{a(t.current.filter(t=>t.id!==e))},[a]),s=(0,r.useCallback)(e=>{let n=t.current.find(t=>t.id===e);n&&(o(e),n.onClose())},[o]),l=(0,r.useCallback)((e,n,r)=>{let i={id:e,onClose:r};if(n===`push`){a([...t.current,i]);return}let o=t.current;a([i]);for(let e=o.length-1;e>=0;e--)o[e].onClose()},[a]),u=(0,r.useMemo)(()=>({activeDrawerId:n,close:s,register:l,unregister:o}),[n,s,l,o]);return(0,c.jsx)(Mo.Provider,{value:u,children:e.children})}function Po(e){let{snap:t,deltaY:n,durationMs:r,percent:i}=e,a=n/Math.max(r,1);return n>48&&a>.55||i<20?`closed`:t===`expanded`&&n>24?`compact`:t===`compact`&&n<-24||i>=60?`expanded`:`compact`}function Fo(e){var t;let{snap:n,expandLabel:a,collapseLabel:o,onSnapChange:s,onClose:l,children:u,header:d,floatingActions:f,componentName:p=`mobile-drawer`,panelRef:m,contentRef:h,layerRef:g,openMode:_=`replace`,panelClassName:v,contentClassName:y,footer:b,role:x,ariaLabel:S}=e,C=(0,r.useContext)(Mo),w=C==null?void 0:C.register,T=C==null?void 0:C.unregister,E=(0,r.useRef)(null),D=(0,r.useRef)(null),O=(0,r.useRef)(l);O.current=l,D.current||=Symbol(p);let k=D.current,A=!C||C.activeDrawerId===k,[j,M]=(0,r.useState)(null),N=(0,r.useRef)(!1),P=(0,r.useRef)(null),F=j??(n===`compact`?40:80),I=(t=globalThis.CSS)!=null&&t.supports(`height`,`1dvh`)?`dvh`:`vh`;(0,r.useImperativeHandle)(m,()=>E.current),(0,r.useLayoutEffect)(()=>{if(!(!w||!T))return w(k,_,()=>O.current()),()=>T(k)},[k,_,w,T]),(0,r.useLayoutEffect)(()=>{var e;let t=(g==null?void 0:g.current)??(g?(e=E.current)==null?void 0:e.parentElement:null);t&&t.toggleAttribute(`hidden`,!A)},[A,g]);function L(e){P.current={startY:e,startTime:performance.now(),startPercent:F,currentPercent:F,moved:!1}}function R(e){let t=P.current;if(!t)return;let n=e-t.startY,r=Math.max(0,Math.min(80,t.startPercent-n/Math.max(window.innerHeight,1)*100));t.currentPercent=r,t.moved||=Math.abs(n)>6,M(r)}function z(e){let t=P.current;if(!t)return;let r=Po({snap:n,deltaY:e-t.startY,durationMs:performance.now()-t.startTime,percent:t.currentPercent});N.current=t.moved,P.current=null,M(null),r===`closed`?C?C.close(k):l():s(r)}function B(e){try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}L(e.clientY)}function V(e){R(e.clientY)}function H(e){z(e.clientY)}function U(){P.current=null,M(null)}return(0,c.jsxs)(c.Fragment,{children:[f&&(0,c.jsx)(`div`,{className:`univer-pointer-events-none univer-absolute univer-right-4 univer-z-30`,style:{bottom:`calc(${F}${I} + 12px)`},children:f}),(0,c.jsxs)(`section`,{ref:E,hidden:!A,role:x,"aria-modal":x===`dialog`||void 0,"aria-label":S,"data-u-comp":p,"data-snap":n,className:(0,i.clsx)(`univer-absolute univer-inset-x-0 univer-bottom-0 univer-z-20 univer-flex univer-flex-col univer-overflow-hidden univer-rounded-t-[24px] univer-bg-gray-50 univer-shadow-2xl univer-transition-[height] univer-duration-200 dark:!univer-bg-gray-900`,j!=null&&`!univer-transition-none`,v),style:{height:`${F}${I}`,paddingBottom:`env(safe-area-inset-bottom, 0px)`},children:[(0,c.jsxs)(`div`,{className:`univer-relative univer-flex univer-h-14 univer-shrink-0 univer-items-end univer-bg-gray-0 dark:!univer-bg-gray-800`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":n===`compact`?a:o,className:(0,i.clsx)(i.resetButtonClassName,`univer-absolute univer-left-1/2 univer-top-0 univer-z-10 univer-flex univer-h-6 univer-w-16 -univer-translate-x-1/2 univer-touch-none univer-items-center univer-justify-center`),style:{touchAction:`none`},onPointerDown:B,onPointerMove:V,onPointerUp:H,onPointerCancel:U,onClick:()=>{if(N.current){N.current=!1;return}s(n===`compact`?`expanded`:`compact`)},children:(0,c.jsx)(`span`,{className:`univer-h-1 univer-w-10 univer-rounded-full univer-bg-gray-300 dark:!univer-bg-gray-600`})}),d]}),(0,c.jsx)(`div`,{ref:h,className:(0,i.clsx)(`univer-flex-1 univer-overflow-y-auto univer-overflow-x-hidden univer-p-3`,i.scrollbarClassName,y),children:u}),b]})]})}function Io(e){let{menuType:n,onOptionSelect:i,schemas:a,menuManagerService:l,showHeader:u=!0,presentation:d=`drawer`,onNavigationChange:f}=e,p=(0,s.useDependency)(J),m=(0,s.useDependency)(t.LocaleService),h=l??p,[g,_]=(0,r.useState)([]),v=a==null?void 0:a.map(e=>e.key).join(`|`),y=(0,r.useMemo)(()=>a||(n?h.getMenuByPositionKey(n):[]),[a,h,(0,s.useObservable)((0,r.useMemo)(()=>h.menuChanged$.pipe((0,o.scan)(e=>e+1,0),(0,o.startWith)(0)),[h]),0),n]);(0,r.useEffect)(()=>{_([])},[n,v]);let b=g[g.length-1]??null,x=(0,r.useCallback)(()=>_(e=>e.slice(0,-1)),[]);if((0,r.useEffect)(()=>{f==null||f(b?{title:b.title,onBack:x}:null)},[x,b,f]),!n&&!a)return null;let S=e=>_(t=>[...t,e]);return d===`context-bar`?(0,c.jsx)(Lo,{currentView:b,menuSchemas:y,menuManagerService:h,onExecute:i,onOpenView:S,onBack:x}):(0,c.jsxs)(`div`,{className:`univer-flex univer-flex-col`,children:[u&&b&&(0,c.jsxs)(`header`,{className:`univer-grid univer-grid-cols-[32px_minmax(0,1fr)_32px] univer-items-center univer-gap-3 univer-border-0 univer-border-b univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-px-4 univer-py-3 dark:!univer-border-gray-700 dark:!univer-bg-gray-800`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":m.t(`ui.navigation.back`),className:`univer-flex univer-size-8 univer-appearance-none univer-items-center univer-justify-center univer-rounded-full univer-border-0 univer-bg-transparent univer-p-0 univer-text-gray-700 hover:univer-bg-gray-100 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:hover:!univer-bg-gray-700 dark:active:!univer-bg-gray-600`,onClick:x,children:(0,c.jsx)(Mn,{className:`univer-text-base`})}),(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-center univer-text-sm univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-100`,children:b.title}),(0,c.jsx)(`div`,{className:`univer-size-8`,"aria-hidden":`true`})]}),(0,c.jsxs)(`div`,{className:`univer-pb-2 univer-pt-1`,children:[(b==null?void 0:b.kind)!==`options`&&(0,c.jsx)(`div`,{className:`univer-overflow-hidden univer-rounded-xl univer-bg-gray-0 dark:!univer-bg-gray-800`,children:(0,c.jsx)(Vo,{schemas:(b==null?void 0:b.kind)===`schema`?b.schemas:y,menuManagerService:h,onExecute:i,onOpenView:S,inheritedDisabled$:b==null?void 0:b.disabled$})}),(b==null?void 0:b.kind)===`options`&&(0,c.jsx)(`div`,{className:`univer-overflow-hidden univer-rounded-xl univer-bg-gray-0 dark:!univer-bg-gray-800`,children:(0,c.jsx)(Uo,{menuKey:b.menuKey,menuItem:b.menuItem,options:b.options,currentValue:b.currentValue,inheritedDisabled$:b.disabled$,onExecute:i})})]})]})}function Lo(e){let{currentView:n,menuSchemas:i,menuManagerService:a,onExecute:o,onOpenView:l,onBack:u}=e,d=(0,s.useDependency)(t.LocaleService),f=(0,r.useRef)(null),[p,m]=(0,r.useState)({left:!1,right:!1}),h=Bo((n==null?void 0:n.kind)===`schema`?n.schemas:i),g=(0,r.useCallback)(()=>{let e=f.current;e&&m({left:e.scrollLeft>1,right:e.scrollLeft+e.clientWidth<e.scrollWidth-1})},[]);(0,r.useLayoutEffect)(()=>{let e=f.current;e&&(e.scrollLeft=0);let t=requestAnimationFrame(g);return()=>cancelAnimationFrame(t)},[n,i,g]);let _=e=>{let t=f.current;t==null||t.scrollBy({left:e*t.clientWidth*.8,behavior:`smooth`})};return(0,c.jsxs)(`div`,{role:`menu`,"data-u-comp":`mobile-context-menu-bar`,className:`univer-flex univer-h-12 univer-max-w-full univer-items-stretch univer-overflow-hidden univer-rounded-lg univer-bg-gray-0 univer-text-sm univer-text-gray-900 univer-shadow-lg dark:!univer-bg-gray-700 dark:!univer-text-gray-0`,children:[(!!n||p.left)&&(0,c.jsx)(`button`,{type:`button`,"aria-label":d.t(`ui.navigation.back`),className:`univer-flex univer-w-11 univer-shrink-0 univer-items-center univer-justify-center univer-border-0 univer-border-r univer-border-solid univer-border-gray-200 univer-bg-transparent univer-text-base univer-text-gray-700 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 active:univer-bg-gray-100 dark:!univer-border-gray-600 dark:!univer-text-gray-200 dark:active:!univer-bg-gray-600`,onClick:()=>p.left?_(-1):u(),children:(0,c.jsx)(Mn,{})}),(0,c.jsx)(`div`,{ref:f,className:`univer-flex univer-min-w-0 univer-flex-1 univer-snap-x univer-snap-mandatory univer-overflow-x-auto univer-overflow-y-hidden`,style:{scrollbarWidth:`none`},onScroll:g,children:(n==null?void 0:n.kind)===`options`?n.options.map((e,t)=>(0,c.jsx)(zo,{option:e,menuKey:n.menuKey,menuItem:n.menuItem,currentValue:n.currentValue,inheritedDisabled$:n.disabled$,onExecute:o},`${n.menuKey}-${String(e.value??t)}`)):h.map(e=>(0,c.jsx)(Ro,{schema:e,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:n==null?void 0:n.disabled$},e.key))}),p.right&&(0,c.jsx)(`button`,{type:`button`,"aria-label":d.t(`ui.navigation.next`),className:`univer-flex univer-w-11 univer-shrink-0 univer-items-center univer-justify-center univer-border-0 univer-border-l univer-border-solid univer-border-gray-200 univer-bg-transparent univer-text-base univer-text-gray-700 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 active:univer-bg-gray-100 dark:!univer-border-gray-600 dark:!univer-text-gray-200 dark:active:!univer-bg-gray-600`,onClick:()=>_(1),children:(0,c.jsx)(Pn,{})})]})}function Ro(e){let{schema:n,menuManagerService:r,onExecute:i,onOpenView:a,inheritedDisabled$:o}=e,l=(0,s.useDependency)(t.LocaleService),u=Go({schema:n,menuManagerService:r,onOpenView:a,inheritedDisabled$:o});return!u||u.hidden?null:(0,c.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:u.disabled,className:`univer-flex univer-min-w-[72px] univer-shrink-0 univer-snap-start univer-items-center univer-justify-center univer-border-0 univer-border-r univer-border-solid univer-border-gray-200 univer-bg-transparent univer-px-4 univer-text-sm univer-text-gray-900 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:active:univer-bg-gray-100 disabled:univer-opacity-40 dark:!univer-border-gray-600 dark:!univer-text-gray-0 dark:enabled:active:!univer-bg-gray-600`,onClick:()=>u.onPress(i),children:(0,c.jsx)(`span`,{className:`univer-whitespace-nowrap`,children:qo(n,l)})})}function zo(e){let{option:t,menuKey:n,menuItem:r,currentValue:i,inheritedDisabled$:a,onExecute:o}=e,l=(0,s.useObservable)(a,!1),u=(0,s.useObservable)(t.value$),d=t.value??u,f=l||!!t.disabled;return(0,c.jsx)(`button`,{type:`button`,role:`menuitem`,"aria-pressed":d===i,disabled:f,className:`univer-flex univer-min-w-[72px] univer-shrink-0 univer-snap-start univer-items-center univer-justify-center univer-border-0 univer-border-r univer-border-solid univer-border-gray-200 univer-bg-transparent univer-px-4 univer-text-sm univer-text-gray-900 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:active:univer-bg-gray-100 disabled:univer-opacity-40 dark:!univer-border-gray-600 dark:!univer-text-gray-0 dark:enabled:active:!univer-bg-gray-600`,onClick:()=>o==null?void 0:o({...t,value:d,id:r.id,label:n,commandId:t.commandId}),children:(0,c.jsx)($,{value$:t.value$,value:d,label:t.label})})}function Bo(e){return e.flatMap(e=>e.item?[e]:Bo(e.children??[]))}function Vo(e){let{schemas:n,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u}=e,d=(0,s.useDependency)(t.LocaleService),f=Jo(n),p=(0,r.useMemo)(()=>n.filter(e=>{var t;return e.item?!0:(t=e.children)!=null&&t.length?!f[e.key]:!1}),[f,n]);return(0,c.jsx)(c.Fragment,{children:p.map((e,t)=>{var n;return e.item?(0,c.jsx)(Ho,{schema:e,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u,bordered:t!==p.length-1},e.key):(n=e.children)!=null&&n.length?(0,c.jsxs)(`section`,{className:(0,i.clsx)(`univer-grid`,t!==p.length-1&&i.borderBottomClassName),children:[e.title&&(0,c.jsx)(`div`,{className:`univer-px-4 univer-pb-1 univer-pt-3 univer-text-xs univer-font-medium univer-uppercase univer-tracking-[0.08em] univer-text-gray-500 dark:!univer-text-gray-400`,children:d.t(e.title)}),e.children.map((t,n)=>(0,c.jsx)(Ho,{schema:t,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u,bordered:n!==e.children.length-1},t.key))]},e.key):null})})}function Ho(e){let{schema:t,menuManagerService:n,onExecute:r,onOpenView:a,inheritedDisabled$:o,bordered:s}=e,l=Go({schema:t,menuManagerService:n,onOpenView:a,inheritedDisabled$:o});if(!l||l.hidden)return null;let{menuItem:u,activated:d,disabled:f,value:p,currentValueText:m,hasSubmenu:h,onPress:g}=l;return typeof u.label==`object`&&u.label?(0,c.jsx)(`div`,{role:`group`,"aria-disabled":f,className:(0,i.clsx)(`univer-flex univer-min-h-12 univer-w-full univer-items-center univer-gap-3 univer-bg-gray-0 univer-px-4 univer-py-2 aria-disabled:univer-pointer-events-none aria-disabled:univer-opacity-40 dark:!univer-bg-gray-800 [&>div]:univer-box-border [&>div]:univer-min-w-0 [&>div]:univer-flex-1 [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700 dark:[&>svg]:!univer-text-gray-300`,s&&i.borderBottomClassName),"data-u-command":u.id,onClick:e=>{e.target instanceof Element&&e.target.closest(`button, input, select, textarea, [role="button"]`)||g(r)},children:(0,c.jsx)($,{value:p,label:u.label,icon:u.icon,onChange:e=>{f||r==null||r({commandId:u.commandId,value:e,id:u.id,label:t.key,params:u.params})}})}):(0,c.jsxs)(`button`,{type:`button`,className:(0,i.clsx)(`univer-flex univer-min-h-12 univer-w-full univer-appearance-none univer-items-center univer-gap-3 univer-border-0 univer-bg-gray-0 univer-px-4 univer-py-2 univer-text-left univer-outline-none univer-transition-colors focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:hover:univer-bg-gray-50 enabled:active:univer-bg-gray-100 disabled:univer-cursor-not-allowed disabled:univer-opacity-40 dark:!univer-bg-gray-800 dark:hover:!univer-bg-gray-700 dark:active:!univer-bg-gray-600`,s&&i.borderBottomClassName),"data-u-command":u.id,disabled:f,"aria-pressed":u.type===2?d:void 0,onClick:()=>g(r),children:[(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-3 univer-text-gray-900 dark:!univer-text-gray-100 [&>span]:univer-truncate [&>span]:univer-text-base [&>span]:univer-font-medium [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700 dark:[&>svg]:!univer-text-gray-300`,children:(0,c.jsx)($,{value:p,title:u.title??u.tooltip,label:u.label,icon:u.icon})}),m&&(0,c.jsx)(`span`,{className:`univer-max-w-[32%] univer-truncate univer-text-xs univer-font-medium univer-text-gray-400 dark:!univer-text-gray-500`,children:m}),d&&(0,c.jsx)(tn,{className:`univer-shrink-0 univer-text-primary-600`}),h&&(0,c.jsx)(Pn,{className:`univer-shrink-0 univer-text-base univer-text-gray-400 dark:!univer-text-gray-500`})]})}function Uo(e){let{options:t,menuKey:n,menuItem:r,currentValue:i,inheritedDisabled$:a,onExecute:o}=e,l=(0,s.useObservable)(a,!1);return(0,c.jsx)(c.Fragment,{children:t.map((e,a)=>(0,c.jsx)(Wo,{option:e,menuKey:n,menuItem:r,currentValue:i,disabled:l,bordered:a!==t.length-1,onExecute:o},`${n}-${String(e.value??a)}`))})}function Wo(e){let{option:t,menuKey:n,menuItem:r,currentValue:a,disabled:o,bordered:l,onExecute:u}=e,d=(0,s.useDependency)(L),f=(0,s.useObservable)(t.value$),p=t.value??f,m=p===a,h=o||!!t.disabled;return typeof t.label==`object`&&t.label&&d.get(t.label.name)?(0,c.jsx)(`div`,{role:`group`,"data-u-comp":`mobile-custom-menu-option`,className:(0,i.clsx)(`univer-w-full univer-bg-gray-0 dark:!univer-bg-gray-800 [&>div>*]:univer-box-border [&>div>*]:!univer-w-full [&>div]:univer-box-border [&>div]:!univer-w-full`,l&&i.borderBottomClassName),children:(0,c.jsx)($,{value$:t.value$,value:p,label:t.label,icon:t.icon,onChange:e=>{h||u==null||u({...t,value:e,id:r.id,label:n,commandId:t.commandId})}})}):(0,c.jsxs)(`button`,{type:`button`,"aria-pressed":m,className:(0,i.clsx)(`univer-relative univer-flex univer-min-h-12 univer-w-full univer-appearance-none univer-items-center univer-gap-3 univer-border-0 univer-bg-gray-0 univer-px-4 univer-py-2 univer-text-left univer-outline-none univer-transition-colors focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:hover:univer-bg-gray-50 enabled:active:univer-bg-gray-100 disabled:univer-cursor-not-allowed disabled:univer-opacity-40 dark:!univer-bg-gray-800 dark:hover:!univer-bg-gray-700 dark:active:!univer-bg-gray-600`,l&&i.borderBottomClassName),disabled:h,onClick:()=>{h||u==null||u({...t,value:p,id:r.id,label:n,commandId:t.commandId})},children:[(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-3 univer-text-gray-900 dark:!univer-text-gray-100 [&>span]:univer-truncate [&>span]:univer-text-base [&>span]:univer-font-medium [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700 dark:[&>svg]:!univer-text-gray-300`,children:(0,c.jsx)($,{value$:t.value$,value:p,label:t.label,icon:t.icon})}),m&&(0,c.jsx)(tn,{className:`univer-shrink-0 univer-text-base univer-text-primary-600 dark:!univer-text-primary-400`})]})}function Go(e){let{schema:i,menuManagerService:a,onOpenView:c,inheritedDisabled$:l}=e,u=(0,s.useDependency)(t.LocaleService),d=i.item,f=(d==null?void 0:d.type)===0?void 0:d,p=(0,r.useMemo)(()=>{let e=[l,d==null?void 0:d.disabled$].filter(e=>!!e);return e.length?(0,n.combineLatest)(e.map(e=>e.pipe((0,o.startWith)(!1)))).pipe((0,n.map)(e=>e.some(Boolean))):void 0},[l,d==null?void 0:d.disabled$]),m=(0,s.useObservable)(p,!1),h=(0,s.useObservable)(d==null?void 0:d.hidden$,!1),g=(0,s.useObservable)(d==null?void 0:d.activated$,!1),_=(0,s.useObservable)(d==null?void 0:d.value$),v=(0,s.useObservable)(f&&(0,n.isObservable)(f.selections)?f.selections:void 0),y=(0,r.useMemo)(()=>i.children??[],[i.children]),b=(0,s.useObservable)((0,r.useMemo)(()=>Ko(y),[y]),y.length),x=(0,r.useMemo)(()=>!f||(d==null?void 0:d.type)!==1&&(d==null?void 0:d.type)!==2?[]:v||(Array.isArray(f.selections)?f.selections:[]),[d==null?void 0:d.type,v,f]),S=(0,r.useMemo)(()=>!d||d.type!==3||!d.id?[]:a.getMenuByPositionKey(d.id),[d,a]);if(!d)return null;let C=b>0||x.length>0||S.length>0,w=m||d.type===3&&!C;return{menuItem:d,activated:g,disabled:w,hidden:h,value:_,currentValueText:typeof _==`string`||typeof _==`number`?String(_):``,hasSubmenu:C,onPress:e=>{if(!w){if(y.length>0){let e=d.type===2&&x.length===0?[{...i,children:void 0},...y]:y;c({kind:`schema`,title:qo(i,u),schemas:e,disabled$:p});return}if(x.length>0&&f){c({kind:`options`,title:qo(i,u),options:x,menuItem:f,menuKey:i.key,currentValue:_,disabled$:p});return}if(S.length>0){c({kind:`schema`,title:qo(i,u),schemas:S,disabled$:p});return}(d.type===0||d.type===2)&&(e==null||e({commandId:d.commandId,value:_,id:d.id,label:i.key,params:d.params}))}}}}function Ko(e){let t=Yo(e);return t.length===0?(0,n.of)(0):(0,n.combineLatest)(t.map(e=>{var t;return(((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)).pipe((0,o.startWith)(!1))})).pipe((0,n.map)(e=>e.filter(e=>!e).length))}function qo(e,t){let n=e.item;return typeof(n==null?void 0:n.title)==`string`?t.t(n.title):typeof(n==null?void 0:n.label)==`string`?t.t(n.label):typeof(n==null?void 0:n.tooltip)==`string`?t.t(n.tooltip):typeof e.title==`string`?t.t(e.title):e.key}function Jo(e){return(0,s.useObservable)((0,r.useMemo)(()=>{let t=e.flatMap(e=>{var t;let r=(t=e.children)!=null&&t.length?Yo(e.children).map(e=>{var t;return((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)}):[];return r.length?[(0,n.combineLatest)(r).pipe((0,n.map)(t=>[e.key,t.every(Boolean)]))]:[]});return t.length?(0,n.merge)(...t).pipe((0,o.scan)((e,[t,n])=>({...e,[t]:n}),{}),(0,o.startWith)({})):(0,n.of)({})},[e]),{})}function Yo(e){return e.reduce((e,t)=>{var n;return(n=t.children)!=null&&n.length?[...e,...Yo(t.children)]:t.item?[...e,t]:e},[])}function Xo(e){return e.visible?(0,c.jsx)(Zo,{...e}):null}function Zo(e){let{title:n,menuType:a,schemas:o,menuManagerService:u,onClose:d,onOptionSelect:f}=e,[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(`compact`),_=(0,s.useDependency)(t.LocaleService),v=(0,s.useDependency)(J),y=(0,s.useObservable)(_.direction$),{mountContainer:b}=(0,r.useContext)(i.ConfigContext),x=(0,r.useRef)(null);return b?(0,l.createPortal)((0,c.jsxs)(`div`,{ref:x,dir:y,className:`univer-fixed univer-inset-0 univer-z-[1080] univer-flex univer-items-end`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":_.t(`ui.rangeSelector.cancel`),className:(0,i.clsx)(i.resetButtonClassName,`!univer-absolute !univer-inset-0 !univer-m-0 !univer-block !univer-appearance-none !univer-rounded-none !univer-border-0 !univer-bg-black/35 !univer-p-0 univer-backdrop-blur-[2px]`),onClick:d}),(0,c.jsx)(Fo,{layerRef:x,componentName:`mobile-menu-drawer`,snap:h,expandLabel:_.t(`ui.ribbon.more`),collapseLabel:_.t(`ui.ribbon.more`),onSnapChange:g,onClose:d,role:`dialog`,ariaLabel:(p==null?void 0:p.title)??n,contentClassName:`univer-px-3 univer-pb-3`,header:(0,c.jsxs)(`div`,{className:`univer-grid univer-h-12 univer-flex-1 univer-grid-cols-[40px_minmax(0,1fr)_40px] univer-items-center univer-gap-3 univer-px-4`,children:[p?(0,c.jsx)(`button`,{type:`button`,"aria-label":_.t(`ui.navigation.back`),className:(0,i.clsx)(i.resetButtonClassName,`univer-size-10 univer-rounded-xl univer-text-gray-700 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`),onClick:p.onBack,children:(0,c.jsx)(Mn,{className:`univer-size-5`})}):(0,c.jsx)(`span`,{className:`univer-size-10`,"aria-hidden":`true`}),(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-center univer-text-base univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-100`,children:(p==null?void 0:p.title)??n}),(0,c.jsx)(`button`,{type:`button`,"aria-label":_.t(`ui.rangeSelector.cancel`),className:(0,i.clsx)(i.resetButtonClassName,`univer-size-10 univer-rounded-xl univer-text-gray-700 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`),onClick:d,children:(0,c.jsx)(rn,{className:`univer-size-5`})})]}),children:(0,c.jsx)(Io,{menuType:a,schemas:o,menuManagerService:u??v,showHeader:!1,onNavigationChange:m,onOptionSelect:f})})]}),b):null}let Qo=`mobile-context-menu`;function $o(){let[e,n]=(0,r.useState)(!1),[a,o]=(0,r.useState)(``),[l,u]=(0,r.useState)(),d=(0,r.useRef)(e),f=(0,s.useDependency)(Yr),p=(0,s.useDependency)(qr),m=(0,s.useDependency)(t.ICommandService),h=(0,s.useDependency)(D),g=(0,s.useDependency)(J),_=(0,s.useDependency)(Se),v=(0,s.useDependency)(t.LocaleService),{mountContainer:y}=(0,r.useContext)(i.ConfigContext);d.current=e;let b=(0,r.useCallback)((e,t,r)=>{f.activateMenu(Qo),o(t),u(r),n(!0)},[f]),x=(0,r.useCallback)(()=>{n(!1),f.deactivateMenu(Qo)},[f]);(0,r.useEffect)(()=>{let e=f.registerMenu(Qo,()=>{n(!1)}),t=p.registerContextMenuHandler({handleContextMenu:b,hideContextMenu(){x()},get visible(){return d.current}});return()=>{t.dispose(),e.dispose(),f.deactivateMenu(Qo)}},[f,p,x,b]);let S=(0,r.useMemo)(()=>{switch(a){case`contextMenu.rowHeader`:return v.t(`ui.row`);case`contextMenu.colHeader`:return v.t(`ui.column`);default:return``}},[v,a]);if(!y||!e)return null;let C=_.get(l==null?void 0:l.unitId),w=C!=null&&C.has(t.ICommandService)?C.get(t.ICommandService):m,T=C!=null&&C.has(D)?C.get(D):h,E=C!=null&&C.has(J)?C.get(J):g;return(0,c.jsx)(Xo,{visible:!0,title:S,menuType:a,menuManagerService:E,onClose:x,onOptionSelect:e=>{let t=e.commandId??e.id??(typeof e.label==`string`?e.label:void 0),n=typeof e.params==`function`?e.params():e.params,r=e.value===void 0?n:{value:e.value},i=l?{...l,...r}:r;t&&(T.focus(),w.executeCommand(t,i),x())}})}function es(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useDependency)(P),a=(0,s.useObservable)(n.sidebarOptions$),o=(0,r.useRef)(null),l=(0,r.useRef)(null),u=(0,r.useRef)(null),[d,f]=(0,r.useState)(`expanded`),p=(0,r.useMemo)(()=>ta(a),[a]);if((0,r.useEffect)(()=>{if(p!=null&&p.visible){var e;(e=u.current)==null||e.focus()}},[p==null?void 0:p.visible]),(0,r.useEffect)(()=>{let e=l.current;n.setContainer(e??void 0);let t=e=>n.scrollEvent$.next(e);return e==null||e.addEventListener(`scroll`,t),()=>{e==null||e.removeEventListener(`scroll`,t),n.setContainer(void 0)}},[p==null?void 0:p.visible,n]),!(p!=null&&p.visible))return null;let m=()=>n.close(a==null?void 0:a.id);return(0,c.jsxs)(`div`,{ref:o,className:`univer-fixed univer-inset-0 univer-z-[1100]`,"data-u-comp":`mobile-sidebar`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":e.t(`ui.sidebar.close`),className:`univer-absolute univer-inset-0 univer-m-0 univer-appearance-none univer-rounded-none univer-border-0 univer-bg-black/35 univer-p-0`,onClick:m}),(0,c.jsx)(Fo,{layerRef:o,componentName:`mobile-sidebar-drawer`,snap:d,expandLabel:e.t(`ui.ribbon.more`),collapseLabel:e.t(`ui.ribbon.more`),onSnapChange:f,onClose:m,role:`dialog`,ariaLabel:e.t(`ui.sidebar.panel`),contentRef:l,panelClassName:`
49
+ `,{"univer-opacity-30":!y}),disabled:!y,"aria-label":u.t(`ui.navigation.next`),onClick:()=>S(`right`),children:(0,c.jsx)(Kn,{className:`univer-text-sm`,preserveStrokeWidth:!0})})]})]})}function Go(e){var n,a,o,u;let{headerMenuComponents:d,headerMenu:f=!0,ribbon:p}=e,[m,h]=(0,r.useState)(!1),g=(0,r.useRef)(null),{mountContainer:_}=(0,r.useContext)(i.ConfigContext),v=(0,s.useDependency)(t.LocaleService),y=p.find(e=>e.key===`ribbon.start`),b=(y==null||(n=y.children)==null||(n=n.find(e=>e.key===`ribbon.start.history`))==null?void 0:n.children)??[],x=(y==null||(a=y.children)==null||(a=a.find(e=>e.key===`ribbon.start.others`))==null?void 0:a.children)??[],S=b.filter(e=>e.item),C=x.flatMap(e=>{var t;return(t=e.children)!=null&&t.length?e.children:[e]}).filter(e=>e.item),w=!!(f&&d&&d.size>0);if(S.length===0&&C.length===0&&!w)return null;let T=m?(o=g.current)==null?void 0:o.getBoundingClientRect():void 0,E=((u=g.current)==null||(u=u.ownerDocument.defaultView)==null?void 0:u.innerWidth)??0,D=m&&_&&(0,l.createPortal)((0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":v.t(`ui.rangeSelector.cancel`),className:(0,i.clsx)(i.resetButtonClassName,`univer-fixed univer-inset-0 univer-z-[1390] !univer-rounded-none !univer-bg-transparent`),onClick:()=>h(!1)}),(0,c.jsx)(`div`,{"data-u-comp":`mobile-more-menu`,className:(0,i.clsx)(`univer-fixed univer-z-[1400] univer-flex univer-w-60 univer-max-w-[calc(100vw-24px)] univer-flex-col univer-gap-1 univer-rounded-2xl univer-bg-gray-0 univer-p-2 univer-shadow-lg dark:!univer-bg-gray-800`,i.borderClassName),style:{top:((T==null?void 0:T.bottom)??48)+8,right:Math.max(12,E-((T==null?void 0:T.right)??E))},children:C.map(e=>(0,c.jsx)(`div`,{className:`univer-w-full [&>span]:univer-block [&>span]:univer-w-full [&_button]:!univer-h-12 [&_button]:!univer-w-full [&_button]:!univer-justify-start [&_button]:!univer-gap-3 [&_button]:!univer-rounded-xl [&_button]:!univer-px-4 [&_button]:!univer-text-base`,onClick:()=>h(!1),children:(0,c.jsx)(Ho,{...e.item,grid:!0,showLabel:!0,preserveStrokeWidth:!0})},e.key))})]}),_);return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(`div`,{"data-u-comp":`mobile-compact-top-bar`,className:(0,i.clsx)(`univer-flex univer-h-12 univer-items-center univer-justify-end univer-gap-1 univer-bg-gray-0 univer-px-3 dark:!univer-bg-gray-800`,i.borderBottomClassName),children:[(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-1 [&_button]:!univer-min-h-10 [&_button]:!univer-min-w-10 [&_button]:!univer-rounded-lg [&_button_svg]:!univer-size-5`,children:S.map(e=>(0,c.jsx)(Ho,{...e.item},e.key))}),C.length>0&&(0,c.jsx)(`button`,{ref:g,type:`button`,"data-u-comp":`mobile-more-trigger`,"aria-label":v.t(`ui.ribbon.more`),"aria-expanded":m,className:(0,i.clsx)(i.resetButtonClassName,`univer-flex univer-size-10 univer-items-center univer-justify-center univer-rounded-lg univer-text-gray-700 univer-transition-colors active:univer-bg-gray-100 dark:!univer-text-gray-200 dark:active:!univer-bg-gray-700`),onClick:()=>h(e=>!e),children:(0,c.jsx)(Hn,{className:`univer-size-5`,preserveStrokeWidth:!0})}),w&&(0,c.jsx)(`div`,{className:`univer-flex univer-items-center univer-gap-1 [&>*]:univer-m-0 [&>*]:univer-inline-flex [&>*]:univer-min-h-10 [&>*]:univer-min-w-10 [&>*]:univer-items-center [&>*]:univer-justify-center [&>*]:univer-rounded-lg`,children:(0,c.jsx)(Z,{components:d})})]}),D]})}function Ko(e){var t;let n=((t=e.schemas)==null?void 0:t.map(e=>e.key).join(`|`))??``;return(0,c.jsx)(qo,{...e},`${e.menuType??``}:${n}`)}function qo(e){let{menuType:n,onOptionSelect:i,schemas:a,menuManagerService:l,showHeader:u=!0,presentation:d=`drawer`,onNavigationChange:f}=e,p=(0,s.useDependency)(J),m=(0,s.useDependency)(t.LocaleService),h=l??p,[g,_]=(0,r.useState)([]),v=(0,r.useMemo)(()=>h.menuChanged$.pipe((0,o.scan)(e=>e+1,0),(0,o.startWith)(0)),[h]);(0,s.useObservable)(v,0);let y=a??(n?h.getMenuByPositionKey(n):[]),b=g[g.length-1]??null,x=(0,r.useCallback)(()=>_(e=>e.slice(0,-1)),[]);if((0,r.useEffect)(()=>{f==null||f(b?{title:b.title,onBack:x}:null)},[x,b,f]),!n&&!a)return null;let S=e=>_(t=>[...t,e]);return d===`context-bar`?(0,c.jsx)(Jo,{currentView:b,menuSchemas:y,menuManagerService:h,onExecute:i,onOpenView:S,onBack:x}):(0,c.jsxs)(`div`,{className:`univer-flex univer-flex-col`,children:[u&&b&&(0,c.jsxs)(`header`,{className:`univer-grid univer-grid-cols-[32px_minmax(0,1fr)_32px] univer-items-center univer-gap-3 univer-border-0 univer-border-b univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-px-4 univer-py-3 dark:!univer-border-gray-700 dark:!univer-bg-gray-800`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":m.t(`ui.navigation.back`),className:`univer-flex univer-size-8 univer-appearance-none univer-items-center univer-justify-center univer-rounded-full univer-border-0 univer-bg-transparent univer-p-0 univer-text-gray-700 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-600`,onClick:x,children:(0,c.jsx)(Wn,{className:`univer-text-base`})}),(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-center univer-text-sm univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-100`,children:b.title}),(0,c.jsx)(`div`,{className:`univer-size-8`,"aria-hidden":`true`})]}),(0,c.jsxs)(`div`,{className:`univer-pb-2 univer-pt-1`,children:[(b==null?void 0:b.kind)!==`options`&&(0,c.jsx)(`div`,{className:`univer-overflow-hidden univer-rounded-xl univer-bg-gray-0 dark:!univer-bg-gray-800`,children:(0,c.jsx)(Qo,{schemas:(b==null?void 0:b.kind)===`schema`?b.schemas:y,menuManagerService:h,onExecute:i,onOpenView:S,inheritedDisabled$:b==null?void 0:b.disabled$})}),(b==null?void 0:b.kind)===`options`&&(0,c.jsx)(`div`,{className:`univer-overflow-hidden univer-rounded-xl univer-bg-gray-0 dark:!univer-bg-gray-800`,children:(0,c.jsx)(ns,{menuKey:b.menuKey,menuItem:b.menuItem,options:b.options,currentValue:b.currentValue,inheritedDisabled$:b.disabled$,onExecute:i})})]})]})}function Jo(e){let{currentView:n,menuSchemas:i,menuManagerService:a,onExecute:o,onOpenView:l,onBack:u}=e,d=(0,s.useDependency)(t.LocaleService),f=(0,r.useRef)(null),[p,m]=(0,r.useState)({left:!1,right:!1}),h=Zo((n==null?void 0:n.kind)===`schema`?n.schemas:i),g=(0,r.useCallback)(()=>{let e=f.current;e&&m({left:e.scrollLeft>1,right:e.scrollLeft+e.clientWidth<e.scrollWidth-1})},[]);(0,r.useLayoutEffect)(()=>{let e=f.current;e&&(e.scrollLeft=0);let t=requestAnimationFrame(g);return()=>cancelAnimationFrame(t)},[n,i,g]);let _=e=>{let t=f.current;t==null||t.scrollBy({left:e*t.clientWidth*.8,behavior:`smooth`})},v=!!n||p.left;return(0,c.jsxs)(`div`,{role:`menu`,"data-u-comp":`mobile-context-menu-bar`,style:{maxWidth:`min(100%, calc(100vw - 16px))`},className:`univer-flex univer-h-10 univer-max-w-full univer-items-stretch univer-overflow-hidden univer-rounded-lg univer-bg-gray-0 univer-text-xs univer-text-gray-900 univer-shadow-lg dark:!univer-bg-gray-700 dark:!univer-text-gray-0`,children:[v&&(0,c.jsx)(`button`,{type:`button`,"aria-label":d.t(`ui.navigation.back`),className:`univer-flex univer-w-9 univer-shrink-0 univer-items-center univer-justify-center univer-border-0 univer-border-r univer-border-solid univer-border-gray-200 univer-bg-transparent univer-text-base univer-text-gray-700 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 active:univer-bg-gray-100 dark:!univer-border-gray-600 dark:!univer-text-gray-200 dark:active:!univer-bg-gray-600`,onClick:()=>p.left?_(-1):u(),children:(0,c.jsx)(Wn,{})}),(0,c.jsx)(`div`,{ref:f,className:`univer-flex univer-min-w-0 univer-flex-1 univer-snap-x univer-snap-mandatory univer-overflow-x-auto univer-overflow-y-hidden`,style:{scrollbarWidth:`none`},onScroll:g,children:(n==null?void 0:n.kind)===`options`?n.options.map((e,t)=>(0,c.jsx)(Xo,{option:e,menuKey:n.menuKey,menuItem:n.menuItem,currentValue:n.currentValue,inheritedDisabled$:n.disabled$,onExecute:o},`${n.menuKey}-${String(e.value??t)}`)):h.map(e=>(0,c.jsx)(Yo,{schema:e,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:n==null?void 0:n.disabled$},e.key))}),p.right&&(0,c.jsx)(`button`,{type:`button`,"aria-label":d.t(`ui.navigation.next`),className:`univer-flex univer-w-9 univer-shrink-0 univer-items-center univer-justify-center univer-border-0 univer-border-l univer-border-solid univer-border-gray-200 univer-bg-transparent univer-text-base univer-text-gray-700 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 active:univer-bg-gray-100 dark:!univer-border-gray-600 dark:!univer-text-gray-200 dark:active:!univer-bg-gray-600`,onClick:()=>_(1),children:(0,c.jsx)(Kn,{})})]})}function Yo(e){let{schema:n,menuManagerService:r,onExecute:i,onOpenView:a,inheritedDisabled$:o}=e,l=(0,s.useDependency)(t.LocaleService),u=is({schema:n,menuManagerService:r,onOpenView:a,inheritedDisabled$:o});return!u||u.hidden?null:(0,c.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:u.disabled,className:`univer-flex univer-min-w-[60px] univer-shrink-0 univer-snap-start univer-items-center univer-justify-center univer-border-0 univer-border-r univer-border-solid univer-border-gray-200 univer-bg-transparent univer-px-3 univer-text-xs univer-text-gray-900 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:active:univer-bg-gray-100 disabled:univer-opacity-40 dark:!univer-border-gray-600 dark:!univer-text-gray-0 dark:enabled:active:!univer-bg-gray-600`,onClick:()=>u.onPress(i),children:(0,c.jsx)(`span`,{className:`univer-whitespace-nowrap`,children:os(n,l)})})}function Xo(e){let{option:t,menuKey:n,menuItem:r,currentValue:i,inheritedDisabled$:a,onExecute:o}=e,l=(0,s.useObservable)(a,!1),u=(0,s.useObservable)(t.value$),d=t.value??u,f=l||!!t.disabled;return(0,c.jsx)(`button`,{type:`button`,role:`menuitem`,"aria-pressed":d===i,disabled:f,className:`univer-flex univer-min-w-[60px] univer-shrink-0 univer-snap-start univer-items-center univer-justify-center univer-border-0 univer-border-r univer-border-solid univer-border-gray-200 univer-bg-transparent univer-px-3 univer-text-xs univer-text-gray-900 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:active:univer-bg-gray-100 disabled:univer-opacity-40 dark:!univer-border-gray-600 dark:!univer-text-gray-0 dark:enabled:active:!univer-bg-gray-600`,onClick:()=>o==null?void 0:o({...t,value:d,id:r.id,label:n,commandId:t.commandId??r.selectionsCommandId}),children:(0,c.jsx)($,{value$:t.value$,value:d,label:t.label})})}function Zo(e){return e.flatMap(e=>e.item?[e]:Zo(e.children??[]))}function Qo(e){let{schemas:n,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u}=e,d=(0,s.useDependency)(t.LocaleService),f=ss(n),p=(0,r.useMemo)(()=>n.filter(e=>{var t;return e.item?!0:(t=e.children)!=null&&t.length?!f[e.key]:!1}),[f,n]);return(0,c.jsx)(c.Fragment,{children:p.map((e,t)=>{var n;return e.item?(0,c.jsx)(ts,{schema:e,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u,bordered:t!==p.length-1},e.key):(n=e.children)!=null&&n.length?e.mobileLayout===`grid`||e.mobileLayout===void 0&&e.quickLayout?(0,c.jsx)($o,{schema:e,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u,bordered:t!==p.length-1},e.key):(0,c.jsxs)(`section`,{className:(0,i.clsx)(`univer-grid`,t!==p.length-1&&i.borderBottomClassName),children:[e.title&&(0,c.jsx)(`div`,{className:`univer-px-4 univer-pb-1 univer-pt-3 univer-text-xs univer-font-medium univer-uppercase univer-tracking-[0.08em] univer-text-gray-500 dark:!univer-text-gray-400`,children:d.t(e.title)}),e.children.map((t,n)=>(0,c.jsx)(ts,{schema:t,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u,bordered:n!==e.children.length-1},t.key))]},e.key):null})})}function $o(e){var n;let{schema:r,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u,bordered:d}=e,f=(0,s.useDependency)(t.LocaleService),p=Math.max(2,Math.min(r.quickColumns??4,5));return(0,c.jsxs)(`section`,{className:(0,i.clsx)(`univer-p-3`,d&&i.borderBottomClassName),children:[r.title&&(0,c.jsx)(`div`,{className:`univer-px-1 univer-pb-2 univer-text-sm univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-100`,children:f.t(r.title)}),(0,c.jsx)(`div`,{className:`univer-grid univer-gap-2`,style:{gridTemplateColumns:`repeat(${p}, minmax(0, 1fr))`},children:(n=r.children)==null?void 0:n.map(e=>(0,c.jsx)(es,{schema:e,menuManagerService:a,onExecute:o,onOpenView:l,inheritedDisabled$:u,compact:r.quickLayoutVariant===`compact`},e.key))})]})}function es(e){let{schema:t,menuManagerService:n,onExecute:r,onOpenView:a,inheritedDisabled$:o,compact:s}=e,l=is({schema:t,menuManagerService:n,onOpenView:a,inheritedDisabled$:o});if(!l||l.hidden)return null;let{menuItem:u,activated:d,disabled:f,value:p,onPress:m}=l;return(0,c.jsxs)(`button`,{type:`button`,disabled:f,"aria-pressed":u.type===2?d:void 0,className:(0,i.clsx)(`univer-relative univer-flex univer-w-full univer-appearance-none univer-flex-col univer-items-center univer-justify-center univer-gap-1 univer-rounded-xl univer-border-0 univer-bg-gray-50 univer-p-2 univer-text-center univer-text-gray-900 univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:active:univer-scale-[0.98] enabled:active:univer-bg-gray-100 disabled:univer-opacity-40 dark:!univer-bg-gray-700 dark:!univer-text-gray-100 dark:enabled:active:!univer-bg-gray-600 [&>span]:univer-line-clamp-2 [&>span]:univer-text-xs [&>span]:univer-font-medium [&>svg]:univer-size-6 [&>svg]:univer-shrink-0`,s?`univer-min-h-12`:`univer-min-h-20`,d&&`univer-bg-primary-50 univer-text-primary-600 dark:!univer-bg-primary-900 dark:!univer-text-primary-300`),onClick:()=>m(r),children:[(0,c.jsx)($,{value:p,title:u.title??u.tooltip,label:u.label,icon:u.icon}),d&&(0,c.jsx)(mn,{className:`univer-absolute univer-right-1.5 univer-top-1.5 univer-size-3.5`})]})}function ts(e){let{schema:t,menuManagerService:n,onExecute:r,onOpenView:a,inheritedDisabled$:o,bordered:s}=e,l=is({schema:t,menuManagerService:n,onOpenView:a,inheritedDisabled$:o});if(!l||l.hidden)return null;let{menuItem:u,activated:d,disabled:f,value:p,currentValueText:m,hasSubmenu:h,onPress:g}=l;return typeof u.label==`object`&&u.label?(0,c.jsx)(`div`,{role:`group`,"aria-disabled":f,className:(0,i.clsx)(`univer-flex univer-min-h-12 univer-w-full univer-items-center univer-gap-3 univer-bg-gray-0 univer-px-4 univer-py-2 aria-disabled:univer-pointer-events-none aria-disabled:univer-opacity-40 dark:!univer-bg-gray-800 [&>div]:univer-box-border [&>div]:univer-min-w-0 [&>div]:univer-flex-1 [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700 dark:[&>svg]:!univer-text-gray-300`,s&&i.borderBottomClassName),"data-u-command":u.id,onClick:e=>{e.target instanceof Element&&e.target.closest(`button, input, select, textarea, [role="button"]`)||g(r)},children:(0,c.jsx)($,{value:p,label:u.label,icon:u.icon,onChange:e=>{f||r==null||r({commandId:u.commandId,value:e,id:u.id,label:t.key,params:u.params})}})}):(0,c.jsxs)(`button`,{type:`button`,className:(0,i.clsx)(`univer-flex univer-min-h-12 univer-w-full univer-appearance-none univer-items-center univer-gap-3 univer-border-0 univer-bg-gray-0 univer-px-4 univer-py-2 univer-text-left univer-outline-none univer-transition-colors focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:active:univer-bg-gray-100 disabled:univer-cursor-not-allowed disabled:univer-opacity-40 dark:!univer-bg-gray-800 dark:active:!univer-bg-gray-600`,s&&i.borderBottomClassName),"data-u-command":u.id,disabled:f,"aria-pressed":u.type===2?d:void 0,onClick:()=>g(r),children:[(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-3 univer-text-gray-900 dark:!univer-text-gray-100 [&>span]:univer-truncate [&>span]:univer-text-base [&>span]:univer-font-medium [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700 dark:[&>svg]:!univer-text-gray-300`,children:(0,c.jsx)($,{value:p,title:u.title??u.tooltip,label:u.label,icon:u.icon})}),m&&(0,c.jsx)(`span`,{className:`univer-max-w-[32%] univer-truncate univer-text-xs univer-font-medium univer-text-gray-400 dark:!univer-text-gray-500`,children:m}),d&&(0,c.jsx)(mn,{className:`univer-shrink-0 univer-text-primary-600`}),h&&(0,c.jsx)(Kn,{className:`univer-shrink-0 univer-text-base univer-text-gray-400 dark:!univer-text-gray-500`})]})}function ns(e){let{options:t,menuKey:n,menuItem:r,currentValue:i,inheritedDisabled$:a,onExecute:o}=e,l=(0,s.useObservable)(a,!1);return(0,c.jsx)(c.Fragment,{children:t.map((e,a)=>(0,c.jsx)(rs,{option:e,menuKey:n,menuItem:r,currentValue:i,disabled:l,bordered:a!==t.length-1,onExecute:o},`${n}-${String(e.value??a)}`))})}function rs(e){let{option:t,menuKey:n,menuItem:r,currentValue:a,disabled:o,bordered:l,onExecute:u}=e,d=(0,s.useDependency)(L),f=(0,s.useObservable)(t.value$),p=t.value??f,m=p===a,h=o||!!t.disabled;return typeof t.label==`object`&&t.label&&d.get(t.label.name)?(0,c.jsx)(`div`,{role:`group`,"data-u-comp":`mobile-custom-menu-option`,className:(0,i.clsx)(`univer-w-full univer-bg-gray-0 dark:!univer-bg-gray-800 [&>div>*]:univer-box-border [&>div>*]:!univer-w-full [&>div]:univer-box-border [&>div]:!univer-w-full`,l&&i.borderBottomClassName),children:(0,c.jsx)($,{value$:t.value$,value:p,label:t.label,icon:t.icon,onChange:e=>{h||u==null||u({...t,value:e,id:r.id,label:n,commandId:t.commandId??r.selectionsCommandId})}})}):(0,c.jsxs)(`button`,{type:`button`,"aria-pressed":m,className:(0,i.clsx)(`univer-relative univer-flex univer-min-h-12 univer-w-full univer-appearance-none univer-items-center univer-gap-3 univer-border-0 univer-bg-gray-0 univer-px-4 univer-py-2 univer-text-left univer-outline-none univer-transition-colors focus-visible:univer-ring-2 focus-visible:univer-ring-inset focus-visible:univer-ring-primary-500 enabled:active:univer-bg-gray-100 disabled:univer-cursor-not-allowed disabled:univer-opacity-40 dark:!univer-bg-gray-800 dark:active:!univer-bg-gray-600`,l&&i.borderBottomClassName),disabled:h,onClick:()=>{h||u==null||u({...t,value:p,id:r.id,label:n,commandId:t.commandId??r.selectionsCommandId})},children:[(0,c.jsx)(`div`,{className:`univer-flex univer-min-w-0 univer-flex-1 univer-items-center univer-gap-3 univer-text-gray-900 dark:!univer-text-gray-100 [&>span]:univer-truncate [&>span]:univer-text-base [&>span]:univer-font-medium [&>svg]:univer-shrink-0 [&>svg]:univer-text-lg [&>svg]:univer-text-gray-700 dark:[&>svg]:!univer-text-gray-300`,children:(0,c.jsx)($,{value$:t.value$,value:p,label:t.label,icon:t.icon})}),m&&(0,c.jsx)(mn,{className:`univer-shrink-0 univer-text-base univer-text-primary-600 dark:!univer-text-primary-400`})]})}function is(e){let{schema:i,menuManagerService:a,onOpenView:c,inheritedDisabled$:l}=e,u=(0,s.useDependency)(t.LocaleService),d=i.item,f=(d==null?void 0:d.type)===0?void 0:d,p=(0,r.useMemo)(()=>{let e=[l,d==null?void 0:d.disabled$].filter(e=>!!e);return e.length?(0,n.combineLatest)(e.map(e=>e.pipe((0,o.startWith)(!1)))).pipe((0,n.map)(e=>e.some(Boolean))):void 0},[l,d==null?void 0:d.disabled$]),m=(0,s.useObservable)(p,!1),h=(0,s.useObservable)(d==null?void 0:d.hidden$,!1),g=(0,s.useObservable)(d==null?void 0:d.activated$,!1),_=(0,s.useObservable)(d==null?void 0:d.value$),v=(0,s.useObservable)(f&&(0,n.isObservable)(f.selections)?f.selections:void 0),y=(0,r.useMemo)(()=>i.children??[],[i.children]),b=(0,r.useMemo)(()=>as(y),[y]),x=(0,s.useObservable)(b,y.length),S=(0,r.useMemo)(()=>!f||(d==null?void 0:d.type)!==1&&(d==null?void 0:d.type)!==2?[]:v||(Array.isArray(f.selections)?f.selections:[]),[d==null?void 0:d.type,v,f]),C=(0,r.useMemo)(()=>!d||d.type!==3||!d.id?[]:a.getMenuByPositionKey(d.id),[d,a]);if(!d)return null;let w=x>0||S.length>0||C.length>0,T=m||d.type===3&&!w,E=S.find(e=>e.value===_),D=``;return typeof(E==null?void 0:E.label)==`string`?D=u.t(E.label):S.length===0&&(typeof _==`string`||typeof _==`number`)&&(D=String(_)),{menuItem:d,activated:g,disabled:T,hidden:h,value:_,currentValueText:D,hasSubmenu:w,onPress:e=>{if(!T){if(y.length>0){let e=d.type===2?[{...i,children:void 0},...y]:y;c({kind:`schema`,title:os(i,u),schemas:e,disabled$:p});return}if(S.length>0&&f){c({kind:`options`,title:os(i,u),options:S,menuItem:f,menuKey:i.key,currentValue:_,disabled$:p});return}if(C.length>0){c({kind:`schema`,title:os(i,u),schemas:C,disabled$:p});return}(d.type===0||d.type===2)&&(e==null||e({commandId:d.commandId,value:_,id:d.id,label:i.key,params:d.params}))}}}}function as(e){let t=cs(e);return t.length===0?(0,n.of)(0):(0,n.combineLatest)(t.map(e=>{var t;return(((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)).pipe((0,o.startWith)(!1))})).pipe((0,n.map)(e=>e.filter(e=>!e).length))}function os(e,t){let n=e.item;return typeof(n==null?void 0:n.title)==`string`?t.t(n.title):typeof(n==null?void 0:n.label)==`string`?t.t(n.label):typeof(n==null?void 0:n.tooltip)==`string`?t.t(n.tooltip):typeof e.title==`string`?t.t(e.title):e.key}function ss(e){let t=(0,r.useMemo)(()=>{let t=e.flatMap(e=>{var t;let r=(t=e.children)!=null&&t.length?cs(e.children).map(e=>{var t;return((t=e.item)==null?void 0:t.hidden$)??(0,n.of)(!1)}):[];return r.length?[(0,n.combineLatest)(r).pipe((0,n.map)(t=>[e.key,t.every(Boolean)]))]:[]});return t.length?(0,n.merge)(...t).pipe((0,o.scan)((e,[t,n])=>({...e,[t]:n}),{}),(0,o.startWith)({})):(0,n.of)({})},[e]);return(0,s.useObservable)(t,{})}function cs(e){return e.reduce((e,t)=>{var n;return(n=t.children)!=null&&n.length?[...e,...cs(t.children)]:t.item?[...e,t]:e},[])}let ls=(0,r.createContext)(null);function us({children:e}){let[t,n]=(0,r.useState)([]),i=(0,r.useCallback)(e=>(n(t=>[...t,e]),()=>n(t=>t.filter(t=>t!==e))),[]),a=(0,r.useMemo)(()=>({panels:t,register:i}),[t,i]);return(0,c.jsx)(ls.Provider,{value:a,children:e})}function ds(e,t,n=!1){var i;let a=(i=(0,r.useContext)(ls))==null?void 0:i.register;(0,r.useLayoutEffect)(()=>{if(e.current&&a)return a({ref:e,layout:t,dragging:n})},[e,a,t,n])}function fs(e){var t;let n=(t=(0,r.useContext)(ls))==null?void 0:t.register;return(0,r.useCallback)(t=>n==null?void 0:n({ref:{current:t},layout:e,dragging:!1}),[n,e])}function ps(e,t){let n=(e,t,n)=>{let r=Math.min(16,n/4),i=e+Math.min(t,n-r*2);return e<r?r-e:i>n-r?n-r-i:0};return{x:n(e.left,e.width,t.width),y:n(e.top,e.height,t.height)}}function ms(e){let{containerRef:t,canvasRef:n,enabled:i=!0,panelsOnly:a=!1,onReveal:o}=e,s=(0,r.useContext)(ls),c=(0,r.useRef)(o);(0,r.useLayoutEffect)(()=>{c.current=o},[o]);let l=(0,r.useRef)(null),u=(0,r.useRef)(!1);(0,r.useLayoutEffect)(()=>{let e=t.current,r=n.current;if(!s||!i||!e||!r)return;let o=s.panels.flatMap(({ref:e,layout:t,dragging:n})=>e.current?[{element:e.current,layout:t,dragging:n}]:[]);if(a&&!o.some(e=>e.layout===`canvas`)){l.current=null,u.current=!1;return}let d=window.visualViewport,f=0,p=0,m=r.style.height,h=r.style.bottom,g=r.style.top,_=o.map(({element:e})=>({element:e,bottom:e.style.bottom,maxHeight:e.style.maxHeight})),v=()=>{cancelAnimationFrame(p),p=requestAnimationFrame(()=>{p=requestAnimationFrame(()=>{u.current&&!o.some(e=>e.dragging)&&(u.current=!1,c.current())})})},y=()=>{let t=e.getBoundingClientRect(),n=o.some(e=>e.layout===`modal`),i=d?d.offsetTop+d.height:window.innerHeight,a=n?t.top:Math.max(t.top,(d==null?void 0:d.offsetTop)??0),s=n?t.bottom:Math.min(t.bottom,i),c=Math.max(0,s-a)*.6;if(!n)for(let{element:e,layout:n}of o){if(n!==`canvas`)continue;let r=e.offsetParent,a=getComputedStyle(e).position===`fixed`||!r?window.innerHeight:r.getBoundingClientRect().bottom;e.style.bottom=`${Math.max(0,a-i)}px`,e.style.maxHeight=`${c}px`;let o=e.getBoundingClientRect();o.right>t.left&&o.left<t.right&&o.bottom>t.top&&(s=Math.min(s,o.top))}let f=Math.max(0,s-a),p=l.current??t.height;(n||f>p+1)&&(u.current=!1),u.current||=!n&&f<p-1,l.current=f,r.style.bottom=`auto`,r.style.top=`${a-t.top}px`,r.style.height=`${f}px`,v()},b=()=>{cancelAnimationFrame(f),f=requestAnimationFrame(y)},x=new ResizeObserver(b),S=()=>{u.current=!1};return r.addEventListener(`pointerdown`,S),x.observe(e),o.forEach(({element:e})=>x.observe(e)),d==null||d.addEventListener(`resize`,b),d==null||d.addEventListener(`scroll`,b),window.addEventListener(`resize`,b),y(),()=>{x.disconnect(),r.removeEventListener(`pointerdown`,S),cancelAnimationFrame(f),cancelAnimationFrame(p),d==null||d.removeEventListener(`resize`,b),d==null||d.removeEventListener(`scroll`,b),window.removeEventListener(`resize`,b),r.style.height=m,r.style.bottom=h,r.style.top=g,_.forEach(({element:e,bottom:t,maxHeight:n})=>{e.style.bottom=t,e.style.maxHeight=n})}},[s,i,a,t,n])}let hs=(0,r.createContext)(null);function gs(e){let t=(0,r.useRef)([]),[n,i]=(0,r.useState)(null),a=(0,r.useCallback)(e=>{t.current=e,i(e.length?e[e.length-1].id:null)},[]),o=(0,r.useCallback)(e=>{a(t.current.filter(t=>t.id!==e))},[a]),s=(0,r.useCallback)(e=>{let n=t.current.find(t=>t.id===e);n&&(o(e),n.onClose())},[o]),l=(0,r.useCallback)((e,n,r)=>{let i={id:e,onClose:r};if(n===`push`){a([...t.current,i]);return}let o=t.current;a([i]);for(let e=o.length-1;e>=0;e--)o[e].onClose()},[a]),u=(0,r.useMemo)(()=>({activeDrawerId:n,close:s,register:l,unregister:o}),[n,s,l,o]);return(0,c.jsx)(hs.Provider,{value:u,children:e.children})}function _s(e,t){typeof e==`function`?e(t):e&&(e.current=t)}let vs=(0,r.createContext)(`modal`);function ys(e){let{snap:t,deltaY:n,durationMs:r,percent:i}=e,a=n/Math.max(r,1);return n>48&&(t===`compact`||a>.55)||i<20?`closed`:t===`expanded`&&n>24?`compact`:t===`compact`&&n<-24||i>=60?`expanded`:`compact`}function bs(e){var t;let{snap:n,expandLabel:a,collapseLabel:o,onSnapChange:s,onClose:l,children:u,header:d,floatingActions:f,componentName:p=`mobile-drawer`,panelRef:m,contentRef:h,layerRef:g,openMode:_=`replace`,panelClassName:v,contentClassName:y,footer:b,role:x,ariaLabel:S,layout:C}=e,w=(0,r.useContext)(hs),T=w==null?void 0:w.register,E=w==null?void 0:w.unregister,D=(0,r.useRef)(null),O=(0,r.useRef)(null),k=(0,r.useRef)(l);k.current=l,O.current||=Symbol(p);let A=O.current,j=!w||w.activeDrawerId===A,M=(0,r.useContext)(vs),N=C??M,P=fs(N),F=(t=globalThis.CSS)!=null&&t.supports(`height`,`1dvh`)?`dvh`:`vh`,I=(0,r.useMemo)(()=>({modal:N===`modal`,contentProps:{style:N===`canvas`?{height:`40${F}`,maxHeight:`40${F}`}:void 0,onOpenAutoFocus:N===`canvas`?e=>e.preventDefault():void 0,onCloseAutoFocus:N===`canvas`?e=>e.preventDefault():void 0},onMount:P}),[N,P,F]),[L,R]=(0,r.useState)(null),z=(0,r.useRef)(null),B=(0,r.useCallback)(e=>{z.current=e,D.current=e,_s(m,e)},[m]);ds(z,N,L!==null);let V=(0,r.useRef)(!1),H=(0,r.useRef)(null),U=L??(n===`compact`?40:80),ee=(0,i.useMobileKeyboardViewportLayout)(D);(0,r.useLayoutEffect)(()=>{if(T&&E)return T(A,_,()=>k.current()),()=>E(A)},[A,_,T,E]),(0,r.useLayoutEffect)(()=>{var e;let t=(g==null?void 0:g.current)??(g?(e=D.current)==null?void 0:e.parentElement:null);t&&t.toggleAttribute(`hidden`,!j)},[j,g]);function te(e){H.current={startY:e,startTime:performance.now(),startPercent:U,currentPercent:U,currentY:e,moved:!1}}function ne(e){let t=H.current;if(!t)return;let n=e-t.startY,r=Math.max(0,Math.min(80,t.startPercent-n/Math.max(window.innerHeight,1)*100));t.currentPercent=r,t.currentY=e,t.moved||=Math.abs(n)>6,R(r)}function W(e){let t=H.current;if(!t)return;let r=ys({snap:n,deltaY:e-t.startY,durationMs:performance.now()-t.startTime,percent:t.currentPercent});V.current=t.moved,H.current=null,R(null),r===`closed`?w?w.close(A):l():s(r)}function re(e){try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}te(e.clientY)}function ie(e){ne(e.clientY)}function ae(e){W(e.clientY)}function oe(){let e=H.current;if(!(e!=null&&e.moved)){H.current=null,R(null);return}W(e.currentY)}function se(e){let t=e.touches[0];t&&te(t.clientY)}function G(e){let t=e.touches[0];t&&ne(t.clientY)}function K(){let e=H.current;e&&W(e.currentY)}function ce(){oe()}return(0,c.jsx)(vs.Provider,{value:N,children:(0,c.jsxs)(i.MobileOverlayContext.Provider,{value:I,children:[f&&(0,c.jsx)(`div`,{className:`univer-pointer-events-none univer-absolute univer-right-4 univer-z-30`,style:{bottom:`calc(${U}${F} + 12px)`},children:f}),(0,c.jsxs)(`section`,{ref:B,hidden:!j,role:x,"aria-modal":N===`modal`&&x===`dialog`||void 0,"aria-label":S,"data-u-comp":p,"data-snap":n,className:(0,i.clsx)(`univer-absolute univer-inset-x-0 univer-bottom-0 univer-z-20 univer-flex univer-flex-col univer-overflow-hidden univer-rounded-t-[24px] univer-bg-gray-50 univer-shadow-2xl univer-transition-[height] univer-duration-200 dark:!univer-bg-gray-900 [&_input]:!univer-text-base [&_select]:!univer-text-base [&_textarea]:!univer-text-base`,`univer-pointer-events-auto`,L!=null&&`!univer-transition-none`,v),style:{height:`${U}${F}`,paddingBottom:`env(safe-area-inset-bottom, 0px)`},children:[(0,c.jsxs)(`div`,{className:`univer-relative univer-flex univer-h-14 univer-shrink-0 univer-items-end univer-bg-gray-0 dark:!univer-bg-gray-800`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":n===`compact`?a:o,className:(0,i.clsx)(i.resetButtonClassName,`univer-absolute univer-left-1/2 univer-top-0 univer-z-10 univer-flex univer-h-6 univer-w-16 -univer-translate-x-1/2 univer-touch-none univer-items-center univer-justify-center`),style:{touchAction:`none`},onPointerDown:re,onPointerMove:ie,onPointerUp:ae,onPointerCancel:oe,onTouchStart:se,onTouchMove:G,onTouchEnd:K,onTouchCancel:ce,onClick:()=>{if(V.current){V.current=!1;return}s(n===`compact`?`expanded`:`compact`)},children:(0,c.jsx)(`span`,{className:`univer-h-1 univer-w-10 univer-rounded-full univer-bg-gray-300 dark:!univer-bg-gray-600`})}),d]}),(0,c.jsx)(`div`,{ref:h,className:(0,i.clsx)(`univer-flex-1 univer-overflow-y-auto univer-overflow-x-hidden univer-p-3`,i.scrollbarClassName,y),style:{paddingBottom:ee?`calc(0.75rem + ${ee.bottom}px)`:void 0},children:u}),b]})]})})}function xs(e){return e.visible?(0,c.jsx)(Ss,{...e}):null}function Ss(e){let{title:n,menuType:a,schemas:o,menuManagerService:u,onClose:d,onOptionSelect:f}=e,[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(`compact`),_=(0,s.useDependency)(t.LocaleService),v=(0,s.useDependency)(J),y=(0,s.useObservable)(_.direction$),{mountContainer:b}=(0,r.useContext)(i.ConfigContext),x=(0,r.useRef)(null);return b?(0,l.createPortal)((0,c.jsxs)(`div`,{ref:x,dir:y,className:`univer-fixed univer-inset-0 univer-z-[1080] univer-flex univer-items-end`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":_.t(`ui.rangeSelector.cancel`),className:(0,i.clsx)(i.resetButtonClassName,`!univer-absolute !univer-inset-0 !univer-m-0 !univer-block !univer-appearance-none !univer-rounded-none !univer-border-0 !univer-bg-black/35 !univer-p-0 univer-backdrop-blur-[2px]`),onClick:d}),(0,c.jsx)(bs,{layerRef:x,componentName:`mobile-menu-drawer`,snap:h,expandLabel:_.t(`ui.ribbon.more`),collapseLabel:_.t(`ui.ribbon.more`),onSnapChange:g,onClose:d,role:`dialog`,ariaLabel:(p==null?void 0:p.title)??n,contentClassName:`univer-px-3 univer-pb-3`,header:(0,c.jsxs)(`div`,{className:`univer-grid univer-h-12 univer-flex-1 univer-grid-cols-[40px_minmax(0,1fr)_40px] univer-items-center univer-gap-3 univer-px-4`,children:[p?(0,c.jsx)(`button`,{type:`button`,"aria-label":_.t(`ui.navigation.back`),className:(0,i.clsx)(i.resetButtonClassName,`univer-size-10 univer-rounded-xl univer-text-gray-700 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`),onClick:p.onBack,children:(0,c.jsx)(Wn,{className:`univer-size-5`})}):(0,c.jsx)(`span`,{className:`univer-size-10`,"aria-hidden":`true`}),(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-center univer-text-base univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-100`,children:(p==null?void 0:p.title)??n}),(0,c.jsx)(`button`,{type:`button`,"aria-label":_.t(`ui.rangeSelector.cancel`),className:(0,i.clsx)(i.resetButtonClassName,`univer-size-10 univer-rounded-xl univer-text-gray-700 active:univer-bg-gray-200 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`),onClick:d,children:(0,c.jsx)(gn,{className:`univer-size-5`})})]}),children:(0,c.jsx)(Ko,{menuType:a,schemas:o,menuManagerService:u??v,showHeader:!1,onNavigationChange:m,onOptionSelect:f})})]}),b):null}let Cs=`mobile-context-menu`;function ws(e,t,n,r){let i=e-t,a=Math.min(Math.max(i-r/2,0),Math.max(n-r,0));return{menuLeft:a,pointerLeft:Math.min(Math.max(i-a-4,12),Math.max(r-12-8,12))}}function Ts(e,t){return(t==null?void 0:t.caretAnchor)===!0}function Es(){let[e,n]=(0,r.useState)(!1),[a,o]=(0,r.useState)(``),[u,d]=(0,r.useState)({x:0,y:0}),f=(0,r.useRef)(null),[p,m]=(0,r.useState)(),h=(0,r.useRef)(e),g=(0,s.useDependency)(li),_=(0,s.useDependency)(si),v=(0,s.useDependency)(t.ICommandService),y=(0,s.useDependency)(D),b=(0,s.useDependency)(J),x=(0,s.useDependency)(Se),S=(0,s.useDependency)(t.LocaleService),{mountContainer:C}=(0,r.useContext)(i.ConfigContext),w=(p==null?void 0:p.caretAnchor)===!0,T=Ts(a,p);h.current=e;let E=(0,r.useCallback)((e,t,r)=>{g.activateMenu(Cs),o(t),m(r),d({x:e.clientX,y:e.clientY}),n(!0)},[g]),O=(0,r.useCallback)(()=>{n(!1),g.deactivateMenu(Cs)},[g]);(0,r.useEffect)(()=>{let e=g.registerMenu(Cs,()=>{n(!1)}),t=_.registerContextMenuHandler({handleContextMenu:E,hideContextMenu(){O()},get visible(){return h.current}});return()=>{t.dispose(),e.dispose(),g.deactivateMenu(Cs)}},[g,_,O,E]),(0,r.useEffect)(()=>{if(!e||!T||!C)return;let t=C.ownerDocument,r=e=>{var t;(!(e.target instanceof Node)||!((t=f.current)!=null&&t.contains(e.target)))&&(n(!1),g.deactivateMenu(Cs))};return t.addEventListener(`pointerdown`,r,!0),()=>t.removeEventListener(`pointerdown`,r,!0)},[g,T,C,e]),(0,r.useLayoutEffect)(()=>{if(!e||!w)return;let t=f.current,n=t==null?void 0:t.parentElement;if(!t||!n)return;let r=()=>{let e=n.getBoundingClientRect(),r=t.getBoundingClientRect().width,{menuLeft:i,pointerLeft:a}=ws(u.x,e.left,e.width,r);t.style.left=`${i}px`,t.style.setProperty(`--univer-mobile-context-menu-pointer-left`,`${a}px`)};r();let i=new ResizeObserver(r);return i.observe(n),i.observe(t),()=>{i.disconnect(),t.style.removeProperty(`left`),t.style.removeProperty(`--univer-mobile-context-menu-pointer-left`)}},[u.x,w,e]);let k=(0,r.useMemo)(()=>{switch(a){case`contextMenu.rowHeader`:return S.t(`ui.row`);case`contextMenu.colHeader`:return S.t(`ui.column`);default:return``}},[S,a]);if(!C||!e)return null;let A=x.get(p==null?void 0:p.unitId),j=A!=null&&A.has(t.ICommandService)?A.get(t.ICommandService):v,M=A!=null&&A.has(D)?A.get(D):y,N=A!=null&&A.has(J)?A.get(J):b,P=e=>{let t=e.commandId??e.id??(typeof e.label==`string`?e.label:void 0),n=typeof e.params==`function`?e.params():e.params,r=e.value===void 0?n:{value:e.value},i=p?{...p,...r}:r;t&&(M.focus(),j.executeCommand(t,i),O())};if(T){var F;let e=((F=C.ownerDocument.defaultView)==null?void 0:F.innerHeight)??0,t=u.y<72,n=t?u.y+12:Math.min(u.y-56,Math.max(8,e-56)),r=`clamp(20px, ${u.x-8}px, calc(100% - 20px))`;return(0,l.createPortal)((0,c.jsx)(`div`,{className:`univer-pointer-events-none univer-fixed univer-inset-x-3 univer-z-[1080] univer-flex univer-justify-center`,style:{top:n},children:(0,c.jsxs)(`div`,{ref:f,className:`
50
+ univer-pointer-events-auto univer-min-w-0 univer-max-w-[560px]
51
+ ${w?`univer-absolute univer-left-0 univer-top-0 univer-w-fit`:`univer-relative univer-flex-1`}
52
+ `,children:[(0,c.jsx)(Ko,{menuType:a,menuManagerService:N,presentation:`context-bar`,onOptionSelect:P}),(0,c.jsx)(`div`,{"aria-hidden":`true`,className:t?`
53
+ univer-absolute -univer-top-1 univer-size-2 univer-rotate-45 univer-bg-gray-0
54
+ dark:!univer-bg-gray-700
55
+ `:`
56
+ univer-absolute -univer-bottom-1 univer-size-2 univer-rotate-45 univer-bg-gray-0
57
+ dark:!univer-bg-gray-700
58
+ `,style:{left:w?`var(--univer-mobile-context-menu-pointer-left, calc(50% - 4px))`:r}})]})}),C)}return(0,c.jsx)(xs,{visible:!0,title:k,menuType:a,menuManagerService:N,onClose:O,onOptionSelect:P})}function Ds(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useDependency)(P),a=(0,s.useObservable)(n.sidebarOptions$),o=(0,r.useRef)(null),l=(0,r.useRef)(null),u=(0,r.useRef)(null),[d,f]=(0,r.useState)(null),p=(0,r.useMemo)(()=>ha(a),[a]);if((0,r.useEffect)(()=>{if(p!=null&&p.visible&&p.layout!==`canvas`){var e;(e=u.current)==null||e.focus()}},[p==null?void 0:p.visible,p==null?void 0:p.layout,p==null?void 0:p.id]),(0,r.useEffect)(()=>{let e=l.current;n.setContainer(e??void 0);let t=e=>n.scrollEvent$.next(e);return e==null||e.addEventListener(`scroll`,t),()=>{e==null||e.removeEventListener(`scroll`,t),n.setContainer(void 0)}},[p==null?void 0:p.visible,n]),!(p!=null&&p.visible))return null;let m=p.layout===`canvas`?`compact`:`expanded`,h=()=>n.close(a==null?void 0:a.id);return(0,c.jsxs)(`div`,{ref:o,className:`univer-pointer-events-none univer-fixed univer-inset-0 univer-z-[1100]`,"data-u-comp":`mobile-sidebar`,children:[p.layout!==`canvas`&&(0,c.jsx)(`button`,{type:`button`,"aria-label":e.t(`ui.sidebar.close`),className:`univer-pointer-events-auto univer-absolute univer-inset-0 univer-m-0 univer-appearance-none univer-rounded-none univer-border-0 univer-bg-black/35 univer-p-0`,onClick:h}),(0,c.jsx)(bs,{layerRef:o,layout:p.layout,componentName:`mobile-sidebar-drawer`,snap:d&&d.id===p.id?d.snap:m,expandLabel:e.t(`ui.ribbon.more`),collapseLabel:e.t(`ui.ribbon.more`),onSnapChange:e=>f({id:p.id,snap:e}),onClose:h,role:`dialog`,ariaLabel:e.t(`ui.sidebar.panel`),contentRef:l,panelClassName:`
41
59
  univer-bg-gray-0 univer-text-gray-900
42
60
  dark:!univer-bg-gray-900 dark:!univer-text-gray-0
43
- `,contentClassName:`univer-min-h-0 univer-px-4 univer-pb-4`,header:(0,c.jsxs)(`header`,{className:`univer-flex univer-h-12 univer-flex-1 univer-items-center univer-justify-between univer-px-4`,children:[(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-base univer-font-semibold`,children:p.header}),(0,c.jsx)(`button`,{ref:u,type:`button`,className:`univer-flex univer-size-10 univer-shrink-0 univer-items-center univer-justify-center univer-rounded-full univer-border-0 univer-bg-transparent univer-text-xl univer-text-gray-600 univer-outline-none active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`,onClick:m,"aria-label":e.t(`ui.sidebar.close`),children:(0,c.jsx)(rn,{})})]}),footer:p.footer?(0,c.jsx)(`footer`,{className:`univer-shrink-0 univer-border-0 univer-border-t univer-border-solid univer-border-gray-200 univer-p-4 dark:!univer-border-gray-700`,children:(0,c.jsx)(i.MobileActionRowGroup,{children:p.footer})}):void 0,children:p.children})]})}let ts=(0,r.createContext)(0);function ns(e,t,n,r){(0,i.render)((0,c.jsx)((0,s.connectInjector)(rs,e),{...t,mountContainer:n,onRendered:r}),n)}function rs(e){let{header:a=!0,toolbar:o=!0,footer:l=!0,headerMenu:u=!0,ribbonType:d=`classic`,contextMenu:f=!0,mountContainer:p,onRendered:m}=e,h=(0,s.useDependency)(t.LocaleService),g=(0,s.useDependency)(t.LifecycleService),_=(0,s.useDependency)(W),v=(0,s.useDependency)(t.ThemeService),y=(0,s.useDependency)(Kr),b=(0,r.useRef)(null),x=(0,r.useRef)(null),[S,C]=(0,r.useState)(0),w=Q(`footer`),T=Q(`header`),E=Q(`header-menu`),D=Q(`content`),O=Q(`left-sidebar`),k=Q(`global`),A=Q(`toolbar`),j=(0,s.useObservable)(v.darkMode$,v.darkMode),M=(0,s.useObservable)(g.lifecycle$,g.stage),N=(0,s.useObservable)(_.skeletonVisible$,void 0,!0),P=M>=t.LifecycleStages.Ready;(0,r.useEffect)(()=>{P&&b.current&&(m==null||m(b.current))},[P,m]);let F=(0,s.useObservable)(()=>h.localeChanged$.pipe((0,n.map)(()=>h.getLocales())),h.getLocales(),!1,[h]),I=(0,s.useObservable)(h.direction$,h.getDirection()),L=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useLayoutEffect)(()=>{let e=v.currentTheme$.subscribe(e=>{y.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[v.currentTheme$,y]),(0,r.useEffect)(()=>(document.body.appendChild(L),()=>{document.body.removeChild(L)}),[p,L]),(0,r.useEffect)(()=>{L.setAttribute(`dir`,I)},[I,L]),(0,r.useLayoutEffect)(()=>{document.documentElement.classList.toggle(`univer-dark`,j)},[j]),(0,r.useEffect)(()=>{let e=window.visualViewport,t=x.current;if(!t)return;let n=Math.round(p.getBoundingClientRect().height||window.innerHeight),r=Math.round(p.getBoundingClientRect().width||window.innerWidth),i=()=>{let t=e?e.offsetTop+e.height:window.innerHeight;C(Math.max(0,Math.round(n-t)))},a=()=>{let e=Math.round(p.getBoundingClientRect().width||window.innerWidth),a=document.activeElement;(!(a instanceof HTMLInputElement||a instanceof HTMLTextAreaElement||(a==null?void 0:a.getAttribute(`contenteditable`))===`true`)||e!==r)&&(n=Math.round(p.getBoundingClientRect().height||window.innerHeight),r=e,t.style.height=`${n}px`),i()};return t.style.height=`${n}px`,i(),window.addEventListener(`resize`,a),e==null||e.addEventListener(`resize`,i),e==null||e.addEventListener(`scroll`,i),()=>{window.removeEventListener(`resize`,a),e==null||e.removeEventListener(`resize`,i),e==null||e.removeEventListener(`scroll`,i)}},[p]),(0,c.jsx)(i.ConfigProvider,{locale:F==null?void 0:F.design,direction:I,mountContainer:L,children:(0,c.jsx)(ts.Provider,{value:S,children:(0,c.jsxs)(No,{children:[(0,c.jsxs)(`div`,{ref:x,className:`univer-relative univer-h-full univer-min-h-0 [&_button:active]:!univer-opacity-70 [&_button]:univer-touch-manipulation`,children:[(0,c.jsxs)(`div`,{"data-u-comp":`app-layout`,className:(0,i.clsx)(`univer-relative univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-gray-0 dark:!univer-bg-gray-800`,{"univer-dark":j}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),dir:I,children:[a&&o&&(0,c.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,c.jsx)(Z,{components:A,sharedProps:{ribbonType:d,headerMenuComponents:E,headerMenu:u}},`toolbar`)}),(0,c.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,c.jsxs)(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,c.jsx)(`aside`,{className:`univer-h-full`,children:(0,c.jsx)(Z,{components:O},`left-sidebar`)}),(0,c.jsxs)(`section`,{className:(0,i.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-gray-0 dark:!univer-bg-gray-800`,i.borderBottomClassName),children:[(0,c.jsx)(`header`,{className:`univer-w-screen`,children:a&&(0,c.jsx)(Z,{components:T},`header`)}),(0,c.jsx)(`section`,{ref:b,className:`univer-relative univer-overflow-hidden`,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,c.jsx)(Z,{components:D},`content`)})]}),(0,c.jsx)(`aside`,{className:`univer-h-full`})]}),l&&(0,c.jsx)(`footer`,{children:(0,c.jsx)(Z,{components:w},`footer`)})]})]}),(!P||N)&&(0,c.jsx)(ra,{darkMode:j,direction:I,overlay:!0})]}),(0,c.jsxs)(`div`,{className:`[&_button:active]:!univer-opacity-70 [&_button]:univer-touch-manipulation`,dir:I,children:[(0,c.jsx)(Z,{components:k},`global`),f&&(0,c.jsx)($o,{}),(0,c.jsx)(es,{})]})]})})})}let is=class extends ma{constructor(e,t,n,r,i,a,o,s){super(t,a,i,n,r),this._config=e,o.mergeMenu(Do),this._initBuiltinComponents(s),this._bootstrapWorkbench()}dispose(){super.dispose()}bootstrap(e){return as(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(`content`,()=>(0,s.connectInjector)(Gt,this._injector))),this.disposeWithMe(e.registerComponent(`content`,()=>(0,s.connectInjector)(Nt,this._injector))),this.disposeWithMe(e.registerComponent(`toolbar`,()=>(0,s.connectInjector)(ko,this._injector)))}};is=w([C(1,(0,t.Inject)(t.Injector)),C(2,(0,t.Inject)(t.LifecycleService)),C(3,a.IRenderManagerService),C(4,D),C(5,t.IUniverInstanceService),C(6,J),C(7,Y)],is);function as(e,n,r){let a,o=n.container;a=typeof o==`string`?document.getElementById(o)||os(o):o instanceof HTMLElement?o:os(`univer`);let s=e=>r(e,a);function c(){ns(e,n,a,s)}return c(),(0,t.toDisposable)(()=>{(0,i.unmount)(a)})}function os(e){let t=document.createElement(`div`);return t.id=e,t}let ss=(0,t.createIdentifier)(`ui.notification.service`),cs=(0,t.createIdentifier)(`univer.ui.before-close-service`),ls=class extends t.Disposable{constructor(e,t){super(),this._notificationService=e,this._localeService=t,S(this,`_beforeUnloadCallbacks`,[]),S(this,`_onCloseCallbacks`,[]),S(this,`_beforeUnloadHandler`,void 0),S(this,`_unloadHandler`,void 0),this._beforeUnloadHandler=e=>{let t=e,n=this._beforeUnloadCallbacks.map(e=>e()).filter(e=>!!e).join(`
44
- `);if(n)return this._notificationService.show({type:`error`,title:this._localeService.t(`ui.beforeClose.title`),content:n}),t===void 0&&(t=window.event),t.returnValue=n,n},this._unloadHandler=()=>{this._onCloseCallbacks.forEach(e=>e())},this._init()}dispose(){window.removeEventListener(`beforeunload`,this._beforeUnloadHandler),window.removeEventListener(`unload`,this._unloadHandler),this._beforeUnloadCallbacks=[],this._onCloseCallbacks=[],super.dispose()}registerBeforeClose(e){return this._beforeUnloadCallbacks.push(e),{dispose:()=>{this._beforeUnloadCallbacks=this._beforeUnloadCallbacks.filter(t=>t!==e)}}}registerOnClose(e){return this._onCloseCallbacks.push(e),{dispose:()=>{this._onCloseCallbacks=this._onCloseCallbacks.filter(t=>t!==e)}}}_init(){window.addEventListener(`beforeunload`,this._beforeUnloadHandler),window.addEventListener(`unload`,this._unloadHandler)}};ls=w([C(0,ss),C(1,(0,t.Inject)(t.LocaleService))],ls);function us(e,t){e.querySelectorAll(t.strippedSelector).forEach(e=>e.remove()),e.querySelectorAll(`*`).forEach(e=>{for(let{name:t}of Array.from(e.attributes))t.startsWith(`on`)&&e.removeAttribute(t)})}function ds(e,t){let n=new DOMParser().parseFromString(e,`text/html`);return us(n,t),n.body}function fs(e,t){let n=new DOMParser().parseFromString(e,`text/html`);return us(n,t),n}function ps(){return navigator.clipboard!==void 0&&navigator.clipboard.readText!==void 0}let ms=`text/plain`,hs=`text/html`,gs=`image/png`,_s=`image/jpeg`,vs=`image/bmp`,ys=`image/webp`,bs=new Set([vs,_s,ys,gs]),xs=new Set([`base`,`button`,`embed`,`form`,`frame`,`frameset`,`head`,`iframe`,`input`,`link`,`meta`,`object`,`script`,`select`,`style`,`template`,`textarea`]),Ss=new Set(`a.b.blockquote.br.caption.code.col.colgroup.dd.div.dl.dt.em.font.h1.h2.h3.h4.h5.h6.hr.i.img.li.ol.p.pre.s.span.strike.strong.sub.sup.table.tbody.td.tfoot.th.thead.tr.u.ul`.split(`.`)),Cs=new Set(`align.alt.aria-colindex.aria-colspan.aria-label.aria-labelledby.aria-rowindex.aria-rowspan.bgcolor.border.cellpadding.cellspacing.class.colspan.color.dir.face.headers.height.href.lang.rel.role.rowspan.size.src.style.target.title.valign.width`.split(`.`)),ws=(0,t.createIdentifier)(`univer.clipboard-interface-service`),Ts=class extends t.Disposable{get supportClipboard(){return ps()}constructor(e,t,n){super(),this._localeService=e,this._logService=t,this._notificationService=n}async write(e,t,n){if(!this.supportClipboard||typeof ClipboardItem>`u`||typeof navigator.clipboard.write!=`function`)return this._legacyCopyHtml(e,t);try{return await navigator.clipboard.write([new ClipboardItem({[ms]:new Blob([e],{type:ms}),[hs]:new Blob([t],{type:hs}),...Object.fromEntries(Object.entries(n??{}).map(([e,t])=>[e,new Blob([t],{type:e})]))})])}catch(r){if(n&&Object.keys(n).length)try{return await navigator.clipboard.write([new ClipboardItem({[ms]:new Blob([e],{type:ms}),[hs]:new Blob([t],{type:hs})})])}catch(e){this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification();return}this._logService.error(`[BrowserClipboardService]`,r),this._showClipboardAuthenticationNotification()}}async writeText(e){if(!this.supportClipboard)return this._legacyCopyText(e);try{return await navigator.clipboard.writeText(e)}catch(e){this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification()}}async read(){if(!this.supportClipboard)throw Error(`[BrowserClipboardService] read() is not supported on this platform.`);try{return navigator.clipboard.read()}catch(e){return this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification(),[]}}async readText(){if(!this.supportClipboard)throw Error(`[BrowserClipboardService] read() is not supported on this platform.`);try{return await navigator.clipboard.readText()}catch(e){return this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification(),``}}_legacyCopyHtml(e,t){let n=document.activeElement,r=ks(t),i=!1,a=t=>{t.clipboardData&&(t.preventDefault(),t.clipboardData.setData(ms,e),t.clipboardData.setData(hs,r),i=!0)};document.addEventListener(`copy`,a);try{if(document.execCommand(`copy`),!i){let e=Ds();document.body.appendChild(e),e.innerHTML=r;try{Fs(e),document.execCommand(`copy`)}finally{document.body.removeChild(e)}}}finally{document.removeEventListener(`copy`,a),n instanceof HTMLElement&&n.focus()}}_legacyCopyText(e){let t=document.activeElement,n=Es();document.body.appendChild(n),n.value=e;try{Fs(n),document.execCommand(`copy`)}finally{t instanceof HTMLElement&&t.focus(),document.body.removeChild(n)}}_showClipboardAuthenticationNotification(){var e;(e=this._notificationService)==null||e.show({type:`warning`,title:this._localeService.t(`ui.clipboard.authentication.title`),content:this._localeService.t(`ui.clipboard.authentication.content`)})}};Ts=w([C(0,(0,t.Inject)(t.LocaleService)),C(1,t.ILogService),C(2,(0,t.Optional)(ss))],Ts);function Es(){let e=document.createElement(`textarea`);return e.style.position=`absolute`,e.style.height=`1px`,e.style.width=`1px`,e.style.opacity=`0`,e.readOnly=!0,e}function Ds(){let e=document.createElement(`div`);return e.contentEditable=`true`,e.style.position=`absolute`,e.style.opacity=`0`,e.style.height=`1px`,e.style.width=`1px`,e}function Os(e){let t=new DOMParser().parseFromString(e,hs);us(t,{strippedSelector:`script, iframe, object, embed`});let n=document.createDocumentFragment();return Array.from(t.body.childNodes).forEach(e=>{let t=As(e);t&&n.appendChild(t)}),n}function ks(e){let t=document.createElement(`div`);t.appendChild(Os(e));let n=t.innerHTML;return e.includes(`xmlns:x="urn:schemas-microsoft-com:office:excel"`)&&e.includes(`<meta name="ProgId" content="Excel.Sheet">`)&&e.includes(`<meta name="Generator" content="Univer">`)?`<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Excel.Sheet"><meta name="Generator" content="Univer"></head><body><!--StartFragment-->${n}<!--EndFragment--></body></html>`:n}function As(e){if(e.nodeType===Node.TEXT_NODE)return document.createTextNode(e.textContent??``);if(e.nodeType!==Node.ELEMENT_NODE)return null;let t=e,n=t.tagName.toLowerCase();if(xs.has(n))return null;if(!Ss.has(n)){let e=document.createDocumentFragment();return Array.from(t.childNodes).forEach(t=>{let n=As(t);n&&e.appendChild(n)}),e}let r=document.createElement(n);return js(t,r),Array.from(t.childNodes).forEach(e=>{let t=As(e);t&&r.appendChild(t)}),r}function js(e,t){Array.from(e.attributes).forEach(e=>{let n=e.name.toLowerCase();if(!n.startsWith(`on`)){if(n.startsWith(`data-`)||n.startsWith(`aria-`)){t.setAttribute(e.name,e.value);return}if(Cs.has(n)){if(n===`href`||n===`src`){let r=Ms(e.value,n===`src`);r&&t.setAttribute(e.name,r);return}if(n===`style`){let n=Ns(e.value);n&&t.setAttribute(e.name,n);return}t.setAttribute(e.name,e.value)}}})}function Ms(e,t){let n=e.trim();return n&&(n.startsWith(`#`)||/^(?:https?:|mailto:|tel:)/i.test(n)||t&&/^data:image\/[a-z0-9.+-]+;base64,/i.test(n)||/^(?:\/|\.\/|\.\.\/)/.test(n))?n:null}function Ns(e){let t=document.createElement(`div`);t.style.cssText=e;let n=[];return Array.from(t.style).forEach(e=>{let r=t.style.getPropertyValue(e).trim();!r||Ps(r)||n.push(`${e}: ${r}`)}),n.join(`; `)}function Ps(e){return/(expression\s*\(|url\s*\(|javascript:|vbscript:|mocha:|-moz-binding|behavior\s*:|@import)/i.test(e)}function Fs(e){if(e instanceof HTMLTextAreaElement){let t=e.hasAttribute(`readonly`);return t||e.setAttribute(`readonly`,``),e.select(),e.setSelectionRange(0,e.value.length),t||e.removeAttribute(`readonly`),e.value}e.hasAttribute(`contenteditable`)&&e.focus();let t=document.createRange();t.selectNodeContents(e);let n=window.getSelection();if(!n)throw Error();return n.removeAllRanges(),n.addRange(t),n.toString()}function Is(e){let{children:t,onClose:n,onConfirm:a}=e,[o]=(0,r.useState)({}),s=t?(0,r.cloneElement)(t,{hooks:o}):null;return(0,c.jsx)(i.MobileConfirm,{...e,onClose:()=>{let e=o.beforeClose;if(e){let t=e();if(t.cancel)return;n==null||n(t);return}n==null||n()},onConfirm:()=>{let e=o.beforeConfirm;if(e){let t=e();if(t.cancel)return;a==null||a(t);return}a==null||a()},children:s})}function Ls(){return(0,s.useObservable)((0,s.useDependency)(t.IConfirmService).confirmOptions$,[]).map(e=>{let{children:t,title:n,...r}=e,i=r;for(let t of[`children`,`title`]){let n=t,r=e[n];r&&(i[n]=(0,c.jsx)($,{...r}))}return i}).map(e=>(0,c.jsx)(Is,{...e,children:e.children},e.id))}let Rs=class extends t.Disposable{constructor(e,t){super(),this._injector=e,S(this,`_confirmOptions`,[]),S(this,`confirmOptions$`,new n.BehaviorSubject([])),this.disposeWithMe(t.registerComponent(`global`,()=>(0,s.connectInjector)(Ls,this._injector)))}dispose(){super.dispose(),this._confirmOptions=[],this.confirmOptions$.complete()}open(e){return this._confirmOptions.some(t=>t.id===e.id)?this._confirmOptions=this._confirmOptions.map(t=>t.id===e.id?{...e,visible:!0}:t):this._confirmOptions.push({...e,visible:!0}),this.confirmOptions$.next(this._confirmOptions),(0,t.toDisposable)(()=>{this._confirmOptions=[],this.confirmOptions$.next([])})}confirm(e){return new Promise(t=>{let n=this.open({...e,onConfirm:()=>{n.dispose(),t(!0)},onClose:()=>{n.dispose(),t(!1)}})})}close(e){this._confirmOptions=this._confirmOptions.map(t=>({...t,visible:t.id!==e&&t.visible})),this.confirmOptions$.next([...this._confirmOptions])}};Rs=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],Rs);function zs(e){let{children:t,title:n,footer:r,...i}=e;return{...i,children:t?(0,c.jsx)($,{...t}):void 0,title:n?(0,c.jsx)($,{...n}):void 0,footer:r?(0,c.jsx)($,{...r}):void 0}}function Bs(){let e=(0,s.useDependency)(nt),n=(0,s.useDependency)(t.LocaleService),a=(0,s.useObservable)(e.getDialogs$(),[]),o=(0,r.useMemo)(()=>{let e=a.filter(e=>e.open!==!1),t=e[e.length-1];return t?zs(t):null},[a]),[l,u]=(0,r.useState)(`expanded`),d=(0,r.useRef)(null),f=(0,r.useRef)(null);if(!o)return null;let p=()=>{var t,n;e.close(o.id),(t=o.onClose)==null||t.call(o),(n=o.onOpenChange)==null||n.call(o,!1)};return(0,c.jsxs)(`div`,{ref:d,className:`univer-fixed univer-inset-0 univer-z-[1200]`,"data-u-comp":`mobile-dialog`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":n.t(`ui.sidebar.close`),className:`univer-absolute univer-inset-0 univer-m-0 univer-appearance-none univer-rounded-none univer-border-0 univer-bg-black/35 univer-p-0`,onPointerDown:o.maskClosable===!1?void 0:e=>{f.current=e.pointerId},onPointerUp:o.maskClosable===!1?void 0:e=>{f.current===e.pointerId&&(f.current=null,p())},onPointerCancel:()=>{f.current=null}}),(0,c.jsx)(Fo,{layerRef:d,componentName:`mobile-dialog-drawer`,snap:l,expandLabel:n.t(`ui.sidebar.resize`),collapseLabel:n.t(`ui.sidebar.resize`),onSnapChange:u,onClose:p,role:`dialog`,panelClassName:`
61
+ `,contentClassName:`univer-min-h-0 univer-px-4 univer-pb-4`,header:(0,c.jsxs)(`header`,{className:`univer-flex univer-h-12 univer-flex-1 univer-items-center univer-justify-between univer-px-4`,children:[(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-base univer-font-semibold`,children:p.header}),(0,c.jsx)(`button`,{ref:u,type:`button`,className:`univer-flex univer-size-10 univer-shrink-0 univer-items-center univer-justify-center univer-rounded-full univer-border-0 univer-bg-transparent univer-text-xl univer-text-gray-600 univer-outline-none active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`,onClick:h,"aria-label":e.t(`ui.sidebar.close`),children:(0,c.jsx)(gn,{})})]}),footer:p.footer?(0,c.jsx)(`footer`,{className:`univer-shrink-0 univer-border-0 univer-border-t univer-border-solid univer-border-gray-200 univer-p-4 dark:!univer-border-gray-700`,children:(0,c.jsx)(i.MobileActionRowGroup,{children:p.footer})}):void 0,children:p.children})]})}let Os=(0,r.createContext)(0);function ks(e,t,n){let r=Math.max(0,Math.round(e-t)-n);return r>=80?r:0}function As(e,t,n,r,i,a){return r!==n||!i&&!a&&e-t<80}function js(e,t,n,r){let a=(0,s.connectInjector)(Ms,e);(0,i.render)((0,c.jsx)(a,{...t,mountContainer:n,onRendered:r}),n)}function Ms(e){let{header:a=!0,toolbar:o=!0,footer:l=!0,headerMenu:u=!0,ribbonType:d=`classic`,contextMenu:f=!0,mountContainer:p,onRendered:m}=e,h=(0,s.useDependency)(t.LocaleService),g=(0,s.useDependency)(t.LifecycleService),_=(0,s.useDependency)(W),v=(0,s.useDependency)(t.ThemeService),y=(0,s.useDependency)(oi),b=(0,r.useRef)(null),x=(0,r.useRef)(null),S=(0,r.useRef)(null),[C,w]=(0,r.useState)(0),[T,E]=(0,r.useState)(null),D=Q(`footer`),O=Q(`header`),k=Q(`header-menu`),A=Q(`content`),j=Q(`left-sidebar`),M=Q(`global`),N=Q(`toolbar`),P=(0,s.useObservable)(v.darkMode$,v.darkMode),F=(0,s.useObservable)(g.lifecycle$,g.stage),I=(0,s.useObservable)(_.skeletonVisible$,void 0,!0),L=F>=t.LifecycleStages.Ready;(0,r.useEffect)(()=>{L&&b.current&&(m==null||m(b.current))},[L,m]);let R=(0,s.useObservable)(()=>h.localeChanged$.pipe((0,n.map)(()=>h.getLocales())),h.getLocales(),!1,[h]),z=(0,s.useObservable)(h.direction$,h.getDirection()),B=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useLayoutEffect)(()=>{let e=v.currentTheme$.subscribe(e=>{y.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[v.currentTheme$,y]),(0,r.useEffect)(()=>(document.body.appendChild(B),()=>{document.body.removeChild(B)}),[p,B]),(0,r.useEffect)(()=>{B.setAttribute(`dir`,z)},[z,B]),(0,r.useLayoutEffect)(()=>{document.documentElement.classList.toggle(`univer-dark`,P)},[P]),(0,r.useEffect)(()=>{let e=window.visualViewport,t=S.current;if(!t)return;let n=Math.round(p.getBoundingClientRect().height||window.innerHeight),r=Math.round(p.getBoundingClientRect().width||window.innerWidth),a=Math.max(0,n-Math.round(e?e.offsetTop+e.height:window.innerHeight)),o=!1,s=null,c=null,l=null,u=()=>{let e=document.activeElement;return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||(e==null?void 0:e.getAttribute(`contenteditable`))===`true`},d=()=>{c!=null&&(cancelAnimationFrame(c),c=null),l!=null&&(cancelAnimationFrame(l),l=null)},f=e=>{d(),e&&(c=requestAnimationFrame(()=>{c=null,l=requestAnimationFrame(()=>{l=null,(0,i.revealFocusedElementInMobileViewport)(document.body,e)})}))},m=()=>{let r=(e==null?void 0:e.offsetTop)??0,i=(e==null?void 0:e.height)??window.innerHeight,s=e?r+i:window.innerHeight,c=Math.max(0,Math.round(n-s)),l=ks(n,s,a);u()?l>0?o=!0:o&&l===0&&(o=!1,a=c):(o=!1,l===0&&(a=c)),t.style.setProperty(`--univer-mobile-keyboard-inset`,`${o?l:0}px`);let d=o?l:0,p=o?{top:Math.round(r),bottom:Math.round(s),height:Math.round(i),stableHeight:n}:null;w(d),E(p),f(p)},h=()=>{let e=Math.round(p.getBoundingClientRect().height||window.innerHeight),i=Math.round(p.getBoundingClientRect().width||window.innerWidth),a=u();As(n,e,r,i,a,o)&&(n=e,r=i,t.style.height=`${n}px`),m()};return t.style.height=`${n}px`,s=requestAnimationFrame(()=>{s=null,m()}),window.addEventListener(`resize`,h),e==null||e.addEventListener(`resize`,m),e==null||e.addEventListener(`scroll`,m),document.addEventListener(`focusin`,m),()=>{s!=null&&cancelAnimationFrame(s),d(),window.removeEventListener(`resize`,h),e==null||e.removeEventListener(`resize`,m),e==null||e.removeEventListener(`scroll`,m),document.removeEventListener(`focusin`,m)}},[p]),(0,c.jsx)(i.ConfigProvider,{locale:R==null?void 0:R.design,direction:z,mountContainer:B,mobileKeyboardViewport:T,children:(0,c.jsx)(us,{children:(0,c.jsx)(Os.Provider,{value:C,children:(0,c.jsxs)(gs,{children:[(0,c.jsxs)(`div`,{ref:S,className:`univer-relative univer-h-full univer-min-h-0 [&_button:active]:!univer-opacity-70 [&_button]:univer-touch-manipulation`,children:[(0,c.jsxs)(`div`,{"data-u-comp":`app-layout`,className:(0,i.clsx)(`univer-relative univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-gray-0 dark:!univer-bg-gray-800`,{"univer-dark":P}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),dir:z,children:[a&&o&&(0,c.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,c.jsx)(Z,{components:N,sharedProps:{ribbonType:d,headerMenuComponents:k,headerMenu:u}},`toolbar`)}),(0,c.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,c.jsxs)(`div`,{className:`univer-grid univer-min-h-0 univer-flex-1 univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,c.jsx)(`aside`,{className:`univer-h-full`,children:(0,c.jsx)(Z,{components:j},`left-sidebar`)}),(0,c.jsxs)(`section`,{className:(0,i.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-gray-0 dark:!univer-bg-gray-800`,i.borderBottomClassName),children:[(0,c.jsx)(`header`,{className:`univer-w-screen`,children:a&&(0,c.jsx)(Z,{components:O},`header`)}),(0,c.jsx)(`section`,{ref:x,className:`univer-relative univer-min-h-0 univer-overflow-hidden`,children:(0,c.jsx)(`div`,{ref:b,className:`univer-absolute univer-inset-0 univer-overflow-hidden`,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,c.jsx)(Z,{components:A,sharedProps:{containerRef:x,canvasRef:b}},`content`)})})]}),(0,c.jsx)(`aside`,{className:`univer-h-full`})]}),l&&(0,c.jsx)(`footer`,{className:`univer-shrink-0`,children:(0,c.jsx)(Z,{components:D},`footer`)})]})]}),(!L||I)&&(0,c.jsx)(_a,{darkMode:P,direction:z,overlay:!0})]}),(0,c.jsxs)(`div`,{className:`[&_button:active]:!univer-opacity-70 [&_button]:univer-touch-manipulation`,dir:z,children:[(0,c.jsx)(Z,{components:M},`global`),f&&(0,c.jsx)(Es,{}),(0,c.jsx)(Ds,{})]})]})})})})}let Ns=class extends Oa{constructor(e,t,n,r,i,a,o,s){super(t,a,i,n,r),this._config=e,o.mergeMenu(Vo),this._initBuiltinComponents(s),this._bootstrapWorkbench()}dispose(){super.dispose()}bootstrap(e){return Ps(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(`content`,()=>(0,s.connectInjector)(en,this._injector))),this.disposeWithMe(e.registerComponent(`content`,()=>(0,s.connectInjector)(Ht,this._injector))),this.disposeWithMe(e.registerComponent(`toolbar`,()=>(0,s.connectInjector)(Uo,this._injector)))}};Ns=w([C(1,(0,t.Inject)(t.Injector)),C(2,(0,t.Inject)(t.LifecycleService)),C(3,a.IRenderManagerService),C(4,D),C(5,t.IUniverInstanceService),C(6,J),C(7,Y)],Ns);function Ps(e,n,r){let a,o=n.container;a=typeof o==`string`?document.getElementById(o)||Fs(o):o instanceof HTMLElement?o:Fs(`univer`);let s=e=>r(e,a);function c(){js(e,n,a,s)}return c(),(0,t.toDisposable)(()=>{(0,i.unmount)(a)})}function Fs(e){let t=document.createElement(`div`);return t.id=e,t}let Is=(0,t.createIdentifier)(`ui.notification.service`),Ls=(0,t.createIdentifier)(`univer.ui.before-close-service`),Rs=class extends t.Disposable{constructor(e,t){super(),this._notificationService=e,this._localeService=t,S(this,`_beforeUnloadCallbacks`,[]),S(this,`_onCloseCallbacks`,[]),S(this,`_beforeUnloadHandler`,void 0),S(this,`_unloadHandler`,void 0),this._beforeUnloadHandler=e=>{let t=e,n=this._beforeUnloadCallbacks.map(e=>e()).filter(e=>!!e).join(`
62
+ `);if(n)return this._notificationService.show({type:`error`,title:this._localeService.t(`ui.beforeClose.title`),content:n}),t===void 0&&(t=window.event),t.returnValue=n,n},this._unloadHandler=()=>{this._onCloseCallbacks.forEach(e=>e())},this._init()}dispose(){window.removeEventListener(`beforeunload`,this._beforeUnloadHandler),window.removeEventListener(`unload`,this._unloadHandler),this._beforeUnloadCallbacks=[],this._onCloseCallbacks=[],super.dispose()}registerBeforeClose(e){return this._beforeUnloadCallbacks.push(e),{dispose:()=>{this._beforeUnloadCallbacks=this._beforeUnloadCallbacks.filter(t=>t!==e)}}}registerOnClose(e){return this._onCloseCallbacks.push(e),{dispose:()=>{this._onCloseCallbacks=this._onCloseCallbacks.filter(t=>t!==e)}}}_init(){window.addEventListener(`beforeunload`,this._beforeUnloadHandler),window.addEventListener(`unload`,this._unloadHandler)}};Rs=w([C(0,Is),C(1,(0,t.Inject)(t.LocaleService))],Rs);function zs(e,t){e.querySelectorAll(t.strippedSelector).forEach(e=>e.remove()),e.querySelectorAll(`*`).forEach(e=>{for(let{name:t}of Array.from(e.attributes))t.startsWith(`on`)&&e.removeAttribute(t)})}function Bs(e,t){let n=new DOMParser().parseFromString(e,`text/html`);return zs(n,t),n.body}function Vs(e,t){let n=new DOMParser().parseFromString(e,`text/html`);return zs(n,t),n}function Hs(){return navigator.clipboard!==void 0&&navigator.clipboard.readText!==void 0}let Us=`text/plain`,Ws=`text/html`,Gs=`image/png`,Ks=`image/jpeg`,qs=`image/bmp`,Js=`image/webp`,Ys=new Set([qs,Ks,Js,Gs]),Xs=new Set([`base`,`button`,`embed`,`form`,`frame`,`frameset`,`head`,`iframe`,`input`,`link`,`meta`,`object`,`script`,`select`,`style`,`template`,`textarea`]),Zs=new Set(`a.b.blockquote.br.caption.code.col.colgroup.dd.div.dl.dt.em.font.h1.h2.h3.h4.h5.h6.hr.i.img.li.ol.p.pre.s.span.strike.strong.sub.sup.table.tbody.td.tfoot.th.thead.tr.u.ul`.split(`.`)),Qs=new Set(`align.alt.aria-colindex.aria-colspan.aria-label.aria-labelledby.aria-rowindex.aria-rowspan.bgcolor.border.cellpadding.cellspacing.class.colspan.color.dir.face.headers.height.href.lang.rel.role.rowspan.size.src.style.target.title.valign.width`.split(`.`)),$s=(0,t.createIdentifier)(`univer.clipboard-interface-service`),ec=class extends t.Disposable{get supportClipboard(){return Hs()}constructor(e,t,n){super(),this._localeService=e,this._logService=t,this._notificationService=n}async write(e,t,n){if(!this.supportClipboard||typeof ClipboardItem>`u`||typeof navigator.clipboard.write!=`function`)return this._legacyCopyHtml(e,t);try{return await navigator.clipboard.write([new ClipboardItem({[Us]:new Blob([e],{type:Us}),[Ws]:new Blob([t],{type:Ws}),...Object.fromEntries(Object.entries(n??{}).map(([e,t])=>[e,new Blob([t],{type:e})]))})])}catch(r){if(n&&Object.keys(n).length)try{return await navigator.clipboard.write([new ClipboardItem({[Us]:new Blob([e],{type:Us}),[Ws]:new Blob([t],{type:Ws})})])}catch(e){this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification();return}this._logService.error(`[BrowserClipboardService]`,r),this._showClipboardAuthenticationNotification()}}async writeText(e){if(!this.supportClipboard)return this._legacyCopyText(e);try{return await navigator.clipboard.writeText(e)}catch(e){this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification()}}async read(){if(!this.supportClipboard)throw Error(`[BrowserClipboardService] read() is not supported on this platform.`);try{return navigator.clipboard.read()}catch(e){return this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification(),[]}}async readText(){if(!this.supportClipboard)throw Error(`[BrowserClipboardService] read() is not supported on this platform.`);try{return await navigator.clipboard.readText()}catch(e){return this._logService.error(`[BrowserClipboardService]`,e),this._showClipboardAuthenticationNotification(),``}}_legacyCopyHtml(e,t){let n=document.activeElement,r=ic(t),i=!1,a=t=>{t.clipboardData&&(t.preventDefault(),t.clipboardData.setData(Us,e),t.clipboardData.setData(Ws,r),i=!0)};document.addEventListener(`copy`,a);try{if(document.execCommand(`copy`),!i){let e=nc();document.body.appendChild(e),e.innerHTML=r;try{uc(e),document.execCommand(`copy`)}finally{document.body.removeChild(e)}}}finally{document.removeEventListener(`copy`,a),n instanceof HTMLElement&&n.focus()}}_legacyCopyText(e){let t=document.activeElement,n=tc();document.body.appendChild(n),n.value=e;try{uc(n),document.execCommand(`copy`)}finally{t instanceof HTMLElement&&t.focus(),document.body.removeChild(n)}}_showClipboardAuthenticationNotification(){var e;(e=this._notificationService)==null||e.show({type:`warning`,title:this._localeService.t(`ui.clipboard.authentication.title`),content:this._localeService.t(`ui.clipboard.authentication.content`)})}};ec=w([C(0,(0,t.Inject)(t.LocaleService)),C(1,t.ILogService),C(2,(0,t.Optional)(Is))],ec);function tc(){let e=document.createElement(`textarea`);return e.style.position=`absolute`,e.style.height=`1px`,e.style.width=`1px`,e.style.opacity=`0`,e.readOnly=!0,e}function nc(){let e=document.createElement(`div`);return e.contentEditable=`true`,e.style.position=`absolute`,e.style.opacity=`0`,e.style.height=`1px`,e.style.width=`1px`,e}function rc(e){let t=new DOMParser().parseFromString(e,Ws);zs(t,{strippedSelector:`script, iframe, object, embed`});let n=document.createDocumentFragment();return Array.from(t.body.childNodes).forEach(e=>{let t=ac(e);t&&n.appendChild(t)}),n}function ic(e){let t=document.createElement(`div`);t.appendChild(rc(e));let n=t.innerHTML;return e.includes(`xmlns:x="urn:schemas-microsoft-com:office:excel"`)&&e.includes(`<meta name="ProgId" content="Excel.Sheet">`)&&e.includes(`<meta name="Generator" content="Univer">`)?`<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Excel.Sheet"><meta name="Generator" content="Univer"></head><body><!--StartFragment-->${n}<!--EndFragment--></body></html>`:n}function ac(e){if(e.nodeType===Node.TEXT_NODE)return document.createTextNode(e.textContent??``);if(e.nodeType!==Node.ELEMENT_NODE)return null;let t=e,n=t.tagName.toLowerCase();if(Xs.has(n))return null;if(!Zs.has(n)){let e=document.createDocumentFragment();return Array.from(t.childNodes).forEach(t=>{let n=ac(t);n&&e.appendChild(n)}),e}let r=document.createElement(n);return oc(t,r),Array.from(t.childNodes).forEach(e=>{let t=ac(e);t&&r.appendChild(t)}),r}function oc(e,t){Array.from(e.attributes).forEach(e=>{let n=e.name.toLowerCase();if(!n.startsWith(`on`)){if(n.startsWith(`data-`)||n.startsWith(`aria-`)){t.setAttribute(e.name,e.value);return}if(Qs.has(n)){if(n===`href`||n===`src`){let r=sc(e.value,n===`src`);r&&t.setAttribute(e.name,r);return}if(n===`style`){let n=cc(e.value);n&&t.setAttribute(e.name,n);return}t.setAttribute(e.name,e.value)}}})}function sc(e,t){let n=e.trim();return n&&(n.startsWith(`#`)||/^(?:https?:|mailto:|tel:)/i.test(n)||t&&/^data:image\/[a-z0-9.+-]+;base64,/i.test(n)||/^(?:\/|\.\/|\.\.\/)/.test(n))?n:null}function cc(e){let t=document.createElement(`div`);t.style.cssText=e;let n=[];return Array.from(t.style).forEach(e=>{let r=t.style.getPropertyValue(e).trim();r&&!lc(r)&&n.push(`${e}: ${r}`)}),n.join(`; `)}function lc(e){return/(expression\s*\(|url\s*\(|javascript:|vbscript:|mocha:|-moz-binding|behavior\s*:|@import)/i.test(e)}function uc(e){if(e instanceof HTMLTextAreaElement){let t=e.hasAttribute(`readonly`);return t||e.setAttribute(`readonly`,``),e.select(),e.setSelectionRange(0,e.value.length),t||e.removeAttribute(`readonly`),e.value}e.hasAttribute(`contenteditable`)&&e.focus();let t=document.createRange();t.selectNodeContents(e);let n=window.getSelection();if(!n)throw Error();return n.removeAllRanges(),n.addRange(t),n.toString()}function dc(e){let{children:t,onClose:n,onConfirm:a}=e,[o]=(0,r.useState)({}),s=t?(0,r.cloneElement)(t,{hooks:o}):null;return(0,c.jsx)(i.MobileConfirm,{...e,onClose:()=>{let e=o.beforeClose;if(e){let t=e();if(t.cancel)return;n==null||n(t);return}n==null||n()},onConfirm:()=>{let e=o.beforeConfirm;if(e){let t=e();if(t.cancel)return;a==null||a(t);return}a==null||a()},children:s})}function fc(){let e=(0,s.useDependency)(t.IConfirmService);return(0,s.useObservable)(e.confirmOptions$,[]).map(e=>{let{children:t,title:n,...r}=e,i=r;for(let t of[`children`,`title`]){let n=t,r=e[n];r&&(i[n]=(0,c.jsx)($,{...r}))}return i}).map(e=>(0,c.jsx)(dc,{...e,children:e.children},e.id))}let pc=class extends t.Disposable{constructor(e,t){super(),this._injector=e,S(this,`_confirmOptions`,[]),S(this,`confirmOptions$`,new n.BehaviorSubject([])),this.disposeWithMe(t.registerComponent(`global`,()=>(0,s.connectInjector)(fc,this._injector)))}dispose(){super.dispose(),this._confirmOptions=[],this.confirmOptions$.complete()}open(e){return this._confirmOptions.some(t=>t.id===e.id)?this._confirmOptions=this._confirmOptions.map(t=>t.id===e.id?{...e,visible:!0}:t):this._confirmOptions.push({...e,visible:!0}),this.confirmOptions$.next(this._confirmOptions),(0,t.toDisposable)(()=>{this._confirmOptions=[],this.confirmOptions$.next([])})}confirm(e){return new Promise(t=>{let n=this.open({...e,onConfirm:()=>{n.dispose(),t(!0)},onClose:()=>{n.dispose(),t(!1)}})})}close(e){this._confirmOptions=this._confirmOptions.map(t=>({...t,visible:t.id!==e&&t.visible})),this.confirmOptions$.next([...this._confirmOptions])}};pc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],pc);function mc(e){let{children:t,title:n,footer:r,...i}=e;return{...i,children:t?(0,c.jsx)($,{...t}):void 0,title:n?(0,c.jsx)($,{...n}):void 0,footer:r?(0,c.jsx)($,{...r}):void 0}}function hc(){let e=(0,s.useDependency)(nt),n=(0,s.useDependency)(t.LocaleService),{locale:a}=(0,r.useContext)(i.ConfigContext),o=(0,s.useObservable)(e.getDialogs$(),[]),l=(0,r.useMemo)(()=>{let e=o.filter(e=>e.open!==!1),t=e[e.length-1];return t?mc(t):null},[o]),[u,d]=(0,r.useState)(null),f=(0,r.useRef)(null),p=(0,r.useRef)(null);if(!l)return null;let m=l.layout===`canvas`?`compact`:`expanded`,h=l.footer??(l.showOk||l.showCancel?(0,c.jsxs)(c.Fragment,{children:[l.showCancel&&(0,c.jsx)(i.Button,{onClick:l.onCancel,children:a==null?void 0:a.Confirm.cancel}),l.showOk&&(0,c.jsx)(i.Button,{variant:`primary`,onClick:l.onOk,children:a==null?void 0:a.Confirm.confirm})]}):null),g=()=>{var t,n;e.close(l.id),(t=l.onClose)==null||t.call(l),(n=l.onOpenChange)==null||n.call(l,!1)};return(0,c.jsxs)(`div`,{ref:f,className:`univer-pointer-events-none univer-fixed univer-inset-0 univer-z-[1200]`,"data-u-comp":`mobile-dialog`,children:[l.layout!==`canvas`&&(0,c.jsx)(`button`,{type:`button`,"aria-label":n.t(`ui.sidebar.close`),className:`univer-pointer-events-auto univer-absolute univer-inset-0 univer-m-0 univer-appearance-none univer-rounded-none univer-border-0 univer-bg-black/35 univer-p-0`,onPointerDown:l.maskClosable===!1?void 0:e=>{p.current=e.pointerId},onPointerUp:l.maskClosable===!1?void 0:e=>{p.current===e.pointerId&&(p.current=null,g())},onPointerCancel:()=>{p.current=null}}),(0,c.jsx)(bs,{layerRef:f,layout:l.layout,componentName:`mobile-dialog-drawer`,snap:(u==null?void 0:u.id)===l.id?u.snap:m,expandLabel:n.t(`ui.sidebar.resize`),collapseLabel:n.t(`ui.sidebar.resize`),onSnapChange:e=>d({id:l.id,snap:e}),onClose:g,role:`dialog`,panelClassName:`
45
63
  univer-bg-gray-0 univer-text-gray-900
46
64
  dark:!univer-bg-gray-900 dark:!univer-text-gray-0
47
- `,contentClassName:`univer-min-h-0 univer-px-4 univer-pb-4`,header:(0,c.jsxs)(`header`,{className:`univer-flex univer-h-12 univer-flex-1 univer-items-center univer-justify-between univer-px-4`,children:[(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-base univer-font-semibold`,children:o.title}),o.closable!==!1&&(0,c.jsx)(`button`,{type:`button`,className:`univer-flex univer-size-10 univer-shrink-0 univer-items-center univer-justify-center univer-rounded-full univer-border-0 univer-bg-transparent univer-text-xl univer-text-gray-600 univer-outline-none active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`,onClick:p,"aria-label":n.t(`ui.sidebar.close`),children:(0,c.jsx)(rn,{})})]}),footer:o.footer?(0,c.jsx)(`footer`,{className:`univer-shrink-0 univer-border-0 univer-border-t univer-border-solid univer-border-gray-200 univer-p-4 dark:!univer-border-gray-700`,children:(0,c.jsx)(i.MobileActionRowGroup,{children:o.footer})}):void 0,children:o.children})]})}function Vs(e){let t=(0,r.useRef)(null),n=(0,r.useRef)(!1),a=(0,r.useCallback)(e=>{e&&(t.current=e.closest(`[role="dialog"]`))},[]);return(0,r.useLayoutEffect)(()=>{if(n.current=!!e.open,!e.open)return;let r=document,i=r.activeElement,a=p(i),o=r==null?void 0:r.defaultView,s=e=>{e.key===`Escape`&&e.isComposing&&e.target instanceof Element&&e.target.closest(`[role="dialog"]`)===t.current&&(e.preventDefault(),e.stopPropagation())};return o==null||o.addEventListener(`keydown`,s,!0),()=>{n.current=!1;let c=t.current;o==null||o.removeEventListener(`keydown`,s,!0),e.mask!==!1&&queueMicrotask(()=>{if(n.current)return;t.current===c&&(t.current=null);let e=r==null?void 0:r.activeElement;i instanceof HTMLElement&&i.isConnected&&p(i)===a&&(e===(r==null?void 0:r.body)||e&&c!=null&&c.contains(e))&&i.focus({preventScroll:!0})})}},[e.open,e.mask]),(0,c.jsx)(i.Dialog,{...e,children:(0,c.jsx)(`div`,{ref:a,className:`univer-contents`,children:e.children})})}function Hs(){let e=(0,s.useObservable)((0,s.useDependency)(nt).getDialogs$(),[]),t=(0,r.useMemo)(()=>e.map(e=>{let{children:t,title:n,footer:r,...i}=e,a=i;for(let t of[`children`,`title`,`footer`]){let n=t,r=e[n];if(r){let{key:e,...t}=r;a[n]=(0,c.jsx)($,{...t},e)}}return a}),[e]);return t==null?void 0:t.map(e=>(0,c.jsx)(Vs,{...e},e.id))}let Us=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,S(this,`_dialogOptions`,[]),S(this,`_dialogOptions$`,new n.Subject),this._initUIPart()}dispose(){super.dispose(),this._dialogOptions=[],this._dialogOptions$.complete()}open(e){return this._dialogOptions.find(t=>t.id===e.id)?this._dialogOptions=this._dialogOptions.map(t=>({...t.id===e.id?e:t,open:t.id===e.id||t.open})):this._dialogOptions.push({...e,open:!0}),this._dialogOptions$.next(this._dialogOptions),(0,t.toDisposable)(()=>{this._dialogOptions=[],this._dialogOptions$.next([])})}close(e){this._dialogOptions=this._dialogOptions.map(t=>({...t,open:t.id!==e&&t.open})),this._dialogOptions$.next([...this._dialogOptions])}closeAll(e){let t=new Set(e);this._dialogOptions=this._dialogOptions.map(e=>({...e,open:t.has(e.id)?e.open:!1})),this._dialogOptions$.next([...this._dialogOptions])}getDialogs$(){return this._dialogOptions$.asObservable()}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(Hs,this._injector)))}};Us=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],Us);let Ws=class extends Us{constructor(e,t){super(e,t)}close(e){let t=this._dialogOptions.find(t=>t.id===e);!t||t.open===!1||super.close(e)}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(Bs,this._injector)))}};Ws=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],Ws);let Gs=(0,t.createIdentifier)(`univer.ui.gallery-service`);function Ks(){let e=(0,s.useObservable)((0,s.useDependency)(Gs).gallery$);return e?(0,c.jsx)(i.Gallery,{...e}):null}let qs=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,S(this,`gallery$`,new n.ReplaySubject(1)),this._initUIPart()}dispose(){super.dispose()}open(e){return this.gallery$.next({open:!0,...e}),(0,t.toDisposable)(()=>{this.gallery$.complete()})}close(){this.gallery$.next({open:!1,images:[]})}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(Ks,this._injector)))}};qs=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],qs);var Js=class extends t.Disposable{openFile(e){return new Promise(t=>{let n=document.createElement(`input`);n.type=`file`,n.accept=(e==null?void 0:e.accept)??``,n.multiple=(e==null?void 0:e.multiple)??!1,n.onchange=e=>{let n=e.target.files;n&&t(Array.from(n))},n.click()})}downloadFile(e,t){let n=document.createElement(`a`);n.download=t,n.href=window.URL.createObjectURL(e),n.click()}};let Ys=(0,t.createIdentifier)(`univer-ui.local-file.service`),Xs=`UniverLocalStorage`;var Zs=class{constructor(){S(this,`_db`,void 0),this._db=this._init()}_init(){return new Promise((e,t)=>{let n=indexedDB.open(Xs,1);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=()=>{n.result.createObjectStore(`kv`)}})}_store(e){return this._db.then(t=>t.transaction(`kv`,e).objectStore(`kv`))}async getItem(e){let t=await this._store(`readonly`);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async setItem(e,t){let n=await this._store(`readwrite`);return new Promise((r,i)=>{let a=n.put(t,e);a.onsuccess=()=>r(t),a.onerror=()=>i(a.error)})}async removeItem(e){let t=await this._store(`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async clear(){let e=await this._store(`readwrite`);return new Promise((t,n)=>{let r=e.clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}async key(e){let t=await this._store(`readonly`);return new Promise((n,r)=>{let i=t.openCursor(),a=0;i.onsuccess=()=>{let t=i.result;if(!t)return n(null);if(a===e)return n(t.key);a++,t.continue()},i.onerror=()=>r(i.error)})}async keys(){let e=await this._store(`readonly`);return new Promise((t,n)=>{let r=e.openCursor(),i=[];r.onsuccess=()=>{let e=r.result;if(!e)return t(i);i.push(e.key),e.continue()},r.onerror=()=>n(r.error)})}async iterate(e){let t=await this._store(`readonly`);return new Promise((n,r)=>{let i=t.openCursor(),a=1,o;i.onsuccess=()=>{let t=i.result;if(!t||(o=e(t.value,t.key,a++),o!==void 0))return n(o);t.continue()},i.onerror=()=>r(i.error)})}},Qs=class{constructor(){S(this,`_prefix`,`${Xs}/`)}_key(e){return this._prefix+e}_rawKey(e){return e.startsWith(this._prefix)?e.slice(this._prefix.length):e}async getItem(e){try{let t=localStorage.getItem(this._key(e));return t?JSON.parse(t):null}catch{return null}}async setItem(e,t){return localStorage.setItem(this._key(e),JSON.stringify(t)),t}async removeItem(e){localStorage.removeItem(this._key(e))}async clear(){let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n.startsWith(this._prefix)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}async key(e){return this._keys()[e]??null}async keys(){return this._keys()}_keys(){let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n.startsWith(this._prefix)&&e.push(this._rawKey(n))}return e}async iterate(e){let t=this._keys();for(let n=0;n<t.length;n++){let r=t[n],i=e(await this.getItem(r),r,n+1);if(i!==void 0)return i}}},$s=class{constructor(e,t){this._primary=e,this._fallback=t,S(this,`_fallbackEnabled`,!1)}async _run(e,t){if(this._fallbackEnabled)return t();try{return await e()}catch{return this._fallbackEnabled=!0,t()}}getItem(e){return this._run(()=>this._primary.getItem(e),()=>this._fallback.getItem(e))}setItem(e,t){return this._run(()=>this._primary.setItem(e,t),()=>this._fallback.setItem(e,t))}removeItem(e){return this._run(()=>this._primary.removeItem(e),()=>this._fallback.removeItem(e))}clear(){return this._run(()=>this._primary.clear(),()=>this._fallback.clear())}key(e){return this._run(()=>this._primary.key(e),()=>this._fallback.key(e))}keys(){return this._run(()=>this._primary.keys(),()=>this._fallback.keys())}iterate(e){return this._run(()=>this._primary.iterate(e),()=>this._fallback.iterate(e))}};function ec(){try{if(typeof indexedDB<`u`)return new $s(new Zs,new Qs)}catch{}return new Qs}let tc=ec();var nc=class{getItem(e){return tc.getItem(e)}setItem(e,t){return tc.setItem(e,t)}removeItem(e){return tc.removeItem(e)}clear(){return tc.clear()}key(e){return tc.key(e)}keys(){return tc.keys()}iterate(e){return tc.iterate(e)}};function rc(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useObservable)((0,s.useDependency)(t.ThemeService).darkMode$),r=(0,s.useObservable)(e.direction$);return(0,c.jsx)(i.Messager,{theme:n?`dark`:`light`,dir:r})}let ic=0,ac=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,this._initUIPart()}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(rc,this._injector)))}dispose(){super.dispose(),(0,i.removeMessage)()}show(e){let n=e.id??`message-${Date.now()}-${ic}`;return ic+=1,(0,i.message)(Object.assign({},e,{id:n})),(0,t.toDisposable)(()=>(0,i.removeMessage)(n))}remove(e){(0,i.removeMessage)(e)}removeAll(){(0,i.removeMessage)()}};ac=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],ac);function oc(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useObservable)((0,s.useDependency)(t.ThemeService).darkMode$),r=(0,s.useObservable)(e.direction$);return(0,c.jsx)(i.Toaster,{theme:n?`dark`:`light`,dir:r})}let sc={show:e=>{let{type:t=`message`,title:n,content:r,duration:a,closable:o=!0,position:s=`top-right`}=e;i.toast[t](n,{position:s,description:r,duration:a,closeButton:o})}},cc=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,this._initUIPart()}show(e){return sc.show(e),(0,t.toDisposable)(()=>{})}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(oc,this._injector)))}};cc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],cc);let lc=(0,t.createIdentifier)(`ui.unit-presence-adapter-registry`),uc=Object.freeze([]);var dc=class extends t.Disposable{constructor(...e){super(...e),S(this,`_adapters`,new Map),S(this,`_adapters$`,new n.BehaviorSubject(uc)),S(this,`adapters$`,this._adapters$.asObservable())}dispose(){this._adapters.clear(),this._adapters$.complete(),super.dispose()}register(e){if(this._adapters.has(e.unitType))throw Error(`A unit presence adapter is already registered for UniverInstanceType "${e.unitType}".`);return this._adapters.set(e.unitType,e),this._emitAdapters(),(0,t.toDisposable)(()=>{this._adapters.get(e.unitType)===e&&(this._adapters.delete(e.unitType),this._emitAdapters())})}get(e){return this._adapters.get(e)??null}getAll(){return this._adapters$.getValue()}_emitAdapters(){this._adapters$.next(Object.freeze(Array.from(this._adapters.values())))}},fc=class extends t.Disposable{constructor(...e){super(...e),S(this,`_sidebarOptions`,{}),S(this,`sidebarOptions$`,new n.Subject),S(this,`scrollEvent$`,new n.Subject),S(this,`_container`,void 0),S(this,`_openAnimationFrameId`,null),S(this,`_width`,void 0)}get visible(){return this._sidebarOptions.visible||!1}get options(){return this._sidebarOptions}get width(){return this._width}setWidth(e){this._width=e}dispose(){super.dispose(),this.close(),this.sidebarOptions$.complete(),this.scrollEvent$.complete()}_clearPendingOpenFrame(){this._openAnimationFrameId!==null&&(cancelAnimationFrame(this._openAnimationFrameId),this._openAnimationFrameId=null)}open(e){return this._sidebarOptions={...e,id:e.id,visible:!0},this.sidebarOptions$.next(this._sidebarOptions),this._clearPendingOpenFrame(),this._openAnimationFrameId=requestAnimationFrame(()=>{this._openAnimationFrameId=null,this._sidebarOptions.onOpen&&this._sidebarOptions.onOpen()}),(0,t.toDisposable)(()=>{this.close()})}close(e){var t,n;e&&this._sidebarOptions.id!==e||(this._clearPendingOpenFrame(),this._sidebarOptions={...this._sidebarOptions,visible:!1},this.sidebarOptions$.next(this._sidebarOptions),(t=(n=this._sidebarOptions).onClose)==null||t.call(n))}getContainer(){return this._container}setContainer(e){this._container=e}};let pc=class{constructor(e){this._undoRedoService=e,S(this,`_sessions`,new Map)}run(e,n,r=`append`){return this._run(e,(0,t.generateRandomId)(8),r,n)}createRunner(e,n=`append`){let r=(0,t.generateRandomId)(8);return t=>this._run(e,r,n,t)}runTimed(e,n,r,i=`replace`){let a=Date.now(),o=`${e}:${n}`,s=this._sessions.get(o),c=s&&s.expiresAt>=a?s.id:(0,t.generateRandomId)(8);return this._sessions.set(o,{id:c,expiresAt:a+1e3}),this._sessions.size>100&&this._sessions.forEach((e,t)=>{e.expiresAt<a&&this._sessions.delete(t)}),this._run(e,c,i,r)}_run(e,t,n,r){let i=this._undoRedoService.beginUndoRedoGroup(e,t,n);try{return r()}finally{i.dispose()}}};pc=w([C(0,t.IUndoRedoService)],pc);let mc=class extends t.Plugin{constructor(e=se,n,r,i){super(),this._config=e,this._contextService=n,this._injector=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({popupRootId:`univer-popup-portal-${(0,t.generateRandomId)(6)}`,disableAutoFocus:!0},se,this._config);o.disableAutoFocus&&this._contextService.setContextValue(`DISABLE_AUTO_FOCUS`,!0),this._contextService.setContextValue(G,!0),a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(oe,o)}onStarting(){(0,t.registerDependencies)(this._injector,(0,t.mergeOverrideWithDependencies)([[L],[z],[Eo],[Kr],[pc],[W,{useClass:re}],[B],[Y,{useClass:Ct}],[D,{useClass:O}],[rt,{useClass:at}],[Ee,{useClass:De}],[be,{useClass:xe}],[lc,{useClass:dc}],[J,{useClass:Ye}],[Yr,{useClass:Xr}],[qr,{useClass:Jr}],[Se,{useClass:Ce}],[ws,{useClass:Ts,lazy:!0}],[ss,{useClass:cc,lazy:!0}],[Gs,{useClass:qs,lazy:!0}],[nt,{useClass:Ws,lazy:!0}],[t.IConfirmService,{useClass:Rs,lazy:!0}],[P,{useClass:fc,lazy:!0}],[ce,{useClass:ac,lazy:!0}],[t.ILocalStorageService,{useClass:nc,lazy:!0}],[cs,{useClass:ls}],[Ys,{useClass:Js}],[It,{useClass:Lt}],[so,{useClass:lo}],[Et],[Dt],[va,{useFactory:e=>e.createInstance(is,this._config),deps:[t.Injector]}],[Ie],[q]],this._config.override)),(0,t.touchDependencies)(this._injector,[[Eo],[va],[q]])}onReady(){(0,t.touchDependencies)(this._injector,[[Ie]])}};S(mc,`pluginName`,`UNIVER_MOBILE_UI_PLUGIN`),S(mc,`packageName`,ya),S(mc,`version`,ba),mc=w([(0,t.DependentOn)(a.UniverRenderEnginePlugin),C(1,t.IContextService),C(2,(0,t.Inject)(t.Injector)),C(3,t.IConfigService)],mc);function hc(){let e=(0,s.useDependency)(Ee),n=(0,s.useDependency)(t.LocaleService),a=(0,s.useObservable)(n.currentLocale$),[o,l]=(0,r.useState)([]),u=(0,r.useCallback)(()=>{let r=new Map,i=e.getAllShortcuts().filter(e=>!!e.group),a=new Map;for(let t of i){let i=t.group,o={title:n.t(t.description??t.id),shortcut:e.getShortcutDisplay(t)};if(!/^\d+_/.test(i))throw Error(`[ShortcutPanel]: Invalid shortcut group: ${i}!`);if(!t.groupTitle)throw Error(`[ShortcutPanel]: Shortcut group "${i}" must provide a groupTitle!`);a.has(i)||a.set(i,t.groupTitle),r.has(i)||r.set(i,[]),r.get(i).push(o)}let o=Array.from(r.entries()).map(([e,r])=>{let i=e.split(`_`)[0],o=a.get(e);return{sequence:+i,name:n.t(o),items:(0,t.dedupeBy)(r,e=>e.title+e.shortcut)}}).sort((e,t)=>e.sequence-t.sequence);l(o)},[e,n,a]);return(0,r.useEffect)(()=>{u();let t=e.shortcutChanged$.subscribe(()=>u());return()=>t.unsubscribe()},[e,u]),(0,c.jsx)(`ul`,{className:`univer-m-0 univer-list-none univer-p-0 univer-text-gray-900 dark:!univer-text-gray-0`,children:o.map(e=>(0,c.jsxs)(`li`,{children:[(0,c.jsx)(`div`,{className:`univer-flex univer-h-10 univer-items-center univer-text-sm univer-font-semibold`,children:e.name}),(0,c.jsx)(`ul`,{className:(0,i.clsx)(`univer-list-none univer-p-0`,i.divideYClassName),children:e.items.map(e=>(0,c.jsxs)(`li`,{className:`univer-flex univer-h-10 univer-items-center univer-justify-between univer-py-0.5 univer-text-sm last:univer-border-b-0`,children:[(0,c.jsx)(`span`,{className:`univer-line-clamp-2`,children:e.title}),e.shortcut&&(0,c.jsx)(i.KBD,{keyboard:e.shortcut})]},`${e.title}-${e.shortcut}`))})]},e.name))})}function gc(e){let{value:n,onChange:a,ariaLabel:o,className:l,disabled:u,disabled$:d,inputClassName:f,popupClassName:p,popupDataComponent:m,title:h,onMouseDown:g,onPointerDown:_}=e,v=(0,s.useDependency)(t.LocaleService),y=(0,s.useObservable)(v.direction$,v.getDirection()),b=(0,s.useObservable)(d),x=!!(u||b),[S,C]=(0,r.useState)(!1),w=m?{"data-u-comp":m}:void 0;function T(e){C(!1),a(e)}return(0,c.jsx)(i.Dropdown,{disabled:x,open:S,onOpenChange:C,overlay:(0,c.jsx)(`div`,{dir:y,className:(0,i.clsx)(`univer-max-h-72 univer-min-w-44 univer-overflow-y-auto univer-rounded-lg univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-p-1 univer-shadow-lg dark:!univer-border-gray-700 dark:!univer-bg-gray-900`,p),...w,children:(0,c.jsx)(ho,{value:n,onChange:T})}),children:(0,c.jsxs)(`div`,{"aria-disabled":x,"aria-expanded":S,"aria-label":o,dir:y,className:(0,i.clsx)(`univer-flex univer-h-6 univer-min-w-0 univer-cursor-default univer-items-center univer-justify-between univer-gap-1 univer-rounded-md univer-px-1.5 univer-text-sm univer-text-gray-900 hover:univer-bg-gray-100 dark:!univer-text-gray-100 dark:hover:!univer-bg-gray-700`,{"univer-cursor-not-allowed univer-opacity-60":x},l),role:`combobox`,tabIndex:x?-1:0,title:typeof h==`string`?h:void 0,onMouseDown:g,onPointerDown:_,children:[(0,c.jsx)(po,{className:(0,i.clsx)(`univer-min-w-0 univer-flex-1`,f),value:n,disabled:x,onChange:T}),(0,c.jsx)(On,{className:`univer-flex-shrink-0 univer-text-xs univer-text-gray-500`})]})})}function _c(e){let n=(0,s.useDependency)(z),a=(0,s.useDependency)(t.LocaleService),{value:o=100,min:l=0,max:u=400,shortcuts:d,disabled:f=!1,className:p,onChange:m}=e,h=(0,r.useRef)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(()=>`${o}%`);(0,r.useEffect)(()=>{h.current||y(`${o}%`)},[o]);function b(e){return Math.min(Math.max(e,l),u)}function x(e){f||(_(!1),m==null||m(e))}function S(e){let t=e.trim().replace(/%$/,``).trim();if(t===``)return null;let n=Number(t);return Number.isFinite(n)?Math.round(b(n)):null}function C(){f||(h.current=!0,y(String(o)))}function w(){if(f||!h.current)return;let e=S(v);if(h.current=!1,e==null){y(`${o}%`);return}y(`${e}%`),e!==o&&(m==null||m(e))}function T(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),w(),e.currentTarget.blur())}let E=[{type:`radio`,value:o.toString(),options:d.map(e=>({value:e.toString(),label:`${e}%`})),onSelect:e=>x(+e)}],D=n.get(`MoreDownIcon`);return(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-h-6 univer-w-[68px] univer-flex-shrink-0 univer-items-center univer-overflow-hidden univer-rounded-md univer-border univer-border-gray-200 univer-bg-gray-0 dark:!univer-border-gray-600 dark:!univer-bg-gray-800`,p,{"univer-opacity-60":f}),onClick:e=>e.stopPropagation(),children:[(0,c.jsx)(i.Input,{className:`univer-box-border univer-h-6 univer-min-w-0 univer-flex-1 univer-border-none univer-bg-transparent [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-full [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-px-1 [&_input]:univer-text-center [&_input]:univer-text-xs [&_input]:univer-tabular-nums`,inputClass:`univer-w-full`,size:`mini`,"aria-label":a.t(`ui.accessibility.zoom`),value:v,disabled:f,type:`text`,onChange:y,onFocus:C,onBlur:w,onKeyDown:T}),(0,c.jsx)(i.DropdownMenu,{align:`end`,items:E,open:g,disabled:f,onOpenChange:_,children:(0,c.jsx)(i.Button,{className:`univer-h-6 univer-w-4 univer-rounded-none univer-p-0`,size:`small`,variant:`text`,"aria-label":a.t(`ui.accessibility.menu`),disabled:f,children:(0,c.jsx)(D,{className:`univer-size-3 univer-text-gray-500 dark:!univer-text-gray-300`})})})]})}function vc(e){let n=(0,s.useDependency)(z),a=(0,s.useDependency)(t.LocaleService),{value:o,min:l=0,max:u=400,disabled:d=!1,resetPoint:f=100,shortcuts:p,onChange:m}=e,h=(0,s.useObservable)(a.direction$,a.getDirection())===`rtl`,g=(0,r.useRef)(null),_=(0,r.useRef)(o),v=(0,r.useRef)(null),y=(0,r.useRef)(o),b=(0,r.useRef)(null),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(o);(0,r.useEffect)(()=>()=>{M()},[]);function T(e){return Math.min(Math.max(e,l),u)}function E(){d||m&&m(f)}function D(e){if(d)return;let t=o+e;o+e<=l?t=l:o+e>=u&&(t=u),m&&m(t)}function O(e){let t=null;e.key===`ArrowLeft`||e.key===`ArrowDown`||e.key===`PageDown`?t=e.key===`PageDown`?o-100:o-10:e.key===`ArrowRight`||e.key===`ArrowUp`||e.key===`PageUp`?t=e.key===`PageUp`?o+100:o+10:e.key===`Home`?t=l:e.key===`End`&&(t=u),!(t===null||d)&&(e.preventDefault(),e.stopPropagation(),m==null||m(T(t)))}function k(e){if(e<=f){let t=50/(f-l);return(e-l)*t}if(e<=u)return f*.5+(e-f)/(u-f)*50}function A(e,t){let n=t.getBoundingClientRect(),r=n.width||116,i=e-n.x;i<=0?i=0:i>=r&&(i=r),h&&(i=r-i);let a=i/r;return a<=.5?l+a*(f-l)*2:f+(a-.5)*(u-f)*2}function j(e,t){return Math.ceil(T(A(e,t)))}function M(){b.current!=null&&(window.clearTimeout(b.current),b.current=null)}function N(e){e!==y.current&&(y.current=e,m&&m(e))}function P(){M();let e=v.current;v.current=null,e!=null&&N(e)}function F(e){v.current=e,b.current??=window.setTimeout(()=>{b.current=null;let e=v.current;v.current=null,e!=null&&N(e)},50)}function I(e,t){let n=j(e,t);return _.current=n,w(n),n}function L(e){if(d)return;e.preventDefault(),e.stopPropagation();let t=g.current,n=!0;y.current=o,S(!0),F(I(e.clientX,t));function r(e){n&&F(I(e.clientX,t))}function i(){n=!1,S(!1),window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),window.removeEventListener(`pointerout`,a),P()}function a(e){e.relatedTarget===null&&i()}window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i),window.addEventListener(`pointerout`,a)}let R=x?C:o,B=Math.min(Math.max(k(R)??0,0),100),V=h?100-B:B,H=n.get(`ReduceIcon`),U=n.get(`IncreaseIcon`);return(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-select-none univer-items-center univer-gap-1.5`,{"univer-cursor-not-allowed":d}),children:[(0,c.jsx)(i.Button,{className:`univer-size-6 univer-p-0`,size:`small`,variant:`text`,"aria-label":a.t(`ui.accessibility.zoomOut`),disabled:o<=l||d,onClick:()=>D(-10),children:(0,c.jsx)(H,{className:`univer-text-gray-500`})}),(0,c.jsx)(`div`,{className:`univer-hidden univer-h-6 univer-items-center sm:!univer-flex`,children:(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-relative univer-h-1.5 univer-rounded-full univer-bg-gray-200 univer-px-1.5 univer-transition-colors dark:!univer-bg-gray-600`,{"univer-opacity-60":d}),style:{width:`116px`},children:(0,c.jsxs)(`div`,{ref:g,role:`track`,className:`univer-relative univer-h-1.5 univer-bg-gray-200 dark:!univer-bg-gray-600`,onPointerDown:L,children:[(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-bg-primary-500/60 univer-absolute univer-top-0 univer-h-full univer-rounded-full`,h?`univer-right-0`:`univer-left-0`),style:{width:`${B}%`}}),(0,c.jsx)(`a`,{className:`univer-absolute univer-left-1/2 univer-top-1/2 univer-box-border univer-block univer-size-1.5 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-cursor-pointer univer-rounded-full univer-border univer-border-gray-0 univer-bg-gray-400 dark:!univer-border-gray-700 dark:!univer-bg-gray-300`,role:`button`,tabIndex:d?-1:0,"aria-label":a.t(`ui.accessibility.resetZoom`),"aria-disabled":d,onClick:E,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),E())}},`reset-button`),(0,c.jsx)(`button`,{className:(0,i.clsx)(`univer-absolute univer-top-1/2 univer-size-3.5 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-rounded-full univer-bg-gray-0 univer-shadow-sm univer-transition-all focus-visible:univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-primary-100 dark:!univer-bg-gray-800`,i.borderClassName,{"univer-cursor-pointer hover:univer-border-primary-600 hover:univer-shadow-md":!d,"univer-cursor-not-allowed":d,"univer-scale-105 univer-border-primary-600 univer-shadow-md":x}),role:`slider`,"aria-label":a.t(`ui.accessibility.zoom`),"aria-valuemin":l,"aria-valuemax":u,"aria-valuenow":R,"aria-valuetext":`${R}%`,disabled:d,type:`button`,style:{left:`${V}%`},onPointerDown:L,onKeyDown:O})]})})}),(0,c.jsx)(i.Button,{className:`univer-size-6 univer-p-0`,size:`small`,variant:`text`,"aria-label":a.t(`ui.accessibility.zoomIn`),disabled:o>=u||d,onClick:()=>D(10),children:(0,c.jsx)(U,{className:`univer-text-gray-500`})}),(0,c.jsx)(_c,{value:o,min:l,max:u,shortcuts:p,disabled:d,onChange:m})]})}function yc({unitId:e,value:n,disabled:a,onChange:o}){var l;let d=(0,s.useDependency)(t.LocaleService),f=(0,s.useDependency)(t.IAuthzIoService),p=(0,s.useDependency)(t.UserManagerService),[m,h]=(0,r.useState)(``),[g,_]=(0,r.useState)([]),[v,y]=(0,r.useState)(!0),[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(0),w=((l=f.getCfgEnableObjInherit)==null?void 0:l.call(f))??!1;(0,r.useEffect)(()=>{let t=!1;return f.listCollaborators({unitID:e,objectID:e}).then(e=>{t||(_(e.filter(e=>{var t;return((t=e.subject)==null?void 0:t.userID)!==p.getCurrentUser().userID})),y(!1))}).catch(()=>{t||(x(!0),y(!1))}),()=>{t=!0}},[f,p,e,S]);let T=new Map;for(let e of g){var E;T.set(((E=e.subject)==null?void 0:E.userID)||e.id,e)}for(let e of n){var D;let t=((D=e.subject)==null?void 0:D.userID)||e.id;T.has(t)||T.set(t,e)}let O=new Set(n.map(e=>{var t;return((t=e.subject)==null?void 0:t.userID)||e.id})),k=m.trim().toLocaleLowerCase(),A=Array.from(T.values()).filter(e=>{var t,n,r;return(O.has(((t=e.subject)==null?void 0:t.userID)||e.id)||e.role===u.UnitRole.Owner||e.role===u.UnitRole.Editor)&&[(n=e.subject)==null?void 0:n.name,(r=e.subject)==null?void 0:r.userID,e.id].some(e=>e==null?void 0:e.toLocaleLowerCase().includes(k))});return(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-flex-col univer-gap-3 univer-rounded-lg univer-p-3`,i.borderClassName),children:[(0,c.jsx)(i.Input,{className:`univer-w-full`,value:m,onChange:h,placeholder:d.t(`ui.objectPermission.searchPeople`),"aria-label":d.t(`ui.objectPermission.searchPeople`)}),(0,c.jsx)(`span`,{className:`univer-text-xs univer-text-gray-500`,"aria-live":`polite`,children:d.t(`ui.objectPermission.selectedCount`,String(O.size))}),(0,c.jsxs)(`div`,{className:`univer-flex univer-max-h-60 univer-flex-col univer-gap-3 univer-overflow-y-auto`,children:[v&&(0,c.jsx)(`p`,{role:`status`,children:d.t(`ui.objectPermission.loading`)}),b&&(0,c.jsxs)(`div`,{role:`alert`,children:[d.t(`ui.objectPermission.peopleError`),(0,c.jsx)(i.Button,{onClick:()=>{y(!0),x(!1),C(e=>e+1)},children:d.t(`ui.objectPermission.reload`)})]}),!v&&!b&&A.length===0&&(0,c.jsx)(`p`,{role:`status`,className:`univer-text-sm univer-text-gray-500`,children:d.t(`ui.objectPermission.noMatchingPeople`)}),A.map(e=>{var t,r,s;let l=((t=e.subject)==null?void 0:t.userID)||e.id,f=((r=e.subject)==null?void 0:r.name)||l,p=w&&e.role===u.UnitRole.Owner,m=`ui.objectPermission.roleEditor`;return e.role===u.UnitRole.Owner&&(m=`ui.objectPermission.roleOwner`),p&&(m=`ui.objectPermission.ownerInherit`),(0,c.jsx)(i.Checkbox,{disabled:a||v||p,checked:O.has(l),onChange:t=>o(t?[...n,{...e,role:u.UnitRole.Editor}]:n.filter(e=>{var t;return(((t=e.subject)==null?void 0:t.userID)||e.id)!==l})),children:(0,c.jsxs)(`span`,{className:`univer-flex univer-min-w-0 univer-items-center univer-gap-2`,children:[(0,c.jsx)(`span`,{"aria-hidden":`true`,children:(0,c.jsx)(i.Avatar,{size:24,src:(s=e.subject)==null?void 0:s.avatar,children:Array.from(f)[0]})}),(0,c.jsx)(`span`,{className:`univer-min-w-0 univer-break-words`,title:f,children:f}),(0,c.jsx)(`span`,{className:`univer-rounded univer-bg-gray-100 univer-px-1.5 univer-py-0.5 univer-text-xs univer-text-gray-500`,children:d.t(m)})]})},l)})]})]})}let bc=`ui.object-permission-dialog`;function xc(e,n){if(!e.get(t.ObjectPermissionService).canView(n.target)||n.exists&&!n.exists())return!1;let r=e.get(nt);return r.open({id:bc,width:400,title:{label:e.get(t.LocaleService).t(`ui.objectPermission.title`)},closable:!1,maskClosable:!1,keyboard:!1,children:{label:{name:bc,props:{...n,hosted:!0,onClose:()=>r.close(bc)}}}}),!0}function Sc(e){let n=(0,s.useDependency)(t.ObjectPermissionService),a=(0,s.useDependency)(t.LocaleService);(0,s.useObservable)(n.changed$,0);let[o,l]=(0,r.useState)(!1);return n.supports(e.target)?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.StateIconButton,{disabled:!n.canView(e.target),active:n.hasPolicy(e.target),emphasizeActive:!0,title:a.t(`ui.objectPermission.title`),"aria-label":a.t(`ui.objectPermission.title`),onClick:e=>{e.stopPropagation(),l(!0)},children:(0,c.jsx)(Kn,{})}),o&&(0,c.jsx)(wc,{...e,onClose:()=>l(!1)})]}):null}let Cc=[u.UnitAction.Edit];function wc({target:e,name:n,commandId:a,actions:o=Cc,exists:l,onClose:d,hosted:f=!1}){let p=(0,s.useDependency)(t.LocaleService),m=(0,s.useDependency)(t.ObjectPermissionService),h=(0,s.useDependency)(t.ICommandService),g=(0,s.useDependency)(t.IUniverInstanceService),_=(0,s.useDependency)(t.UserManagerService),v=(0,s.useObservable)(_.currentUser$,_.getCurrentUser()),[y,b]=(0,r.useState)(null);(0,s.useObservable)(m.changed$,0);let x=m.canView(e),[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)(!1),[E,D]=(0,r.useState)(!1),[O,k]=(0,r.useState)(!1),[A,j]=(0,r.useState)(0),[M,N]=(0,r.useState)(!1),[P,F]=(0,r.useState)(!1),[I,L]=(0,r.useState)(!0),{unitId:R,objectId:z,objectType:B}=e,V=z===R?[`all`,`owner`]:[`all`,`owner`,`members`];(0,r.useEffect)(()=>{let e=g.unitDisposed$.subscribe(e=>{e.getUnitId()===R&&d()});return()=>e.unsubscribe()},[g,R,d]),(0,r.useEffect)(()=>{let e=!1;return L(!0),Promise.all([m.read({unitId:R,objectId:z,objectType:B}),m.canManage({unitId:R,objectId:z,objectType:B}),m.canDelete({unitId:R,objectId:z,objectType:B})]).then(([t,n,r])=>{e||(b(t),C(n),T(r),N(!1),F(!1),k(!1),L(!1))}).catch(()=>{e||(k(!0),L(!1))}),()=>{e=!0}},[m,R,z,B,A,v.userID]),(0,r.useEffect)(()=>{let e=m.unitChanges$.subscribe(e=>{e===R&&(E||(M?F(!0):j(e=>e+1)))});return()=>e.unsubscribe()},[m,R,M,E]);let H=async(e=!1)=>{if(!(!y||!x||I||E||!(e?w:S)||P)){D(!0),k(!1);try{if(!g.getUnit(R)||l&&!l())throw Error(`Object no longer exists.`);if(!await h.executeCommand(a,{unitId:R,objectId:z,action:u.UnitAction.Edit,value:y.edit===`all`,policy:e?void 0:y,remove:e}))throw Error(`Permission command rejected.`);d()}catch{k(!0)}finally{D(!1)}}},U={[u.UnitObject.DocumentSection]:`ui.objectPermission.documentParent`,[u.UnitObject.DocumentParagraph]:`ui.objectPermission.paragraphParent`,[u.UnitObject.DocumentEntity]:`ui.objectPermission.documentObjectParent`,[u.UnitObject.SlidePage]:`ui.objectPermission.slideParent`,[u.UnitObject.SlideMaster]:`ui.objectPermission.slideParent`,[u.UnitObject.SlideElement]:`ui.objectPermission.slideObjectParent`,[u.UnitObject.BaseTable]:`ui.objectPermission.baseParent`,[u.UnitObject.BaseDashboard]:`ui.objectPermission.baseParent`,[u.UnitObject.BaseField]:`ui.objectPermission.baseObjectParent`,[u.UnitObject.BaseView]:`ui.objectPermission.baseObjectParent`,[u.UnitObject.BaseRecord]:`ui.objectPermission.recordParent`,[u.UnitObject.BoardElement]:`ui.objectPermission.boardParent`},ee={[u.UnitAction.Copy]:`ui.objectPermission.copy`,[u.UnitAction.Print]:`ui.objectPermission.print`,[u.UnitAction.Export]:`ui.objectPermission.export`,[u.UnitAction.Comment]:`ui.objectPermission.comment`},te=(0,c.jsxs)(`div`,{className:`univer-flex univer-justify-end univer-gap-2`,children:[w&&(0,c.jsx)(i.Button,{disabled:!x||I||E||P,onClick:()=>H(!0),children:p.t(`ui.objectPermission.remove`)}),(0,c.jsx)(i.Button,{disabled:E,onClick:d,children:p.t(`ui.objectPermission.cancel`)}),(0,c.jsx)(i.Button,{variant:`primary`,disabled:!y||!S||!x||I||E||P||y.edit===`members`&&!y.collaborators.length,onClick:()=>H(),children:p.t(E?`ui.objectPermission.saving`:`ui.objectPermission.save`)})]}),ne=(0,c.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-4`,onClick:e=>e.stopPropagation(),children:[(0,c.jsx)(`div`,{className:`univer-break-words univer-font-medium`,children:n}),!y&&!O&&(0,c.jsx)(`p`,{role:`status`,children:p.t(`ui.objectPermission.loading`)}),(O||P)&&(0,c.jsxs)(`div`,{role:`alert`,children:[p.t(P?`ui.objectPermission.conflict`:`ui.objectPermission.error`),(0,c.jsx)(i.Button,{disabled:E,onClick:()=>j(e=>e+1),children:p.t(`ui.objectPermission.reload`)})]}),y&&(0,c.jsxs)(c.Fragment,{children:[(!S||!x)&&(0,c.jsx)(`p`,{children:p.t(`ui.objectPermission.denied`)}),(0,c.jsx)(i.FormLayout,{label:p.t(`ui.objectPermission.edit`),children:(0,c.jsx)(i.RadioGroup,{value:y.edit,disabled:!S||!x||I||E||P,onChange:e=>{b({...y,edit:e}),N(!0)},className:`univer-flex univer-flex-col univer-gap-2`,children:V.map(e=>(0,c.jsx)(i.Radio,{value:e,children:p.t(`ui.objectPermission.${e}`)},e))})}),z!==R&&y.edit===`members`&&(0,c.jsx)(yc,{unitId:R,value:y.collaborators,disabled:!S||!x||I||E||P,onChange:e=>{b({...y,collaborators:e}),N(!0)}},`${R}/${B}/${z}/${v.userID}`),o.filter(e=>e!==u.UnitAction.Edit&&ee[e]).map(e=>(0,c.jsx)(i.Checkbox,{disabled:!S||!x||I||E||P,checked:!y.strategies.some(t=>t.action===e&&t.role===u.UnitRole.Owner),onChange:t=>{b({...y,strategies:[...y.strategies.filter(t=>t.action!==e),{action:e,role:t?u.UnitRole.Editor:u.UnitRole.Owner}]}),N(!0)},children:p.t(ee[e])},e)),(0,c.jsx)(`p`,{className:`univer-text-sm univer-text-gray-500`,children:p.t(z===R?`ui.objectPermission.fileHint`:U[B]??`ui.objectPermission.parentHint`)})]})]});return f?(0,c.jsxs)(c.Fragment,{children:[ne,(0,c.jsx)(`div`,{className:`univer-mt-4`,children:te})]}):(0,c.jsx)(i.Dialog,{open:!0,width:400,title:p.t(`ui.objectPermission.title`),closable:!E,onClose:()=>{E||d()},footer:te,children:ne})}let Tc=`ui.object-permission-panel`;function Ec(e,n){return e.get(t.ObjectPermissionService).canView(n.target)?(e.get(P).open({id:Tc,width:330,header:{title:e.get(t.LocaleService).t(`ui.objectPermission.title`)},children:{label:{name:Tc,props:{unitId:n.unitId,getTargets:n.getTargets,expandable:n.expandable}}}}),!0):!1}function Dc(e){let n=(0,s.useDependency)(t.ObjectPermissionService),r=(0,s.useDependency)(t.Injector),a=(0,s.useDependency)(t.LocaleService);return(0,s.useObservable)(n.changed$,0),n.supports(e.target)?(0,c.jsx)(i.Button,{variant:`ghost`,size:`icon`,className:`univer-size-7 univer-shrink-0`,disabled:!n.canView(e.target),title:a.t(`ui.objectPermission.title`),"aria-label":a.t(`ui.objectPermission.title`),onClick:()=>Ec(r,e),children:(0,c.jsx)(Kn,{})}):null}function Oc({unitId:e,getTargets:n,expandable:a}){let o=(0,s.useDependency)(t.LocaleService),l=(0,s.useDependency)(t.ObjectPermissionService),[d,f]=(0,r.useState)(``),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(50);(0,s.useObservable)(l.changed$,0);let _=(0,s.useDependency)(t.IUniverInstanceService),v=(0,s.useDependency)(P);(0,r.useEffect)(()=>{let t=_.unitDisposed$.subscribe(t=>{t.getUnitId()===e&&v.close(Tc)});return()=>t.unsubscribe()},[_,v,e]);let y={[u.UnitObject.Document]:`ui.objectPermission.document`,[u.UnitObject.DocumentSection]:`ui.objectPermission.section`,[u.UnitObject.DocumentParagraph]:`ui.objectPermission.paragraph`,[u.UnitObject.DocumentEntity]:`ui.objectPermission.entity`,[u.UnitObject.Slide]:`ui.objectPermission.presentation`,[u.UnitObject.SlidePage]:`ui.objectPermission.page`,[u.UnitObject.SlideMaster]:`ui.objectPermission.master`,[u.UnitObject.SlideElement]:`ui.objectPermission.entity`,[u.UnitObject.Base]:`ui.objectPermission.base`,[u.UnitObject.BaseTable]:`ui.objectPermission.table`,[u.UnitObject.BaseField]:`ui.objectPermission.field`,[u.UnitObject.BaseRecord]:`ui.objectPermission.record`,[u.UnitObject.BaseView]:`ui.objectPermission.view`,[u.UnitObject.Board]:`ui.objectPermission.board`,[u.UnitObject.BoardElement]:`ui.objectPermission.entity`},b=[],x=!1,S=0,C=n()[Symbol.iterator]();for(;!(a&&!p&&S===1);){let e=C.next();if(e.done)break;let t=e.value;S++;let n=o.t(`ui.objectPermission.objectName`,o.t(y[t.target.objectType]??`ui.objectPermission.entity`),t.name||String(S));if(!(!l.supports(t.target)||(!a||p)&&!n.toLocaleLowerCase().includes(d.toLocaleLowerCase()))){if(b.length===h){x=!0;break}b.push({...t,name:n})}}return(0,c.jsxs)(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-gap-3 univer-p-4`,children:[a&&(0,c.jsx)(i.Button,{"aria-expanded":p,onClick:()=>m(e=>!e),children:o.t(y[a]??`ui.objectPermission.entity`)}),(!a||p)&&(0,c.jsx)(i.Input,{value:d,onChange:e=>{f(e),g(50)},placeholder:o.t(`ui.objectPermission.search`),"aria-label":o.t(`ui.objectPermission.search`)}),(0,c.jsxs)(`div`,{className:`univer-flex-1 univer-overflow-auto`,children:[b.map(t=>(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2 univer-py-2`,children:[(0,c.jsx)(`span`,{className:`univer-min-w-0 univer-flex-1 univer-truncate`,title:t.name,children:t.name}),(0,c.jsx)(Sc,{...t})]},`${e}/${t.target.objectType}/${t.target.objectId}`)),!b.length&&(0,c.jsx)(`p`,{children:o.t(`ui.objectPermission.empty`)}),x&&(0,c.jsx)(i.Button,{onClick:()=>g(e=>e+50),children:o.t(`ui.objectPermission.loadMore`)})]})]})}let kc=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({ExpandIcon:cn,IncreaseIcon:bn,KeyboardIcon:En,MoreDownIcon:On,ProtectIcon:Kn,RedoIcon:Qn,ReduceIcon:er,FeatureSearchIcon:fn,ShortcutIcon:ir,ShrinkIcon:or,UndoIcon:ur}))}_registerComponents(){[[Ca,Sa],[bc,wc],[Tc,Oc],[xo,bo],[fo,po],[mo,ho],[yo,go],[xa,i.ColorPicker],[qa,Ya],[Co,wo],[ct,pt]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this.disposeWithMe(this._componentManager.register(F,hc))}};kc=w([C(0,(0,t.Inject)(L)),C(1,(0,t.Inject)(z))],kc);let Ac={id:mt.id,binding:5200,description:`ui.featureSearch.title`,group:`10_global-shortcut`,groupTitle:`ui.global-shortcut`},jc=class extends t.Disposable{constructor(e,t){super(),this.disposeWithMe(e.registerCommand(mt)),this.disposeWithMe(t.registerShortcut(Ac))}};jc=w([C(0,t.ICommandService),C(1,Ee)],jc);let Mc=e=>{let{children:t,onClose:n,onConfirm:a}=e,[o]=(0,r.useState)({}),s=t?(0,r.cloneElement)(t,{hooks:o}):null;return(0,c.jsx)(i.Confirm,{...e,children:s,onClose:()=>{let e=o.beforeClose;if(e){let t=e();if(t.cancel)return;n==null||n(t);return}n==null||n()},onConfirm:()=>{let e=o.beforeConfirm;if(e){let t=e();if(t.cancel)return;a==null||a(t);return}a==null||a()}})};function Nc(){let e=(0,s.useObservable)((0,s.useDependency)(t.IConfirmService).confirmOptions$,[]).map(e=>{let{children:t,title:n,...r}=e,i=r;for(let t of[`children`,`title`]){let n=t,r=e[n];r&&(i[n]=(0,c.jsx)($,{...r}))}return i});return e==null?void 0:e.map((e,t)=>(0,c.jsx)(Mc,{...e,children:e.children},t))}let Pc=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,S(this,`_confirmOptions`,[]),S(this,`confirmOptions$`,new n.BehaviorSubject([])),this._initUIPart()}open(e){return this._confirmOptions.find(t=>t.id===e.id)?this._confirmOptions=this._confirmOptions.map(t=>({...t.id===e.id?e:t,visible:t.id===e.id||t.visible})):this._confirmOptions.push({...e,visible:!0}),this.confirmOptions$.next(this._confirmOptions),(0,t.toDisposable)(()=>{this._confirmOptions=[],this.confirmOptions$.next([])})}confirm(e){return new Promise(t=>{let n=this.open({...e,onConfirm:()=>{n.dispose(),t(!0)},onClose:()=>{n.dispose(),t(!1)}})})}close(e){this._confirmOptions=this._confirmOptions.map(t=>({...t,visible:t.id!==e&&t.visible})),this.confirmOptions$.next([...this._confirmOptions])}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(Nc,this._injector)))}};Pc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],Pc);let Fc=`DISABLE_AUTO_FOCUS`,Ic=class extends t.Plugin{constructor(e=se,n,r,i){super(),this._config=e,this._contextService=n,this._injector=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({popupRootId:`univer-popup-portal-${(0,t.generateRandomId)(6)}`},se,this._config);o.disableAutoFocus&&this._contextService.setContextValue(Fc,!0),a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(oe,o)}onStarting(){(0,t.registerDependencies)(this._injector,(0,t.mergeOverrideWithDependencies)([[L],[z],[kc],[Kr],[pc],[B],[M],[Y,{useClass:Ct}],[W,{useClass:re}],[D,{useClass:O}],[rt,{useClass:at}],[dr,{useClass:fr}],[Ee,{useClass:De}],[be,{useClass:xe}],[lc,{useClass:dc}],[J,{useClass:Ye}],[Yr,{useClass:Xr}],[qr,{useClass:Jr}],[Se,{useClass:Ce}],[ws,{useClass:Ts,lazy:!0}],[ss,{useClass:cc,lazy:!0}],[Gs,{useClass:qs,lazy:!0}],[nt,{useClass:Us,lazy:!0}],[t.IConfirmService,{useClass:Pc,lazy:!0}],[P,{useClass:fc,lazy:!0}],[ce,{useClass:ac,lazy:!0}],[t.ILocalStorageService,{useClass:nc,lazy:!0}],[cs,{useClass:ls}],[Ys,{useClass:Js}],[It,{useClass:Lt}],[so,{useClass:lo}],[Et],[Dt],[va,{useFactory:e=>e.createInstance(ha,this._config),deps:[t.Injector]}],[Ie],[q],[jc],[tt]],this._config.override)),(0,t.touchDependencies)(this._injector,[[kc],[va],[q]])}onReady(){(0,t.touchDependencies)(this._injector,[[Ie],[jc]])}onSteady(){(0,t.touchDependencies)(this._injector,[[tt]])}};S(Ic,`pluginName`,`UNIVER_UI_PLUGIN`),S(Ic,`packageName`,ya),S(Ic,`version`,ba),Ic=w([(0,t.DependentOn)(a.UniverRenderEnginePlugin),C(1,t.IContextService),C(2,(0,t.Inject)(t.Injector)),C(3,t.IConfigService)],Ic);var Lc=class{show(e){return(0,t.toDisposable)(()=>{})}remove(e){}removeAll(){}setContainer(){}getContainer(){}};let Rc=e=>{let t=(0,s.useDependency)(P).getContainer();(0,r.useEffect)(()=>{if(t)return t.addEventListener(`mousedown`,e),()=>{t.removeEventListener(`mousedown`,e)}},[e,t])};function zc(e){return e.length===0?e:e.replace(/^\s+|\s+$/gm,``)}let Bc={strippedSelector:`script, iframe, object, embed`};function Vc(e){let n=e.childNodes;if(n.length===0)return e.textContent;if(n[0].nodeName===`DIV`&&(n=n[0].childNodes),n.length===1&&n[0].nodeName===`#text`)return n[0].textContent;let r=[],i=0,a=0,o=e.textContent||``;o+=`\r
48
- `;for(let e=0;e<n.length;e++){let o=n[`${e}`],s;o.nodeName===`#text`?(s=o.textContent??``,o=o.parentElement):s=o.innerText;let c=Hc(o);Wc(s).forEach(e=>{let n=e.length;a+=n,i=a-n;let o=(0,t.generateRandomId)(6);r.push({sId:o,st:i,ed:a-1,ts:c})})}return{id:(0,t.generateRandomId)(6),body:{dataStream:o,textRuns:r},documentStyle:{}}}function Hc(e,n=``){var r;let i=(e==null||(r=e.style)==null?void 0:r.cssText)??``;if(i+=n,i=i.replace(/[\r\n]+/g,``),i.length===0)return{};let a=i.split(`;`),o={},s={t:``,r:``,b:``,l:``};return a.forEach(n=>{let r=n.toLowerCase(),a=zc(r.substr(0,r.indexOf(`:`))),c=zc(r.substr(r.indexOf(`:`)+1));if(a===`font-weight`)c===`bold`||c===`700`?o.bl=1:o.bl=0;else if(a===`font-style`)c===`italic`?o.it=1:o.it=0;else if(a===`font-family`){let e=el(zc(n));o.ff=e}else if(a===`font-size`){let e=Number.parseInt(c);i.indexOf(`vertical-align`)>-1&&(i.indexOf(`sub`)>-1||i.indexOf(`sup`)>-1)&&(e*=2),c.indexOf(`px`)!==-1&&(e=$c(Number.parseInt(c,10))),o.fs=e}else if(a===`color`){let e=new t.ColorKit(c);o.cl={rgb:e.isValid?e.toRgbString():`rgb(0,0,0)`}}else if(a===`background`||a===`background-color`){let e=new t.ColorKit(c);e.isValid&&(o.bg={rgb:e.toRgbString()})}else if(a===`text-decoration-line`)c===`underline`?(o.ul||={s:1},o.ul.s=1):c===`line-through`?(o.st||={s:1},o.st.s=1):c===`overline`&&(o.ol||={s:1},o.ol.s=1);else if(a===`text-decoration-color`)o.hasOwnProperty(`ul`)&&(o.ul||={s:1,cl:{rgb:c}},o.ul.cl={rgb:c}),o.hasOwnProperty(`st`)&&(o.st||={s:1,cl:{rgb:c}},o.st.cl={rgb:c}),o.hasOwnProperty(`ol`)&&(o.ol||={s:1,cl:{rgb:c}},o.ol.cl={rgb:c});else if(a===`text-decoration-style`)o.hasOwnProperty(`ul`)&&(o.ul||={s:1,t:Number(c)},o.ul.t=Number(c)),o.hasOwnProperty(`st`)&&(o.st||={s:1,t:Number(c)},o.st.t=Number(c)),o.hasOwnProperty(`ol`)&&(o.ol||={s:1,t:Number(c)},o.ol.t=Number(c));else if(a===`text-decoration`||a===`univer-strike`){var l;let e=(l=c.split(` `))==null?void 0:l[0];e===`underline`?(o.ul||={s:1},o.ul.s=1):e===`line-through`?(o.st||={s:1},o.st.s=1):e===`overline`&&(o.ol||={s:1},o.ol.s=1)}if(a===`univer-underline`&&(o.ul={s:1}),a===`vertical-align`&&(c===`sub`?o.va=t.BaselineOffset.SUBSCRIPT:c===`super`?o.va=t.BaselineOffset.SUPERSCRIPT:c===`top`?o.vt=1:c===`middle`?o.vt=2:c===`bottom`?o.vt=3:o.va=t.BaselineOffset.NORMAL),a===`transform`){let t=c.split(`)`),n=t.findIndex(e=>e.includes(`rotate`));if(n>-1){let r=t[n].match(/\d+/g),i=0,a=0;r!=null&&r.length&&(i=+r[0]),e!=null&&e.dataset.vertical&&(a=+e.dataset.vertical),o.tr={a:i,v:a}}}if(a===`text-align`&&(c===`left`?o.ht=1:c===`center`?o.ht=2:c===`right`?o.ht=3:c===`justify`?o.ht=4:o.ht=0),o.tb!==1&&(a===`overflow-wrap`||a===`word-wrap`?c===`break-word`&&(o.tb=3):a===`text-overflow`?c===`clip`&&(o.tb=2):a===`text-break`&&c===`overflow`&&(o.tb=1)),a===`white-space`&&(c===`nowrap`?o.tb=1:c===`normal`?o.tb=3:c===`clip`&&(o.tb=2)),a===`border-color`){let e=Uc(c,`)`);if(o.bd)for(let t in e)o.bd[t].cl.rgb=e[t];else{o.bd={b:{cl:{rgb:`#000`},s:0},t:{cl:{rgb:`#000`},s:0},l:{cl:{rgb:`#000`},s:0},r:{cl:{rgb:`#000`},s:0}};for(let t in e)o.bd[t].cl.rgb=e[t]}}if(a===`border-width`||a===`border-style`){let e=Uc(c,` `);for(let t in e)s[t]+=` ${e[t]}`;o.bd?(o.bd.b.s=(0,t.getBorderStyleType)(s.b),o.bd.t.s=(0,t.getBorderStyleType)(s.t),o.bd.l.s=(0,t.getBorderStyleType)(s.l),o.bd.r.s=(0,t.getBorderStyleType)(s.r)):o.bd={b:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.b)},t:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.t)},l:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.l)},r:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.r)}}}if(a===`border-bottom`||a===`border-top`||a===`border-left`||a===`border-right`||a===`border`){o.bd||={};let e=c.split(` `),n=`${e[0]} ${e[1]}`;e.splice(0,2);let r=e.join(``);if((0,t.getBorderStyleType)(n)!==t.BorderStyleTypes.NONE&&r){let e={cl:{rgb:r},s:(0,t.getBorderStyleType)(n)};a===`border-bottom`?o.bd.b=c===`none`?null:e:a===`border-top`?o.bd.t=c===`none`?null:e:a===`border-left`?o.bd.l=c===`none`?null:e:a===`border-right`?o.bd.r=c===`none`?null:e:a===`border`&&(o.bd={r:c===`none`?null:e,t:c===`none`?null:e,b:c===`none`?null:e,l:c===`none`?null:e})}}else if(a===`--data-rotate`){let e=c.match(/[+-]?\d+/);c===`(0deg ,1)`?o.tr={a:0,v:1}:e&&(o.tr={a:Number(e[0])})}}),Object.keys(o).forEach(e=>{typeof o[e]==`object`&&!Object.keys(o[e]).length&&delete o[e]}),o}function Uc(e,t){let n;n=t===` `?e.trim().split(t):e.trim().split(t).slice(0,-1),n.forEach(e=>`${e.trim()})`);let r={};return n.length===1?r={t:n[0],r:n[0],b:n[0],l:n[0]}:n.length===2?r={t:n[0],r:n[1],b:n[0],l:n[1]}:n.length===3?r={t:n[0],r:n[1],b:n[2],l:n[1]}:n.length===4&&(r={t:n[0],r:n[1],b:n[2],l:n[3]}),r}function Wc(e){return e===``?[e]:e.match(/(?:(\n+.+)|(.+))/g).map(e=>e.replace(/\n/g,`\r
49
- `))}function Gc(e){let t=ds(e,Bc),n=[],r=t.querySelectorAll(`table col`);if(!r.length)return[];for(let e=0;e<r.length;e++){let t=r[e],i=t.getAttribute(`span`);if(i&&+i>1)for(let e=0;e<+i;e++){let e=Kc(t.getAttribute(`width`),72);n.push(e)}else{let e=Kc(t.getAttribute(`width`),72);n.push(e)}}return n}function Kc(e,t){if(!e)return t;let n;return n=e.includes(`pt`)?(0,a.ptToPx)(Number.parseFloat(e)):e.includes(`px`)?Number.parseFloat(e):Number.parseFloat(e)*72/96,n}function qc(e){let t=ds(e,Bc),n=[],r=t.querySelectorAll(`table tr`);if(!r.length)return[];for(let e=0;e<r.length;e++){let t=r[e].querySelectorAll(`td`),i=Kc(t[0].style.height,19);for(let e=0;e<t.length;e++){let n=t[e].getAttribute(`rowSpan`);if(!(n&&+n>1)){i=Kc(t[e].style.height,19);break}}n.push(i)}return n}function Jc(e){let n=[],r=ds(e,Bc);if(n=Array(r.querySelectorAll(`table tr`).length),!n.length)return[];let i=0,a=r.querySelectorAll(`table tr`);a[0].querySelectorAll(`td`).forEach(e=>{let t=0,n=e.getAttribute(`colSpan`);t=n===null?1:+n,i+=t});for(let e=0;e<n.length;e++)n[e]=Array(i);let o=0;return a.forEach(e=>{let r=0;e.querySelectorAll(`td`).forEach(e=>{let a={};if(e.querySelectorAll(`span`).length||e.querySelectorAll(`font`).length){let t=Vc(e);typeof t!=`string`&&(a.p=t)}let s=e.innerText;s.trim().length===0?a.v=``:a.v=s;let c=Hc(e);for(t.Tools.isPlainObject(c)&&(a.s=c);r<i&&n[o][r]!=null;)r++;if(r!==i){if(n[o][r]==null){n[o][r]=a;let t=Number(e.getAttribute(`rowSpan`))??1,i=Number(e.getAttribute(`colSpan`))??1;if(t>1||i>1){let e={rs:t-1,cs:i-1,r:o,c:r};n[o][r].mc=e;for(let e=0;e<t;e++)for(let t=0;t<i;t++)(e!==0||t!==0)&&(n[o+e][r+t]={mc:null})}}r++}}),o++}),n}function Yc(e){let t=[],n=e.replace(/\r/g,``).split(`
50
- `),r=n[0].split(` `).length;for(let e=0;e<n.length;e++)n[e].split(` `).length<r||t.push(n[e].split(` `));for(let e=0;e<t.length;e++)for(let n=0;n<t[e].length;n++)t[e][n].length?t[e][n]={v:t[e][n]||``,m:t[e][n]||``}:t[e][n]=null;return t}function Xc(e,t){let n=e.length,r=e[0].length,i=0;i+n-1;let a=0;a+r-1,t&&(i=t.startRow,i+n-1,a=t.startColumn,a+r-1);let o=[];for(let t=0;t<e.length;t++)for(let n=0;n<e[t].length;n++)if(e[t][n]&&typeof e[t][n]==`object`&&`mc`in e[t][n])if(e[t][n].mc){let r=e[t][n].mc,s=r.r+i,c=s+r.rs,l=r.c+a,u=l+r.cs;o.push({startRow:s,endRow:c,startColumn:l,endColumn:u}),delete e[t][n].mc}else e[t][n]=null;return{data:e,mergeData:o}}function Zc(e){var n;let r=[],i=fs(e,Bc),a=(n=i.querySelector(`style`))==null?void 0:n.innerText;if(!a)return;let o=Qc(a);if(r=Array(i.querySelectorAll(`table tr`).length),!r.length)return[];let s=0,c=i.querySelectorAll(`table tr`);c[0].querySelectorAll(`td`).forEach(e=>{let t=0,n=e.getAttribute(`colSpan`);t=n===null?1:+n,s+=t});for(let e=0;e<r.length;e++)r[e]=Array(s);let l=0;return c.forEach(e=>{let n=0;e.querySelectorAll(`td`).forEach(e=>{let i={};if(e.querySelectorAll(`span`).length||e.querySelectorAll(`font`).length){let t=Vc(e);typeof t!=`string`&&(i.p=t)}let a=e.innerText;a.trim().length===0?i.v=``:i.v=a;let c=``;for(let t in o)e.classList.contains(t)&&(c+=o[t]);let u=Hc(e,c);for(t.Tools.isPlainObject(u)&&(i.s=u);n<s&&r[l][n]!=null;)n++;if(n!==s){if(r[l][n]==null){r[l][n]=i;let t=Number(e.getAttribute(`rowSpan`))??1,a=Number(e.getAttribute(`colSpan`))??1;if(t>1||a>1){let e={rs:t-1,cs:a-1,r:l,c:n};r[l][n].mc=e;for(let e=0;e<t;e++)for(let t=0;t<a;t++)(e!==0||t!==0)&&(r[l+e][n+t]={mc:null})}}n++}}),l++}),r}function Qc(e){let t={},n=e.replaceAll(`<!--`,``).replaceAll(`-->`,``).trim(),r=n==null?void 0:n.replaceAll(` `,``).replaceAll(`
51
- `,``).split(`}`);for(let e=0;e<r.length;e++){if(!r[e])continue;let n=r[e].split(`{`)[0].trim();n.includes(`.`)&&(n=n.slice(1)),t[n]=r[e].split(`{`)[1].trim()}return t}function $c(e){let t=Math.round(e*.75);return t<9?9:t>78?78:t}function el(e){let t=e.match(/font-family:\s*(?:"([^"]+)"|'([^']+)'|([^;]+))/i);return t?(t[1]||t[2]||t[3]).trim():null}let tl=(0,r.memo)(e=>{let{layer:t}=e;return typeof t.componentKey==`string`?(0,c.jsx)(nl,{...e,componentKey:t.componentKey}):(0,c.jsx)(rl,{...e,Component:t.componentKey})});function nl(e){let t=(0,s.useDependency)(L);return(0,c.jsx)(rl,{...e,Component:t.get(e.componentKey)})}function rl(e){let{layer:n,id:i,position:a,Component:o}=e,l=(0,s.useDependency)(t.IUniverInstanceService),u=(0,r.useRef)(null),d=(0,r.useRef)(null),f=(0,r.useRef)(`transform: rotate(${a==null?void 0:a.rotate}deg) translate(${a==null?void 0:a.startX}px, ${a==null?void 0:a.startY}px)`),p=(0,r.useRef)((a==null?void 0:a.startY)??0),m=(0,r.useRef)((a==null?void 0:a.startX)??0),h=(0,r.useMemo)(()=>({data:n.data,...n.props}),[n.data,n.props]),g={width:`${a.width-4}px`,height:`${a.height-4}px`,left:`${a.absolute.left?0:`auto`}`,top:`${a.absolute.top?0:`auto`}`,right:`${a.absolute.left?`auto`:0}`,bottom:`${a.absolute.top?`auto`:0}`};f.current=`rotate(${a.rotate}deg)`,p.current=a.startY,m.current=a.startX;let _=l.getUnit(n.unitId),v=(0,r.useMemo)(()=>o?(0,c.jsx)(o,{...h,unitId:n.unitId,unit:_,floatDomId:n.id,context:{root:d}}):null,[o,h]);return a?(0,c.jsx)(`div`,{ref:u,className:`univer-absolute univer-z-10 univer-origin-center univer-overflow-hidden`,style:{top:p.current,left:m.current,width:Math.max(a.endX-a.startX-2,0),height:Math.max(a.endY-a.startY-2,0),transform:f.current},onPointerMove:e=>{wt(n)&&n.onPointerMove(e.nativeEvent)},onPointerDown:e=>{wt(n)&&n.onPointerDown(e.nativeEvent)},onPointerUp:e=>{wt(n)&&n.onPointerUp(e.nativeEvent)},onWheel:e=>{wt(n)&&n.onWheel(e.nativeEvent)},children:(0,c.jsx)(`div`,{ref:d,id:i,className:`univer-absolute univer-overflow-hidden`,style:{...g},children:v})}):null}let il=`linear-gradient(currentColor 0 0) content-box, linear-gradient(currentColor 0 0)`,al={WebkitMask:il,WebkitMaskComposite:`xor`,mask:il,maskComposite:`exclude`};function ol(e){return(0,c.jsx)(`span`,{"aria-hidden":`true`,className:(0,i.clsx)(`univer-pointer-events-none univer-absolute univer-inset-0 univer-box-border univer-overflow-hidden univer-rounded-[inherit] univer-p-px univer-opacity-0 univer-transition-opacity univer-duration-150 group-hover/hover-track:univer-opacity-100`,e.className),"data-u-comp":`hover-track`,style:al,children:(0,c.jsx)(`span`,{className:`univer-absolute -univer-inset-full univer-bg-[conic-gradient(from_0deg,transparent_0deg,transparent_282deg,var(--univer-primary-700)_318deg,var(--univer-primary-500)_342deg,transparent_360deg)] motion-safe:group-hover/hover-track:univer-animate-[spin_5s_linear_infinite] motion-reduce:univer-bg-primary-700 dark:univer-bg-[conic-gradient(from_0deg,transparent_0deg,transparent_282deg,var(--univer-primary-300)_318deg,var(--univer-primary-500)_342deg,transparent_360deg)] dark:motion-reduce:univer-bg-primary-300`})})}function sl(e){let{barColor:t,progress:n,onTerminate:a,onClearProgress:o}=e,{count:s,done:l,label:u=``}=n,d=(0,r.useRef)(null),[f,p]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=d.current;if(s===0&&l===0){p(!1),e.style.width=`0%`;return}else if(s>0){p(!0);let t=Math.floor(l/s*100);l===s?requestAnimationFrame(()=>{e.style.width=`${t-1}%`,requestAnimationFrame(()=>{e.style.width=`${t}%`})}):e.style.width=`${t}%`}let t=()=>{l===s&&(p(!1),o&&o())};return e.addEventListener(`transitionend`,t),()=>{e.removeEventListener(`transitionend`,t)}},[s,l]),(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-mx-2 univer-flex univer-items-center univer-gap-2`,{"univer-flex":f,"univer-hidden univer-w-0":!f}),children:[(0,c.jsx)(i.Tooltip,{showIfEllipsis:!0,title:u,children:(0,c.jsx)(`span`,{className:`univer-w-24 univer-truncate univer-text-right univer-text-xs`,children:u})}),(0,c.jsx)(`div`,{className:`univer-h-1 univer-w-40 univer-overflow-hidden univer-rounded-lg univer-bg-gray-200`,children:(0,c.jsx)(`div`,{ref:d,className:`univer-h-full univer-bg-primary-600 univer-transition-[width]`,style:{backgroundColor:t}})}),(0,c.jsx)(`button`,{className:`univer-flex univer-size-4 univer-cursor-pointer univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 hover:univer-opacity-50`,type:`button`,onClick:a,children:(0,c.jsx)(rn,{className:`univer-size-3.5 dark:!univer-text-gray-0`})})]})}e.AnchoredContextMenu=$i,Object.defineProperty(e,"BrowserClipboardService",{enumerable:!0,get:function(){return Ts}}),e.BuiltInUIPart=St,e.COLOR_PICKER_COMPONENT=xa,e.COMMON_LABEL_COMPONENT=Ca,e.CanvasFloatDomPreviewService=Dt,e.CanvasFloatDomService=Et,e.CanvasPopup=Gt,e.CanvasPopupService=Lt,e.CommonLabel=Sa,e.ComponentContainer=Z,Object.defineProperty(e,"ComponentManager",{enumerable:!0,get:function(){return L}}),e.ContextMenu=ea,e.ContextMenuGroup=qe,e.ContextMenuHostService=Xr,e.ContextMenuPanel=Yi,e.ContextMenuPosition=Ke,e.ContextMenuService=Jr,e.CopyCommand=de,e.CopyShortcutItem=Ae,e.CustomLabel=$,e.CutCommand=pe,e.CutShortcutItem=je,e.DISABLE_AUTO_FOCUS_KEY=Fc,Object.defineProperty(e,"DesktopBeforeCloseService",{enumerable:!0,get:function(){return ls}}),Object.defineProperty(e,"DesktopConfirmService",{enumerable:!0,get:function(){return Pc}}),Object.defineProperty(e,"DesktopDialogService",{enumerable:!0,get:function(){return Us}}),Object.defineProperty(e,"DesktopGalleryService",{enumerable:!0,get:function(){return qs}}),Object.defineProperty(e,"DesktopLayoutService",{enumerable:!0,get:function(){return O}}),e.DesktopLocalFileService=Js,e.DesktopLocalStorageService=nc,Object.defineProperty(e,"DesktopMessageService",{enumerable:!0,get:function(){return ac}}),Object.defineProperty(e,"DesktopNotificationService",{enumerable:!0,get:function(){return cc}}),Object.defineProperty(e,"DesktopRibbonService",{enumerable:!0,get:function(){return at}}),e.DesktopSidebarService=fc,Object.defineProperty(e,"DesktopUIController",{enumerable:!0,get:function(){return ha}}),e.EMBED_CHILD_UNIT_ID_ATTRIBUTE=f,e.EMBED_INTERACTION_BOUNDARY_OWNER_ATTRIBUTE=d,e.EMOJI_CATEGORIES=Oa,e.EMOJI_PICKER_COMPONENT=qa,e.EMOJI_RECENT_LIMIT=11,e.EmojiPicker=Ya,Object.defineProperty(e,"ErrorController",{enumerable:!0,get:function(){return q}}),e.FILE_PNG_CLIPBOARD_MIME_TYPE=gs,e.FILE_SVG_XML_CLIPBOARD_MIME_TYPE=`image/svg+xml`,e.FILE__BMP_CLIPBOARD_MIME_TYPE=vs,e.FILE__JPEG_CLIPBOARD_MIME_TYPE=_s,e.FILE__WEBP_CLIPBOARD_MIME_TYPE=ys,e.FONT_FAMILY_COMPONENT=fo,e.FONT_FAMILY_ITEM_COMPONENT=mo,e.FONT_SIZE_COMPONENT=yo,e.FONT_SIZE_LIST=_o,e.FloatDom=Nt,e.FloatDomSingle=At,e.FloatingObjectToolbarPosition=Re,e.FontFamily=po,e.FontFamilyDropdown=gc,e.FontFamilyItem=ho,Object.defineProperty(e,"FontService",{enumerable:!0,get:function(){return lo}}),e.FontSize=go,e.HEADING_ITEM_COMPONENT=xo,e.HEADING_LIST=vo,e.HOVER_TRACK_HOST_CLASS_NAME=`univer-group/hover-track`,e.HTML_CLIPBOARD_MIME_TYPE=hs,e.HeadingItem=bo,e.HoverTrack=ol,e.IBeforeCloseService=cs,e.ICanvasPopupService=It,e.IClipboardInterfaceService=ws,e.IContextMenuHostService=Yr,e.IContextMenuService=qr,e.IDialogService=nt,e.IFontService=so,e.IGalleryService=Gs,e.ILayoutService=D,e.ILeftSidebarService=N,e.ILocalFileService=Ys,e.IMenuManagerService=J,e.IMessageService=ce,e.INotificationService=ss,e.IPlatformService=be,e.IRibbonOverrideService=dr,e.IRibbonService=rt,e.IShortcutService=Ee,e.ISidebarService=P,e.IUIController=va,e.IUIPartsService=Y,e.IUIRuntimeScopeService=Se,e.IUnitPresenceUIAdapterRegistry=lc,e.IWorkbenchService=W,Object.defineProperty(e,"IconManager",{enumerable:!0,get:function(){return z}}),e.KeyCode=ge,e.MOBILE_UI_MODE=G,e.MenuItemType=te,e.MenuManagerPosition=Le,Object.defineProperty(e,"MenuManagerService",{enumerable:!0,get:function(){return Ye}}),e.MetaKeys=ve,e.MobileContextMenu=$o,Object.defineProperty(e,"MobileDialogService",{enumerable:!0,get:function(){return Ws}}),e.MobileDrawer=Fo,e.MobileKeyboardInsetContext=ts,e.MobileMenu=Io,e.MockMessageService=Lc,e.NativeTextEditorShortcutBehavior=Te,e.ObjectPermissionButton=Sc,e.ObjectPermissionPanelButton=Dc,e.PLAIN_TEXT_CLIPBOARD_MIME_TYPE=ms,e.PasteCommand=he,e.PlatformService=xe,e.PrintFloatDomSingle=tl,e.ProgressBar=sl,e.RectPopup=Ut,Object.defineProperty(e,"RediConsumer",{enumerable:!0,get:function(){return s.RediConsumer}}),Object.defineProperty(e,"RediContext",{enumerable:!0,get:function(){return s.RediContext}}),Object.defineProperty(e,"RediProvider",{enumerable:!0,get:function(){return s.RediProvider}}),e.RedoShortcutItem=Pe,e.Ribbon=Ur,e.RibbonDataGroup=Ue,e.RibbonFormulasGroup=He,e.RibbonInsertGroup=Ve,e.RibbonOthersGroup=Ge,e.RibbonOverrideService=fr,e.RibbonPosition=ze,e.RibbonStartGroup=Be,e.RibbonViewGroup=We,e.SYMBOL_CATEGORIES=So,e.SYMBOL_PICKER_COMPONENT=Co,Object.defineProperty(e,"SharedController",{enumerable:!0,get:function(){return Ie}}),e.SheetPasteShortKeyCommandName=`sheet.command.paste-by-short-key`,Object.defineProperty(e,"ShortcutPanelController",{enumerable:!0,get:function(){return tt}}),e.ShortcutPanelService=M,Object.defineProperty(e,"ShortcutService",{enumerable:!0,get:function(){return De}}),e.Sidebar=na,e.SingleCanvasPopup=Wt,e.SingleUnitUIController=ma,e.Slider=vc,e.SymbolPicker=wo,e.ThemeSwitcherService=Kr,e.ToggleFullscreenOperation=j,e.ToggleShortcutPanelOperation=I,e.ToolbarButton=Tr,e.ToolbarItem=Vr,e.UIMenuSchema=xt,e.UIPartsService=Ct,e.UIRuntimeScopeService=Ce,e.UI_PLUGIN_CONFIG_KEY=oe,e.UNI_DISABLE_CHANGING_FOCUS_KEY=`UNI_DISABLE_CHANGING_FOCUS`,Object.defineProperty(e,"UndoRedoGroupService",{enumerable:!0,get:function(){return pc}}),e.UndoShortcutItem=Ne,e.UnitPresenceUIAdapterRegistry=dc,Object.defineProperty(e,"UniverMobileUIPlugin",{enumerable:!0,get:function(){return mc}}),Object.defineProperty(e,"UniverUIPlugin",{enumerable:!0,get:function(){return Ic}}),Object.defineProperty(e,"WithDependency",{enumerable:!0,get:function(){return s.WithDependency}}),Object.defineProperty(e,"WorkbenchService",{enumerable:!0,get:function(){return re}}),e.ZIndexManager=B,e.ZoomInput=_c,Object.defineProperty(e,"connectDependencies",{enumerable:!0,get:function(){return s.connectDependencies}}),Object.defineProperty(e,"connectInjector",{enumerable:!0,get:function(){return s.connectInjector}}),e.getAllEmojis=Ma,e.getDefaultRecentEmojis=ja,e.getEmbedBoundaryOwner=p,e.getEmbedChildUnitId=h,e.getEmojiLocaleData=Ua,e.getHeaderFooterMenuHiddenObservable=H,e.getLocalizedEmojiTitle=Ha,e.getMenuHiddenObservable=V,e.getRandomEmoji=Ia,e.handelExcelToJson=Zc,e.handelTableToJson=Jc,e.handleDomToJson=Vc,e.handlePlainToJson=Yc,e.handleStringToStyle=Hc,e.handleTableColgroup=Gc,e.handleTableMergeData=Xc,e.handleTableRowGroup=qc,e.imageMimeTypeSet=bs,e.isEmbedBoundaryTarget=m,e.keepInteractionInsideSameEmbedBoundary=g,e.mergeMenuConfigs=U,e.objectPermissionMenuItemFactory=ae,e.openObjectPermissionDialog=xc,e.openObjectPermissionPanel=Ec,e.parseHtmlDocument=fs,e.parseHtmlFragment=ds,e.parseStoredRecentEmojis=Fa,e.preventBrowserZoomInContainers=$r,e.promoteRecentEmoji=Pa,e.sanitizeParsedHtml=us,e.searchEmojis=Na,e.splitSpanText=Wc,e.supportClipboardAPI=ps,e.textTrim=zc,e.useClickOutSide=aa,e.useComponentsOfPart=Q,e.useConfigValue=Qr,e.useDebounceFn=oa,Object.defineProperty(e,"useDependency",{enumerable:!0,get:function(){return s.useDependency}}),e.useEvent=Rt,Object.defineProperty(e,"useInjector",{enumerable:!0,get:function(){return s.useInjector}}),Object.defineProperty(e,"useObservable",{enumerable:!0,get:function(){return s.useObservable}}),e.useObservableRef=st,e.useScrollYOverContainer=Zr,e.useSidebarClick=Rc,e.useToolbarItemStatus=xr,Object.defineProperty(e,"useUpdateBinder",{enumerable:!0,get:function(){return s.useUpdateBinder}}),e.useUpdateEffect=ia,e.useVirtualList=la});
65
+ `,contentClassName:`univer-min-h-0 univer-px-4 univer-pb-4`,header:(0,c.jsxs)(`header`,{className:`univer-flex univer-h-12 univer-flex-1 univer-items-center univer-justify-between univer-px-4`,children:[(0,c.jsx)(`div`,{className:`univer-min-w-0 univer-truncate univer-text-base univer-font-semibold`,children:l.title}),l.closable!==!1&&(0,c.jsx)(`button`,{type:`button`,className:`univer-flex univer-size-10 univer-shrink-0 univer-items-center univer-justify-center univer-rounded-full univer-border-0 univer-bg-transparent univer-text-xl univer-text-gray-600 univer-outline-none active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`,onClick:g,"aria-label":n.t(`ui.sidebar.close`),children:(0,c.jsx)(gn,{})})]}),footer:h?(0,c.jsx)(`footer`,{className:`univer-shrink-0 univer-border-0 univer-border-t univer-border-solid univer-border-gray-200 univer-p-4 dark:!univer-border-gray-700`,children:(0,c.jsx)(i.MobileActionRowGroup,{children:h})}):void 0,children:l.children})]})}function gc(e){let t=(0,r.useRef)(null),n=(0,r.useRef)(!1),a=(0,r.useCallback)(e=>{e&&(t.current=e.closest(`[role="dialog"]`))},[]);return(0,r.useLayoutEffect)(()=>{if(n.current=!!e.open,!e.open)return;let r=document,i=r.activeElement,a=p(i),o=r==null?void 0:r.defaultView,s=e=>{e.key===`Escape`&&e.isComposing&&e.target instanceof Element&&e.target.closest(`[role="dialog"]`)===t.current&&(e.preventDefault(),e.stopPropagation())};return o==null||o.addEventListener(`keydown`,s,!0),()=>{n.current=!1;let c=t.current;o==null||o.removeEventListener(`keydown`,s,!0),e.mask!==!1&&queueMicrotask(()=>{if(n.current)return;t.current===c&&(t.current=null);let e=r==null?void 0:r.activeElement;i instanceof HTMLElement&&i.isConnected&&p(i)===a&&(e===(r==null?void 0:r.body)||e&&c!=null&&c.contains(e))&&i.focus({preventScroll:!0})})}},[e.open,e.mask]),(0,c.jsx)(i.Dialog,{...e,children:(0,c.jsx)(`div`,{ref:a,className:`univer-contents`,children:e.children})})}function _c(){let e=(0,s.useDependency)(nt),t=(0,s.useObservable)(e.getDialogs$(),[]),n=(0,r.useMemo)(()=>t.map(e=>{let{children:t,title:n,footer:r,...i}=e,a=i;for(let t of[`children`,`title`,`footer`]){let n=t,r=e[n];if(r){let{key:e,...t}=r;a[n]=(0,c.jsx)($,{...t},e)}}return a}),[t]);return n==null?void 0:n.map(e=>(0,c.jsx)(gc,{...e},e.id))}let vc=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,S(this,`_dialogOptions`,[]),S(this,`_dialogOptions$`,new n.Subject),this._initUIPart()}dispose(){super.dispose(),this._dialogOptions=[],this._dialogOptions$.complete()}open(e){return this._dialogOptions.find(t=>t.id===e.id)?this._dialogOptions=this._dialogOptions.map(t=>({...t.id===e.id?e:t,open:t.id===e.id||t.open})):this._dialogOptions.push({...e,open:!0}),this._dialogOptions$.next(this._dialogOptions),(0,t.toDisposable)(()=>{this._dialogOptions=[],this._dialogOptions$.next([])})}close(e){this._dialogOptions=this._dialogOptions.map(t=>({...t,open:t.id!==e&&t.open})),this._dialogOptions$.next([...this._dialogOptions])}closeAll(e){let t=new Set(e);this._dialogOptions=this._dialogOptions.map(e=>({...e,open:t.has(e.id)?e.open:!1})),this._dialogOptions$.next([...this._dialogOptions])}getDialogs$(){return this._dialogOptions$.asObservable()}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(_c,this._injector)))}};vc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],vc);let yc=class extends vc{constructor(e,t){super(e,t)}close(e){let t=this._dialogOptions.find(t=>t.id===e);t&&t.open!==!1&&super.close(e)}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(hc,this._injector)))}};yc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],yc);let bc=(0,t.createIdentifier)(`univer.ui.gallery-service`);function xc(){let e=(0,s.useDependency)(bc),t=(0,s.useObservable)(e.gallery$);return t?(0,c.jsx)(i.Gallery,{...t}):null}let Sc=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,S(this,`gallery$`,new n.ReplaySubject(1)),this._initUIPart()}dispose(){super.dispose()}open(e){return this.gallery$.next({open:!0,...e}),(0,t.toDisposable)(()=>{this.gallery$.complete()})}close(){this.gallery$.next({open:!1,images:[]})}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(xc,this._injector)))}};Sc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],Sc);var Cc=class extends t.Disposable{openFile(e){return new Promise(t=>{let n=document.createElement(`input`);n.type=`file`,n.accept=(e==null?void 0:e.accept)??``,n.multiple=(e==null?void 0:e.multiple)??!1,n.onchange=e=>{let n=e.target.files;n&&t(Array.from(n))},n.click()})}downloadFile(e,t){let n=document.createElement(`a`);n.download=t,n.href=window.URL.createObjectURL(e),n.click()}};let wc=(0,t.createIdentifier)(`univer-ui.local-file.service`),Tc=`UniverLocalStorage`;var Ec=class{constructor(){S(this,`_db`,void 0),this._db=this._init()}_init(){return new Promise((e,t)=>{let n=indexedDB.open(Tc,1);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=()=>{n.result.createObjectStore(`kv`)}})}_store(e){return this._db.then(t=>t.transaction(`kv`,e).objectStore(`kv`))}async getItem(e){let t=await this._store(`readonly`);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async setItem(e,t){let n=await this._store(`readwrite`);return new Promise((r,i)=>{let a=n.put(t,e);a.onsuccess=()=>r(t),a.onerror=()=>i(a.error)})}async removeItem(e){let t=await this._store(`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async clear(){let e=await this._store(`readwrite`);return new Promise((t,n)=>{let r=e.clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}async key(e){let t=await this._store(`readonly`);return new Promise((n,r)=>{let i=t.openCursor(),a=0;i.onsuccess=()=>{let t=i.result;if(!t)return n(null);if(a===e)return n(t.key);a++,t.continue()},i.onerror=()=>r(i.error)})}async keys(){let e=await this._store(`readonly`);return new Promise((t,n)=>{let r=e.openCursor(),i=[];r.onsuccess=()=>{let e=r.result;if(!e)return t(i);i.push(e.key),e.continue()},r.onerror=()=>n(r.error)})}async iterate(e){let t=await this._store(`readonly`);return new Promise((n,r)=>{let i=t.openCursor(),a=1,o;i.onsuccess=()=>{let t=i.result;if(!t||(o=e(t.value,t.key,a++),o!==void 0))return n(o);t.continue()},i.onerror=()=>r(i.error)})}},Dc=class{constructor(){S(this,`_prefix`,`${Tc}/`)}_key(e){return this._prefix+e}_rawKey(e){return e.startsWith(this._prefix)?e.slice(this._prefix.length):e}async getItem(e){try{let t=localStorage.getItem(this._key(e));return t?JSON.parse(t):null}catch{return null}}async setItem(e,t){return localStorage.setItem(this._key(e),JSON.stringify(t)),t}async removeItem(e){localStorage.removeItem(this._key(e))}async clear(){let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n.startsWith(this._prefix)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}async key(e){return this._keys()[e]??null}async keys(){return this._keys()}_keys(){let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n.startsWith(this._prefix)&&e.push(this._rawKey(n))}return e}async iterate(e){let t=this._keys();for(let n=0;n<t.length;n++){let r=t[n],i=e(await this.getItem(r),r,n+1);if(i!==void 0)return i}}},Oc=class{constructor(e,t){this._primary=e,this._fallback=t,S(this,`_fallbackEnabled`,!1)}async _run(e,t){if(this._fallbackEnabled)return t();try{return await e()}catch{return this._fallbackEnabled=!0,t()}}getItem(e){return this._run(()=>this._primary.getItem(e),()=>this._fallback.getItem(e))}setItem(e,t){return this._run(()=>this._primary.setItem(e,t),()=>this._fallback.setItem(e,t))}removeItem(e){return this._run(()=>this._primary.removeItem(e),()=>this._fallback.removeItem(e))}clear(){return this._run(()=>this._primary.clear(),()=>this._fallback.clear())}key(e){return this._run(()=>this._primary.key(e),()=>this._fallback.key(e))}keys(){return this._run(()=>this._primary.keys(),()=>this._fallback.keys())}iterate(e){return this._run(()=>this._primary.iterate(e),()=>this._fallback.iterate(e))}};function kc(){try{if(typeof indexedDB<`u`)return new Oc(new Ec,new Dc)}catch{}return new Dc}let Ac=kc();var jc=class{getItem(e){return Ac.getItem(e)}setItem(e,t){return Ac.setItem(e,t)}removeItem(e){return Ac.removeItem(e)}clear(){return Ac.clear()}key(e){return Ac.key(e)}keys(){return Ac.keys()}iterate(e){return Ac.iterate(e)}};function Mc(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useDependency)(t.ThemeService),r=(0,s.useObservable)(n.darkMode$),a=(0,s.useObservable)(e.direction$);return(0,c.jsx)(i.Messager,{theme:r?`dark`:`light`,dir:a})}let Nc=0,Pc=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,this._initUIPart()}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(Mc,this._injector)))}dispose(){super.dispose(),(0,i.removeMessage)()}show(e){let n=e.id??`message-${Date.now()}-${Nc}`;Nc+=1;let r=Object.assign({},e,{id:n});return(0,i.message)(r),(0,t.toDisposable)(()=>(0,i.removeMessage)(n))}remove(e){(0,i.removeMessage)(e)}removeAll(){(0,i.removeMessage)()}};Pc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],Pc);function Fc(){let e=(0,s.useDependency)(t.LocaleService),n=(0,s.useDependency)(t.ThemeService),r=(0,s.useObservable)(n.darkMode$),a=(0,s.useObservable)(e.direction$);return(0,c.jsx)(i.Toaster,{theme:r?`dark`:`light`,dir:a})}let Ic={show:e=>{let{type:t=`message`,title:n,content:r,duration:a,closable:o=!0,dismissible:s=!0,position:c=`top-right`,action:l}=e;return i.toast[t](n,{position:c,description:r,duration:a,closeButton:o,dismissible:s,action:l})},dismiss:e=>i.toast.dismiss(e)},Lc=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,this._initUIPart()}show(e){let n=Ic.show(e);return(0,t.toDisposable)(()=>Ic.dismiss(n))}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(Fc,this._injector)))}};Lc=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],Lc);let Rc=(0,t.createIdentifier)(`ui.unit-presence-adapter-registry`),zc=Object.freeze([]);var Bc=class extends t.Disposable{constructor(...e){super(...e),S(this,`_adapters`,new Map),S(this,`_adapters$`,new n.BehaviorSubject(zc)),S(this,`adapters$`,this._adapters$.asObservable())}dispose(){this._adapters.clear(),this._adapters$.complete(),super.dispose()}register(e){if(this._adapters.has(e.unitType))throw Error(`A unit presence adapter is already registered for UniverInstanceType "${e.unitType}".`);return this._adapters.set(e.unitType,e),this._emitAdapters(),(0,t.toDisposable)(()=>{this._adapters.get(e.unitType)===e&&(this._adapters.delete(e.unitType),this._emitAdapters())})}get(e){return this._adapters.get(e)??null}getAll(){return this._adapters$.getValue()}_emitAdapters(){this._adapters$.next(Object.freeze(Array.from(this._adapters.values())))}},Vc=class extends t.Disposable{constructor(...e){super(...e),S(this,`_sidebarOptions`,{}),S(this,`sidebarOptions$`,new n.Subject),S(this,`scrollEvent$`,new n.Subject),S(this,`_container`,void 0),S(this,`_openAnimationFrameId`,null),S(this,`_width`,void 0)}get visible(){return this._sidebarOptions.visible||!1}get options(){return this._sidebarOptions}get width(){return this._width}setWidth(e){this._width=e}dispose(){super.dispose(),this.close(),this.sidebarOptions$.complete(),this.scrollEvent$.complete()}_clearPendingOpenFrame(){this._openAnimationFrameId!==null&&(cancelAnimationFrame(this._openAnimationFrameId),this._openAnimationFrameId=null)}open(e){return this._sidebarOptions={...e,id:e.id,visible:!0},this.sidebarOptions$.next(this._sidebarOptions),this._clearPendingOpenFrame(),this._openAnimationFrameId=requestAnimationFrame(()=>{this._openAnimationFrameId=null,this._sidebarOptions.onOpen&&this._sidebarOptions.onOpen()}),(0,t.toDisposable)(()=>{this.close()})}close(e){var t,n;e&&this._sidebarOptions.id!==e||(this._clearPendingOpenFrame(),this._sidebarOptions={...this._sidebarOptions,visible:!1},this.sidebarOptions$.next(this._sidebarOptions),(t=(n=this._sidebarOptions).onClose)==null||t.call(n))}getContainer(){return this._container}setContainer(e){this._container=e}};let Hc=class{constructor(e){this._undoRedoService=e,S(this,`_sessions`,new Map)}run(e,n,r=`append`){return this._run(e,(0,t.generateRandomId)(8),r,n)}createRunner(e,n=`append`){let r=(0,t.generateRandomId)(8);return t=>this._run(e,r,n,t)}runTimed(e,n,r,i=`replace`){let a=Date.now(),o=`${e}:${n}`,s=this._sessions.get(o),c=s&&s.expiresAt>=a?s.id:(0,t.generateRandomId)(8);return this._sessions.set(o,{id:c,expiresAt:a+1e3}),this._sessions.size>100&&this._sessions.forEach((e,t)=>{e.expiresAt<a&&this._sessions.delete(t)}),this._run(e,c,i,r)}_run(e,t,n,r){let i=this._undoRedoService.beginUndoRedoGroup(e,t,n);try{return r()}finally{i.dispose()}}};Hc=w([C(0,t.IUndoRedoService)],Hc);let Uc=class extends t.Plugin{constructor(e=se,n,r,i){super(),this._config=e,this._contextService=n,this._injector=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({popupRootId:`univer-popup-portal-${(0,t.generateRandomId)(6)}`,disableAutoFocus:!0},se,this._config);o.disableAutoFocus&&this._contextService.setContextValue(`DISABLE_AUTO_FOCUS`,!0),this._contextService.setContextValue(G,!0),a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(oe,o)}onStarting(){(0,t.registerDependencies)(this._injector,(0,t.mergeOverrideWithDependencies)([[L],[z],[Bo],[oi],[Hc],[W,{useClass:re}],[B],[Y,{useClass:Mt}],[D,{useClass:O}],[rt,{useClass:at}],[Ee,{useClass:De}],[be,{useClass:xe}],[Rc,{useClass:Bc}],[J,{useClass:Ye}],[li,{useClass:ui}],[si,{useClass:ci}],[Se,{useClass:Ce}],[$s,{useClass:ec,lazy:!0}],[Is,{useClass:Lc,lazy:!0}],[bc,{useClass:Sc,lazy:!0}],[nt,{useClass:yc,lazy:!0}],[t.IConfirmService,{useClass:pc,lazy:!0}],[P,{useClass:Vc,lazy:!0}],[K,{useClass:Pc}],[t.ILocalStorageService,{useClass:jc,lazy:!0}],[Ls,{useClass:Rs}],[wc,{useClass:Cc}],[Gt,{useClass:Kt}],[So,{useClass:wo}],[Ft],[It],[Ma,{useFactory:e=>e.createInstance(Ns,this._config),deps:[t.Injector]}],[gt],[xt],[Ie],[q]],this._config.override)),(0,t.touchDependencies)(this._injector,[[Bo],[Ma],[q]])}onReady(){(0,t.touchDependencies)(this._injector,[[Ie],[xt]])}};S(Uc,`pluginName`,`UNIVER_MOBILE_UI_PLUGIN`),S(Uc,`packageName`,Na),S(Uc,`version`,Pa),Uc=w([(0,t.DependentOn)(a.UniverRenderEnginePlugin),C(1,t.IContextService),C(2,(0,t.Inject)(t.Injector)),C(3,t.IConfigService)],Uc);function Wc(){let e=(0,s.useDependency)(Ee),n=(0,s.useDependency)(t.LocaleService),a=(0,s.useObservable)(n.currentLocale$),[o,l]=(0,r.useState)([]),u=(0,r.useCallback)(()=>{let r=new Map,i=e.getAllShortcuts().filter(e=>!!e.group),a=new Map;for(let t of i){let i=t.group,o={title:n.t(t.description??t.id),shortcut:e.getShortcutDisplay(t)};if(!/^\d+_/.test(i))throw Error(`[ShortcutPanel]: Invalid shortcut group: ${i}!`);if(!t.groupTitle)throw Error(`[ShortcutPanel]: Shortcut group "${i}" must provide a groupTitle!`);a.has(i)||a.set(i,t.groupTitle),r.has(i)||r.set(i,[]),r.get(i).push(o)}let o=Array.from(r.entries()).map(([e,r])=>{let i=e.split(`_`)[0],o=a.get(e);return{sequence:+i,name:n.t(o),items:(0,t.dedupeBy)(r,e=>e.title+e.shortcut)}}).sort((e,t)=>e.sequence-t.sequence);l(o)},[e,n,a]);return(0,r.useEffect)(()=>{u();let t=e.shortcutChanged$.subscribe(()=>u());return()=>t.unsubscribe()},[e,u]),(0,c.jsx)(`ul`,{className:`univer-m-0 univer-list-none univer-p-0 univer-text-gray-900 dark:!univer-text-gray-0`,children:o.map(e=>(0,c.jsxs)(`li`,{children:[(0,c.jsx)(`div`,{className:`univer-flex univer-h-10 univer-items-center univer-text-sm univer-font-semibold`,children:e.name}),(0,c.jsx)(`ul`,{className:(0,i.clsx)(`univer-list-none univer-p-0`,i.divideYClassName),children:e.items.map(e=>(0,c.jsxs)(`li`,{className:`univer-flex univer-h-10 univer-items-center univer-justify-between univer-py-0.5 univer-text-sm last:univer-border-b-0`,children:[(0,c.jsx)(`span`,{className:`univer-line-clamp-2`,children:e.title}),e.shortcut&&(0,c.jsx)(i.KBD,{keyboard:e.shortcut})]},`${e.title}-${e.shortcut}`))})]},e.name))})}function Gc(e){let{value:n,onChange:a,ariaLabel:o,className:l,disabled:u,disabled$:d,inputClassName:f,popupClassName:p,popupDataComponent:m,title:h,onMouseDown:g,onPointerDown:_}=e,v=(0,s.useDependency)(t.LocaleService),y=(0,s.useObservable)(v.direction$,v.getDirection()),b=(0,s.useObservable)(d),x=!!(u||b),[S,C]=(0,r.useState)(!1),w=m?{"data-u-comp":m}:void 0;function T(e){C(!1),a(e)}return(0,c.jsx)(i.Dropdown,{disabled:x,open:S,onOpenChange:C,overlay:(0,c.jsx)(`div`,{dir:y,className:(0,i.clsx)(`univer-max-h-72 univer-min-w-44 univer-overflow-y-auto univer-rounded-lg univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-0 univer-p-1 univer-shadow-lg dark:!univer-border-gray-700 dark:!univer-bg-gray-900`,p),...w,children:(0,c.jsx)(ko,{value:n,onChange:T})}),children:(0,c.jsxs)(`div`,{"aria-disabled":x,"aria-expanded":S,"aria-label":o,dir:y,className:(0,i.clsx)(`univer-flex univer-h-6 univer-min-w-0 univer-cursor-default univer-items-center univer-justify-between univer-gap-1 univer-rounded-md univer-px-1.5 univer-text-sm univer-text-gray-900 hover:univer-bg-gray-100 dark:!univer-text-gray-100 dark:hover:!univer-bg-gray-700`,{"univer-cursor-not-allowed univer-opacity-60":x},l),role:`combobox`,tabIndex:x?-1:0,title:typeof h==`string`?h:void 0,onMouseDown:g,onPointerDown:_,children:[(0,c.jsx)(Do,{className:(0,i.clsx)(`univer-min-w-0 univer-flex-1`,f),value:n,disabled:x,onChange:T}),(0,c.jsx)(Bn,{className:`univer-flex-shrink-0 univer-text-xs univer-text-gray-500`})]})})}function Kc(e){let n=(0,s.useDependency)(z),a=(0,s.useDependency)(t.LocaleService),{value:o=100,min:l=0,max:u=400,shortcuts:d,disabled:f=!1,className:p,onChange:m}=e,h=(0,r.useRef)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(()=>`${o}%`);(0,r.useEffect)(()=>{h.current||y(`${o}%`)},[o]);function b(e){return Math.min(Math.max(e,l),u)}function x(e){f||(_(!1),m==null||m(e))}function S(e){let t=e.trim().replace(/%$/,``).trim();if(t===``)return null;let n=Number(t);return Number.isFinite(n)?Math.round(b(n)):null}function C(){f||(h.current=!0,y(String(o)))}function w(){if(f||!h.current)return;let e=S(v);if(h.current=!1,e==null){y(`${o}%`);return}y(`${e}%`),e!==o&&(m==null||m(e))}function T(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),w(),e.currentTarget.blur())}let E=[{type:`radio`,value:o.toString(),options:d.map(e=>({value:e.toString(),label:`${e}%`})),onSelect:e=>x(+e)}],D=n.get(`MoreDownIcon`);return(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-h-6 univer-w-[68px] univer-flex-shrink-0 univer-items-center univer-overflow-hidden univer-rounded-md univer-border univer-border-gray-200 univer-bg-gray-0 dark:!univer-border-gray-600 dark:!univer-bg-gray-800`,p,{"univer-opacity-60":f}),onClick:e=>e.stopPropagation(),children:[(0,c.jsx)(i.Input,{className:`univer-box-border univer-h-6 univer-min-w-0 univer-flex-1 univer-border-none univer-bg-transparent [&_input:focus]:!univer-ring-0 [&_input]:univer-h-6 [&_input]:univer-w-full [&_input]:univer-border-none [&_input]:!univer-bg-transparent [&_input]:univer-px-1 [&_input]:univer-text-center [&_input]:univer-text-xs [&_input]:univer-tabular-nums`,inputClass:`univer-w-full`,size:`mini`,"aria-label":a.t(`ui.accessibility.zoom`),value:v,disabled:f,type:`text`,onChange:y,onFocus:C,onBlur:w,onKeyDown:T}),(0,c.jsx)(i.DropdownMenu,{align:`end`,items:E,open:g,disabled:f,onOpenChange:_,children:(0,c.jsx)(i.Button,{className:`univer-h-6 univer-w-4 univer-rounded-none univer-p-0`,size:`small`,variant:`text`,"aria-label":a.t(`ui.accessibility.menu`),disabled:f,children:(0,c.jsx)(D,{className:`univer-size-3 univer-text-gray-500 dark:!univer-text-gray-300`})})})]})}function qc(e){let n=(0,s.useDependency)(z),a=(0,s.useDependency)(t.LocaleService),{value:o,min:l=0,max:u=400,disabled:d=!1,resetPoint:f=100,shortcuts:p,onChange:m}=e,h=(0,s.useObservable)(a.direction$,a.getDirection())===`rtl`,g=(0,r.useRef)(null),_=(0,r.useRef)(o),v=(0,r.useRef)(null),y=(0,r.useRef)(o),b=(0,r.useRef)(null),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(o);(0,r.useEffect)(()=>()=>{M()},[]);function T(e){return Math.min(Math.max(e,l),u)}function E(){d||m&&m(f)}function D(e){if(d)return;let t=o+e;o+e<=l?t=l:o+e>=u&&(t=u),m&&m(t)}function O(e){let t=null;e.key===`ArrowLeft`||e.key===`ArrowDown`||e.key===`PageDown`?t=e.key===`PageDown`?o-100:o-10:e.key===`ArrowRight`||e.key===`ArrowUp`||e.key===`PageUp`?t=e.key===`PageUp`?o+100:o+10:e.key===`Home`?t=l:e.key===`End`&&(t=u),!(t===null||d)&&(e.preventDefault(),e.stopPropagation(),m==null||m(T(t)))}function k(e){if(e<=f){let t=50/(f-l);return(e-l)*t}if(e<=u)return f*.5+(e-f)/(u-f)*50}function A(e,t){let n=t.getBoundingClientRect(),r=n.width||116,i=e-n.x;i<=0?i=0:i>=r&&(i=r),h&&(i=r-i);let a=i/r;return a<=.5?l+a*(f-l)*2:f+(a-.5)*(u-f)*2}function j(e,t){return Math.ceil(T(A(e,t)))}function M(){b.current!=null&&(window.clearTimeout(b.current),b.current=null)}function N(e){e!==y.current&&(y.current=e,m&&m(e))}function P(){M();let e=v.current;v.current=null,e!=null&&N(e)}function F(e){v.current=e,b.current??=window.setTimeout(()=>{b.current=null;let e=v.current;v.current=null,e!=null&&N(e)},50)}function I(e,t){let n=j(e,t);return _.current=n,w(n),n}function L(e){if(d)return;e.preventDefault(),e.stopPropagation();let t=g.current,n=!0;y.current=o,S(!0),F(I(e.clientX,t));function r(e){n&&F(I(e.clientX,t))}function i(){n=!1,S(!1),window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),window.removeEventListener(`pointerout`,a),P()}function a(e){e.relatedTarget===null&&i()}window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i),window.addEventListener(`pointerout`,a)}let R=x?C:o,B=Math.min(Math.max(k(R)??0,0),100),V=h?100-B:B,H=n.get(`ReduceIcon`),U=n.get(`IncreaseIcon`);return(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-select-none univer-items-center univer-gap-1.5`,{"univer-cursor-not-allowed":d}),children:[(0,c.jsx)(i.Button,{className:`univer-size-6 univer-p-0`,size:`small`,variant:`text`,"aria-label":a.t(`ui.accessibility.zoomOut`),disabled:o<=l||d,onClick:()=>D(-10),children:(0,c.jsx)(H,{className:`univer-text-gray-500`})}),(0,c.jsx)(`div`,{className:`univer-hidden univer-h-6 univer-items-center sm:!univer-flex`,children:(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-relative univer-h-1.5 univer-rounded-full univer-bg-gray-200 univer-px-1.5 univer-transition-colors dark:!univer-bg-gray-600`,{"univer-opacity-60":d}),style:{width:`116px`},children:(0,c.jsxs)(`div`,{ref:g,role:`track`,className:`univer-relative univer-h-1.5 univer-bg-gray-200 dark:!univer-bg-gray-600`,onPointerDown:L,children:[(0,c.jsx)(`div`,{className:(0,i.clsx)(`univer-bg-primary-500/60 univer-absolute univer-top-0 univer-h-full univer-rounded-full`,h?`univer-right-0`:`univer-left-0`),style:{width:`${B}%`}}),(0,c.jsx)(`a`,{className:`univer-absolute univer-left-1/2 univer-top-1/2 univer-box-border univer-block univer-size-1.5 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-cursor-pointer univer-rounded-full univer-border univer-border-gray-0 univer-bg-gray-400 dark:!univer-border-gray-700 dark:!univer-bg-gray-300`,role:`button`,tabIndex:d?-1:0,"aria-label":a.t(`ui.accessibility.resetZoom`),"aria-disabled":d,onClick:E,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),E())}},`reset-button`),(0,c.jsx)(`button`,{className:(0,i.clsx)(`univer-absolute univer-top-1/2 univer-size-3.5 -univer-translate-x-1/2 -univer-translate-y-1/2 univer-rounded-full univer-bg-gray-0 univer-shadow-sm univer-transition-all focus-visible:univer-outline-none focus-visible:univer-ring-2 focus-visible:univer-ring-primary-100 dark:!univer-bg-gray-800`,i.borderClassName,{"univer-cursor-pointer hover:univer-border-primary-600 hover:univer-shadow-md":!d,"univer-cursor-not-allowed":d,"univer-scale-105 univer-border-primary-600 univer-shadow-md":x}),role:`slider`,"aria-label":a.t(`ui.accessibility.zoom`),"aria-valuemin":l,"aria-valuemax":u,"aria-valuenow":R,"aria-valuetext":`${R}%`,disabled:d,type:`button`,style:{left:`${V}%`},onPointerDown:L,onKeyDown:O})]})})}),(0,c.jsx)(i.Button,{className:`univer-size-6 univer-p-0`,size:`small`,variant:`text`,"aria-label":a.t(`ui.accessibility.zoomIn`),disabled:o>=u||d,onClick:()=>D(10),children:(0,c.jsx)(U,{className:`univer-text-gray-500`})}),(0,c.jsx)(Kc,{value:o,min:l,max:u,shortcuts:p,disabled:d,onChange:m})]})}function Jc({unitId:e,value:n,disabled:a,onChange:o}){var l;let d=(0,s.useDependency)(t.LocaleService),f=(0,s.useDependency)(t.IAuthzIoService),p=(0,s.useDependency)(t.UserManagerService),[m,h]=(0,r.useState)(``),[g,_]=(0,r.useState)([]),[v,y]=(0,r.useState)(!0),[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(0),w=((l=f.getCfgEnableObjInherit)==null?void 0:l.call(f))??!1;(0,r.useEffect)(()=>{let t=!1;return f.listCollaborators({unitID:e,objectID:e}).then(e=>{t||(_(e.filter(e=>{var t;return((t=e.subject)==null?void 0:t.userID)!==p.getCurrentUser().userID})),y(!1))}).catch(()=>{t||(x(!0),y(!1))}),()=>{t=!0}},[f,p,e,S]);let T=new Map;for(let e of g){var E;T.set(((E=e.subject)==null?void 0:E.userID)||e.id,e)}for(let e of n){var D;let t=((D=e.subject)==null?void 0:D.userID)||e.id;T.has(t)||T.set(t,e)}let O=new Set(n.map(e=>{var t;return((t=e.subject)==null?void 0:t.userID)||e.id})),k=m.trim().toLocaleLowerCase(),A=Array.from(T.values()).filter(e=>{var t,n,r;return(O.has(((t=e.subject)==null?void 0:t.userID)||e.id)||e.role===u.UnitRole.Owner||e.role===u.UnitRole.Editor)&&[(n=e.subject)==null?void 0:n.name,(r=e.subject)==null?void 0:r.userID,e.id].some(e=>e==null?void 0:e.toLocaleLowerCase().includes(k))});return(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-flex univer-flex-col univer-gap-3 univer-rounded-lg univer-p-3`,i.borderClassName),children:[(0,c.jsx)(i.Input,{className:`univer-w-full`,value:m,onChange:h,placeholder:d.t(`ui.objectPermission.searchPeople`),"aria-label":d.t(`ui.objectPermission.searchPeople`)}),(0,c.jsx)(`span`,{className:`univer-text-xs univer-text-gray-500`,"aria-live":`polite`,children:d.t(`ui.objectPermission.selectedCount`,String(O.size))}),(0,c.jsxs)(`div`,{className:`univer-flex univer-max-h-60 univer-flex-col univer-gap-3 univer-overflow-y-auto`,children:[v&&(0,c.jsx)(`p`,{role:`status`,children:d.t(`ui.objectPermission.loading`)}),b&&(0,c.jsxs)(`div`,{role:`alert`,children:[d.t(`ui.objectPermission.peopleError`),(0,c.jsx)(i.Button,{onClick:()=>{y(!0),x(!1),C(e=>e+1)},children:d.t(`ui.objectPermission.reload`)})]}),!v&&!b&&A.length===0&&(0,c.jsx)(`p`,{role:`status`,className:`univer-text-sm univer-text-gray-500`,children:d.t(`ui.objectPermission.noMatchingPeople`)}),A.map(e=>{var t,r,s;let l=((t=e.subject)==null?void 0:t.userID)||e.id,f=((r=e.subject)==null?void 0:r.name)||l,p=w&&e.role===u.UnitRole.Owner,m=`ui.objectPermission.roleEditor`;return e.role===u.UnitRole.Owner&&(m=`ui.objectPermission.roleOwner`),p&&(m=`ui.objectPermission.ownerInherit`),(0,c.jsx)(i.Checkbox,{disabled:a||v||p,checked:O.has(l),onChange:t=>o(t?[...n,{...e,role:u.UnitRole.Editor}]:n.filter(e=>{var t;return(((t=e.subject)==null?void 0:t.userID)||e.id)!==l})),children:(0,c.jsxs)(`span`,{className:`univer-flex univer-min-w-0 univer-items-center univer-gap-2`,children:[(0,c.jsx)(`span`,{"aria-hidden":`true`,children:(0,c.jsx)(i.Avatar,{size:24,src:(s=e.subject)==null?void 0:s.avatar,children:Array.from(f)[0]})}),(0,c.jsx)(`span`,{className:`univer-min-w-0 univer-break-words`,title:f,children:f}),(0,c.jsx)(`span`,{className:`univer-rounded univer-bg-gray-100 univer-px-1.5 univer-py-0.5 univer-text-xs univer-text-gray-500`,children:d.t(m)})]})},l)})]})]})}let Yc=`ui.object-permission-dialog`;function Xc(e,n){if(!e.get(t.ObjectPermissionService).canView(n.target)||n.exists&&!n.exists())return!1;let r=e.get(nt);return r.open({id:Yc,width:400,title:{label:e.get(t.LocaleService).t(`ui.objectPermission.title`)},closable:!1,maskClosable:!1,keyboard:!1,children:{label:{name:Yc,props:{...n,hosted:!0,onClose:()=>r.close(Yc)}}}}),!0}function Zc(e){let n=(0,s.useDependency)(t.ObjectPermissionService),a=(0,s.useDependency)(t.LocaleService);(0,s.useObservable)(n.changed$,0);let[o,l]=(0,r.useState)(!1);return n.supports(e.target)?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.StateIconButton,{disabled:!n.canView(e.target),active:n.hasPolicy(e.target),emphasizeActive:!0,title:a.t(`ui.objectPermission.title`),"aria-label":a.t(`ui.objectPermission.title`),onClick:e=>{e.stopPropagation(),l(!0)},children:(0,c.jsx)(ir,{})}),o&&(0,c.jsx)($c,{...e,onClose:()=>l(!1)})]}):null}let Qc=[u.UnitAction.Edit];function $c({target:e,name:n,commandId:a,actions:o=Qc,exists:l,onClose:d,hosted:f=!1}){let p=(0,s.useDependency)(t.LocaleService),m=(0,s.useDependency)(t.ObjectPermissionService),h=(0,s.useDependency)(t.ICommandService),g=(0,s.useDependency)(t.IUniverInstanceService),_=(0,s.useDependency)(t.UserManagerService),v=(0,s.useObservable)(_.currentUser$,_.getCurrentUser()),[y,b]=(0,r.useState)(null);(0,s.useObservable)(m.changed$,0);let x=m.canView(e),[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)(!1),[E,D]=(0,r.useState)(!1),[O,k]=(0,r.useState)(!1),[A,j]=(0,r.useState)(0),[M,N]=(0,r.useState)(!1),[P,F]=(0,r.useState)(!1),[I,L]=(0,r.useState)(!0),{unitId:R,objectId:z,objectType:B}=e,V=z===R?[`all`,`owner`]:[`all`,`owner`,`members`];(0,r.useEffect)(()=>{let e=g.unitDisposed$.subscribe(e=>{e.getUnitId()===R&&d()});return()=>e.unsubscribe()},[g,R,d]),(0,r.useEffect)(()=>{let e=!1;return L(!0),Promise.all([m.read({unitId:R,objectId:z,objectType:B}),m.canManage({unitId:R,objectId:z,objectType:B}),m.canDelete({unitId:R,objectId:z,objectType:B})]).then(([t,n,r])=>{e||(b(t),C(n),T(r),N(!1),F(!1),k(!1),L(!1))}).catch(()=>{e||(k(!0),L(!1))}),()=>{e=!0}},[m,R,z,B,A,v.userID]),(0,r.useEffect)(()=>{let e=m.unitChanges$.subscribe(e=>{e===R&&(E||(M?F(!0):j(e=>e+1)))});return()=>e.unsubscribe()},[m,R,M,E]);let H=async(e=!1)=>{if(y&&x&&!I&&!E&&(e?w:S)&&!P){D(!0),k(!1);try{if(!g.getUnit(R)||l&&!l())throw Error(`Object no longer exists.`);if(!await h.executeCommand(a,{unitId:R,objectId:z,action:u.UnitAction.Edit,value:y.edit===`all`,policy:e?void 0:y,remove:e}))throw Error(`Permission command rejected.`);d()}catch{k(!0)}finally{D(!1)}}},U={[u.UnitObject.DocumentSection]:`ui.objectPermission.documentParent`,[u.UnitObject.DocumentParagraph]:`ui.objectPermission.paragraphParent`,[u.UnitObject.DocumentEntity]:`ui.objectPermission.documentObjectParent`,[u.UnitObject.SlidePage]:`ui.objectPermission.slideParent`,[u.UnitObject.SlideMaster]:`ui.objectPermission.slideParent`,[u.UnitObject.SlideElement]:`ui.objectPermission.slideObjectParent`,[u.UnitObject.BaseTable]:`ui.objectPermission.baseParent`,[u.UnitObject.BaseDashboard]:`ui.objectPermission.baseParent`,[u.UnitObject.BaseField]:`ui.objectPermission.baseObjectParent`,[u.UnitObject.BaseView]:`ui.objectPermission.baseObjectParent`,[u.UnitObject.BaseRecord]:`ui.objectPermission.recordParent`,[u.UnitObject.BoardElement]:`ui.objectPermission.boardParent`},ee={[u.UnitAction.Copy]:`ui.objectPermission.copy`,[u.UnitAction.Print]:`ui.objectPermission.print`,[u.UnitAction.Export]:`ui.objectPermission.export`,[u.UnitAction.Comment]:`ui.objectPermission.comment`},te=(0,c.jsxs)(`div`,{className:`univer-flex univer-justify-end univer-gap-2`,children:[w&&(0,c.jsx)(i.Button,{disabled:!x||I||E||P,onClick:()=>H(!0),children:p.t(`ui.objectPermission.remove`)}),(0,c.jsx)(i.Button,{disabled:E,onClick:d,children:p.t(`ui.objectPermission.cancel`)}),(0,c.jsx)(i.Button,{variant:`primary`,disabled:!y||!S||!x||I||E||P||y.edit===`members`&&!y.collaborators.length,onClick:()=>H(),children:p.t(E?`ui.objectPermission.saving`:`ui.objectPermission.save`)})]}),ne=(0,c.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-4`,onClick:e=>e.stopPropagation(),children:[(0,c.jsx)(`div`,{className:`univer-break-words univer-font-medium`,children:n}),!y&&!O&&(0,c.jsx)(`p`,{role:`status`,children:p.t(`ui.objectPermission.loading`)}),(O||P)&&(0,c.jsxs)(`div`,{role:`alert`,children:[p.t(P?`ui.objectPermission.conflict`:`ui.objectPermission.error`),(0,c.jsx)(i.Button,{disabled:E,onClick:()=>j(e=>e+1),children:p.t(`ui.objectPermission.reload`)})]}),y&&(0,c.jsxs)(c.Fragment,{children:[(!S||!x)&&(0,c.jsx)(`p`,{children:p.t(`ui.objectPermission.denied`)}),(0,c.jsx)(i.FormLayout,{label:p.t(`ui.objectPermission.edit`),children:(0,c.jsx)(i.RadioGroup,{value:y.edit,disabled:!S||!x||I||E||P,onChange:e=>{b({...y,edit:e}),N(!0)},className:`univer-flex univer-flex-col univer-gap-2`,children:V.map(e=>(0,c.jsx)(i.Radio,{value:e,children:p.t(`ui.objectPermission.${e}`)},e))})}),z!==R&&y.edit===`members`&&(0,c.jsx)(Jc,{unitId:R,value:y.collaborators,disabled:!S||!x||I||E||P,onChange:e=>{b({...y,collaborators:e}),N(!0)}},`${R}/${B}/${z}/${v.userID}`),o.filter(e=>e!==u.UnitAction.Edit&&ee[e]).map(e=>(0,c.jsx)(i.Checkbox,{disabled:!S||!x||I||E||P,checked:!y.strategies.some(t=>t.action===e&&t.role===u.UnitRole.Owner),onChange:t=>{b({...y,strategies:[...y.strategies.filter(t=>t.action!==e),{action:e,role:t?u.UnitRole.Editor:u.UnitRole.Owner}]}),N(!0)},children:p.t(ee[e])},e)),(0,c.jsx)(`p`,{className:`univer-text-sm univer-text-gray-500`,children:p.t(z===R?`ui.objectPermission.fileHint`:U[B]??`ui.objectPermission.parentHint`)})]})]});return f?(0,c.jsxs)(c.Fragment,{children:[ne,(0,c.jsx)(`div`,{className:`univer-mt-4`,children:te})]}):(0,c.jsx)(i.Dialog,{open:!0,width:400,title:p.t(`ui.objectPermission.title`),closable:!E,onClose:()=>{E||d()},footer:te,children:ne})}let el=`ui.object-permission-panel`;function tl(e,n){return e.get(t.ObjectPermissionService).canView(n.target)?(e.get(P).open({id:el,width:330,header:{title:e.get(t.LocaleService).t(`ui.objectPermission.title`)},children:{label:{name:el,props:{unitId:n.unitId,getTargets:n.getTargets,expandable:n.expandable}}}}),!0):!1}function nl(e){let n=(0,s.useDependency)(t.ObjectPermissionService),r=(0,s.useDependency)(t.Injector),a=(0,s.useDependency)(t.LocaleService);return(0,s.useObservable)(n.changed$,0),n.supports(e.target)?(0,c.jsx)(i.Button,{variant:`ghost`,size:`icon`,className:`univer-size-7 univer-shrink-0`,disabled:!n.canView(e.target),title:a.t(`ui.objectPermission.title`),"aria-label":a.t(`ui.objectPermission.title`),onClick:()=>tl(r,e),children:(0,c.jsx)(ir,{})}):null}function rl({unitId:e,getTargets:n,expandable:a}){let o=(0,s.useDependency)(t.LocaleService),l=(0,s.useDependency)(t.ObjectPermissionService),[d,f]=(0,r.useState)(``),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(50);(0,s.useObservable)(l.changed$,0);let _=(0,s.useDependency)(t.IUniverInstanceService),v=(0,s.useDependency)(P);(0,r.useEffect)(()=>{let t=_.unitDisposed$.subscribe(t=>{t.getUnitId()===e&&v.close(el)});return()=>t.unsubscribe()},[_,v,e]);let y={[u.UnitObject.Document]:`ui.objectPermission.document`,[u.UnitObject.DocumentSection]:`ui.objectPermission.section`,[u.UnitObject.DocumentParagraph]:`ui.objectPermission.paragraph`,[u.UnitObject.DocumentEntity]:`ui.objectPermission.entity`,[u.UnitObject.Slide]:`ui.objectPermission.presentation`,[u.UnitObject.SlidePage]:`ui.objectPermission.page`,[u.UnitObject.SlideMaster]:`ui.objectPermission.master`,[u.UnitObject.SlideElement]:`ui.objectPermission.entity`,[u.UnitObject.Base]:`ui.objectPermission.base`,[u.UnitObject.BaseTable]:`ui.objectPermission.table`,[u.UnitObject.BaseField]:`ui.objectPermission.field`,[u.UnitObject.BaseRecord]:`ui.objectPermission.record`,[u.UnitObject.BaseView]:`ui.objectPermission.view`,[u.UnitObject.Board]:`ui.objectPermission.board`,[u.UnitObject.BoardElement]:`ui.objectPermission.entity`},b=[],x=!1,S=0,C=n()[Symbol.iterator]();for(;!a||p||S!==1;){let e=C.next();if(e.done)break;let t=e.value;S++;let n=o.t(`ui.objectPermission.objectName`,o.t(y[t.target.objectType]??`ui.objectPermission.entity`),t.name||String(S));if(l.supports(t.target)&&(a&&!p||n.toLocaleLowerCase().includes(d.toLocaleLowerCase()))){if(b.length===h){x=!0;break}b.push({...t,name:n})}}return(0,c.jsxs)(`div`,{className:`univer-flex univer-h-full univer-flex-col univer-gap-3 univer-p-4`,children:[a&&(0,c.jsx)(i.Button,{"aria-expanded":p,onClick:()=>m(e=>!e),children:o.t(y[a]??`ui.objectPermission.entity`)}),(!a||p)&&(0,c.jsx)(i.Input,{value:d,onChange:e=>{f(e),g(50)},placeholder:o.t(`ui.objectPermission.search`),"aria-label":o.t(`ui.objectPermission.search`)}),(0,c.jsxs)(`div`,{className:`univer-flex-1 univer-overflow-auto`,children:[b.map(t=>(0,c.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2 univer-py-2`,children:[(0,c.jsx)(`span`,{className:`univer-min-w-0 univer-flex-1 univer-truncate`,title:t.name,children:t.name}),(0,c.jsx)(Zc,{...t})]},`${e}/${t.target.objectType}/${t.target.objectId}`)),!b.length&&(0,c.jsx)(`p`,{children:o.t(`ui.objectPermission.empty`)}),x&&(0,c.jsx)(i.Button,{onClick:()=>g(e=>e+50),children:o.t(`ui.objectPermission.loadMore`)})]})]})}let il=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerIcons(),this._registerComponents()}_registerIcons(){this.disposeWithMe(this._iconManager.register({BrushIcon:fn,ClearFormatDoubleIcon:wr,ExpandIcon:bn,IncreaseIcon:Mn,KeyboardIcon:Rn,MoreDownIcon:Bn,ProtectIcon:ir,RedoIcon:ur,ReduceIcon:fr,FeatureSearchIcon:wn,ShortcutIcon:gr,ShrinkIcon:vr,UndoIcon:Sr}))}_registerComponents(){[[La,Ia],[Yc,$c],[el,rl],[Fo,Po],[Eo,Do],[Oo,ko],[No,Ao],[Fa,i.ColorPicker],[so,lo],[Lo,Ro],[ct,pt]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))}),this.disposeWithMe(this._componentManager.register(F,Wc))}};il=w([C(0,(0,t.Inject)(L)),C(1,(0,t.Inject)(z))],il);let al={id:mt.id,binding:5200,description:`ui.featureSearch.title`,group:`10_global-shortcut`,groupTitle:`ui.global-shortcut`},ol=class extends t.Disposable{constructor(e,t){super(),this.disposeWithMe(e.registerCommand(mt)),this.disposeWithMe(t.registerShortcut(al))}};ol=w([C(0,t.ICommandService),C(1,Ee)],ol);let sl=e=>{let{children:t,onClose:n,onConfirm:a}=e,[o]=(0,r.useState)({}),s=t?(0,r.cloneElement)(t,{hooks:o}):null;return(0,c.jsx)(i.Confirm,{...e,children:s,onClose:()=>{let e=o.beforeClose;if(e){let t=e();if(t.cancel)return;n==null||n(t);return}n==null||n()},onConfirm:()=>{let e=o.beforeConfirm;if(e){let t=e();if(t.cancel)return;a==null||a(t);return}a==null||a()}})};function cl(){let e=(0,s.useDependency)(t.IConfirmService),n=(0,s.useObservable)(e.confirmOptions$,[]).map(e=>{let{children:t,title:n,...r}=e,i=r;for(let t of[`children`,`title`]){let n=t,r=e[n];r&&(i[n]=(0,c.jsx)($,{...r}))}return i});return n==null?void 0:n.map((e,t)=>(0,c.jsx)(sl,{...e,children:e.children},t))}let ll=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._uiPartsService=t,S(this,`_confirmOptions`,[]),S(this,`confirmOptions$`,new n.BehaviorSubject([])),this._initUIPart()}open(e){return this._confirmOptions.find(t=>t.id===e.id)?this._confirmOptions=this._confirmOptions.map(t=>({...t.id===e.id?e:t,visible:t.id===e.id||t.visible})):this._confirmOptions.push({...e,visible:!0}),this.confirmOptions$.next(this._confirmOptions),(0,t.toDisposable)(()=>{this._confirmOptions=[],this.confirmOptions$.next([])})}confirm(e){return new Promise(t=>{let n=this.open({...e,onConfirm:()=>{n.dispose(),t(!0)},onClose:()=>{n.dispose(),t(!1)}})})}close(e){this._confirmOptions=this._confirmOptions.map(t=>({...t,visible:t.id!==e&&t.visible})),this.confirmOptions$.next([...this._confirmOptions])}_initUIPart(){this.disposeWithMe(this._uiPartsService.registerComponent(`global`,()=>(0,s.connectInjector)(cl,this._injector)))}};ll=w([C(0,(0,t.Inject)(t.Injector)),C(1,Y)],ll);let ul=`DISABLE_AUTO_FOCUS`,dl=class extends t.Plugin{constructor(e=se,n,r,i){super(),this._config=e,this._contextService=n,this._injector=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({popupRootId:`univer-popup-portal-${(0,t.generateRandomId)(6)}`},se,this._config);o.disableAutoFocus&&this._contextService.setContextValue(ul,!0),a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(oe,o)}onStarting(){(0,t.registerDependencies)(this._injector,(0,t.mergeOverrideWithDependencies)([[L],[z],[il],[oi],[Hc],[B],[M],[Y,{useClass:Mt}],[W,{useClass:re}],[D,{useClass:O}],[rt,{useClass:at}],[Tr,{useClass:Er}],[Ee,{useClass:De}],[be,{useClass:xe}],[Rc,{useClass:Bc}],[J,{useClass:Ye}],[li,{useClass:ui}],[si,{useClass:ci}],[Se,{useClass:Ce}],[$s,{useClass:ec,lazy:!0}],[Is,{useClass:Lc,lazy:!0}],[bc,{useClass:Sc,lazy:!0}],[nt,{useClass:vc,lazy:!0}],[t.IConfirmService,{useClass:ll,lazy:!0}],[P,{useClass:Vc,lazy:!0}],[K,{useClass:Pc}],[t.ILocalStorageService,{useClass:jc,lazy:!0}],[Ls,{useClass:Rs}],[wc,{useClass:Cc}],[Gt,{useClass:Kt}],[So,{useClass:wo}],[Ft],[It],[Ma,{useFactory:e=>e.createInstance(ka,this._config),deps:[t.Injector]}],[gt],[xt],[Ie],[q],[ol],[tt]],this._config.override)),(0,t.touchDependencies)(this._injector,[[il],[Ma],[q]])}onReady(){(0,t.touchDependencies)(this._injector,[[Ie],[xt],[ol]])}onSteady(){(0,t.touchDependencies)(this._injector,[[tt]])}};S(dl,`pluginName`,`UNIVER_UI_PLUGIN`),S(dl,`packageName`,Na),S(dl,`version`,Pa),dl=w([(0,t.DependentOn)(a.UniverRenderEnginePlugin),C(1,t.IContextService),C(2,(0,t.Inject)(t.Injector)),C(3,t.IConfigService)],dl);var fl=class{show(e){return(0,t.toDisposable)(()=>{})}remove(e){}removeAll(){}setContainer(){}getContainer(){}};let pl=e=>{let t=(0,s.useDependency)(P).getContainer();(0,r.useEffect)(()=>{if(t)return t.addEventListener(`mousedown`,e),()=>{t.removeEventListener(`mousedown`,e)}},[e,t])};function ml(e){return e.length===0?e:e.replace(/^\s+|\s+$/gm,``)}let hl={strippedSelector:`script, iframe, object, embed`};function gl(e){let n=e.childNodes;if(n.length===0)return e.textContent;if(n[0].nodeName===`DIV`&&(n=n[0].childNodes),n.length===1&&n[0].nodeName===`#text`)return n[0].textContent;let r=[],i=0,a=0,o=e.textContent||``;o+=`\r
66
+ `;for(let e=0;e<n.length;e++){let o=n[`${e}`],s;o.nodeName===`#text`?(s=o.textContent??``,o=o.parentElement):s=o.innerText;let c=_l(o);yl(s).forEach(e=>{let n=e.length;a+=n,i=a-n;let o=(0,t.generateRandomId)(6);r.push({sId:o,st:i,ed:a-1,ts:c})})}return{id:(0,t.generateRandomId)(6),body:{dataStream:o,textRuns:r},documentStyle:{}}}function _l(e,n=``){var r;let i=(e==null||(r=e.style)==null?void 0:r.cssText)??``;if(i+=n,i=i.replace(/[\r\n]+/g,``),i.length===0)return{};let a=i.split(`;`),o={},s={t:``,r:``,b:``,l:``};return a.forEach(n=>{let r=n.toLowerCase(),a=ml(r.substr(0,r.indexOf(`:`))),c=ml(r.substr(r.indexOf(`:`)+1));if(a===`font-weight`)c===`bold`||c===`700`?o.bl=1:o.bl=0;else if(a===`font-style`)c===`italic`?o.it=1:o.it=0;else if(a===`font-family`){let e=kl(ml(n));o.ff=e}else if(a===`font-size`){let e=Number.parseInt(c);i.indexOf(`vertical-align`)>-1&&(i.indexOf(`sub`)>-1||i.indexOf(`sup`)>-1)&&(e*=2),c.indexOf(`px`)!==-1&&(e=Ol(Number.parseInt(c,10))),o.fs=e}else if(a===`color`){let e=new t.ColorKit(c);o.cl={rgb:e.isValid?e.toRgbString():`rgb(0,0,0)`}}else if(a===`background`||a===`background-color`){let e=new t.ColorKit(c);e.isValid&&(o.bg={rgb:e.toRgbString()})}else if(a===`text-decoration-line`)c===`underline`?(o.ul||={s:1},o.ul.s=1):c===`line-through`?(o.st||={s:1},o.st.s=1):c===`overline`&&(o.ol||={s:1},o.ol.s=1);else if(a===`text-decoration-color`)o.hasOwnProperty(`ul`)&&(o.ul||={s:1,cl:{rgb:c}},o.ul.cl={rgb:c}),o.hasOwnProperty(`st`)&&(o.st||={s:1,cl:{rgb:c}},o.st.cl={rgb:c}),o.hasOwnProperty(`ol`)&&(o.ol||={s:1,cl:{rgb:c}},o.ol.cl={rgb:c});else if(a===`text-decoration-style`)o.hasOwnProperty(`ul`)&&(o.ul||={s:1,t:Number(c)},o.ul.t=Number(c)),o.hasOwnProperty(`st`)&&(o.st||={s:1,t:Number(c)},o.st.t=Number(c)),o.hasOwnProperty(`ol`)&&(o.ol||={s:1,t:Number(c)},o.ol.t=Number(c));else if(a===`text-decoration`||a===`univer-strike`){var l;let e=(l=c.split(` `))==null?void 0:l[0];e===`underline`?(o.ul||={s:1},o.ul.s=1):e===`line-through`?(o.st||={s:1},o.st.s=1):e===`overline`&&(o.ol||={s:1},o.ol.s=1)}if(a===`univer-underline`&&(o.ul={s:1}),a===`vertical-align`&&(c===`sub`?o.va=t.BaselineOffset.SUBSCRIPT:c===`super`?o.va=t.BaselineOffset.SUPERSCRIPT:c===`top`?o.vt=1:c===`middle`?o.vt=2:c===`bottom`?o.vt=3:o.va=t.BaselineOffset.NORMAL),a===`transform`){let t=c.split(`)`),n=t.findIndex(e=>e.includes(`rotate`));if(n>-1){let r=t[n].match(/\d+/g),i=0,a=0;r!=null&&r.length&&(i=+r[0]),e!=null&&e.dataset.vertical&&(a=+e.dataset.vertical),o.tr={a:i,v:a}}}if(a===`text-align`&&(c===`left`?o.ht=1:c===`center`?o.ht=2:c===`right`?o.ht=3:c===`justify`?o.ht=4:o.ht=0),o.tb!==1&&(a===`overflow-wrap`||a===`word-wrap`?c===`break-word`&&(o.tb=3):a===`text-overflow`?c===`clip`&&(o.tb=2):a===`text-break`&&c===`overflow`&&(o.tb=1)),a===`white-space`&&(c===`nowrap`?o.tb=1:c===`normal`?o.tb=3:c===`clip`&&(o.tb=2)),a===`border-color`){let e=vl(c,`)`);if(o.bd)for(let t in e)o.bd[t].cl.rgb=e[t];else{o.bd={b:{cl:{rgb:`#000`},s:0},t:{cl:{rgb:`#000`},s:0},l:{cl:{rgb:`#000`},s:0},r:{cl:{rgb:`#000`},s:0}};for(let t in e)o.bd[t].cl.rgb=e[t]}}if(a===`border-width`||a===`border-style`){let e=vl(c,` `);for(let t in e)s[t]+=` ${e[t]}`;o.bd?(o.bd.b.s=(0,t.getBorderStyleType)(s.b),o.bd.t.s=(0,t.getBorderStyleType)(s.t),o.bd.l.s=(0,t.getBorderStyleType)(s.l),o.bd.r.s=(0,t.getBorderStyleType)(s.r)):o.bd={b:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.b)},t:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.t)},l:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.l)},r:{cl:{rgb:`#000`},s:(0,t.getBorderStyleType)(s.r)}}}if(a===`border-bottom`||a===`border-top`||a===`border-left`||a===`border-right`||a===`border`){o.bd||={};let e=c.split(` `),n=`${e[0]} ${e[1]}`;e.splice(0,2);let r=e.join(``);if((0,t.getBorderStyleType)(n)!==t.BorderStyleTypes.NONE&&r){let e={cl:{rgb:r},s:(0,t.getBorderStyleType)(n)};a===`border-bottom`?o.bd.b=c===`none`?null:e:a===`border-top`?o.bd.t=c===`none`?null:e:a===`border-left`?o.bd.l=c===`none`?null:e:a===`border-right`?o.bd.r=c===`none`?null:e:a===`border`&&(o.bd={r:c===`none`?null:e,t:c===`none`?null:e,b:c===`none`?null:e,l:c===`none`?null:e})}}else if(a===`--data-rotate`){let e=c.match(/[+-]?\d+/);c===`(0deg ,1)`?o.tr={a:0,v:1}:e&&(o.tr={a:Number(e[0])})}}),Object.keys(o).forEach(e=>{typeof o[e]==`object`&&!Object.keys(o[e]).length&&delete o[e]}),o}function vl(e,t){let n;n=t===` `?e.trim().split(t):e.trim().split(t).slice(0,-1),n.forEach(e=>`${e.trim()})`);let r={};return n.length===1?r={t:n[0],r:n[0],b:n[0],l:n[0]}:n.length===2?r={t:n[0],r:n[1],b:n[0],l:n[1]}:n.length===3?r={t:n[0],r:n[1],b:n[2],l:n[1]}:n.length===4&&(r={t:n[0],r:n[1],b:n[2],l:n[3]}),r}function yl(e){return e===``?[e]:e.match(/(?:(\n+.+)|(.+))/g).map(e=>e.replace(/\n/g,`\r
67
+ `))}function bl(e){let t=Bs(e,hl),n=[],r=t.querySelectorAll(`table col`);if(!r.length)return[];for(let e=0;e<r.length;e++){let t=r[e],i=t.getAttribute(`span`);if(i&&+i>1)for(let e=0;e<+i;e++){let e=xl(t.getAttribute(`width`),72);n.push(e)}else{let e=xl(t.getAttribute(`width`),72);n.push(e)}}return n}function xl(e,t){if(!e)return t;let n;return n=e.includes(`pt`)?(0,a.ptToPx)(Number.parseFloat(e)):e.includes(`px`)?Number.parseFloat(e):Number.parseFloat(e)*72/96,n}function Sl(e){let t=Bs(e,hl),n=[],r=t.querySelectorAll(`table tr`);if(!r.length)return[];for(let e=0;e<r.length;e++){let t=r[e].querySelectorAll(`td`),i=xl(t[0].style.height,19);for(let e=0;e<t.length;e++){let n=t[e].getAttribute(`rowSpan`);if(!(n&&+n>1)){i=xl(t[e].style.height,19);break}}n.push(i)}return n}function Cl(e){let n=[],r=Bs(e,hl);if(n=Array(r.querySelectorAll(`table tr`).length),!n.length)return[];let i=0,a=r.querySelectorAll(`table tr`);a[0].querySelectorAll(`td`).forEach(e=>{let t=0,n=e.getAttribute(`colSpan`);t=n===null?1:+n,i+=t});for(let e=0;e<n.length;e++)n[e]=Array(i);let o=0;return a.forEach(e=>{let r=0;e.querySelectorAll(`td`).forEach(e=>{let a={};if(e.querySelectorAll(`span`).length||e.querySelectorAll(`font`).length){let t=gl(e);typeof t!=`string`&&(a.p=t)}let s=e.innerText;a.v=s.trim().length===0?``:s;let c=_l(e);for(t.Tools.isPlainObject(c)&&(a.s=c);r<i&&n[o][r]!=null;)r++;if(r!==i){if(n[o][r]==null){n[o][r]=a;let t=Number(e.getAttribute(`rowSpan`))??1,i=Number(e.getAttribute(`colSpan`))??1;if(t>1||i>1){let e={rs:t-1,cs:i-1,r:o,c:r};n[o][r].mc=e;for(let e=0;e<t;e++)for(let t=0;t<i;t++)(e!==0||t!==0)&&(n[o+e][r+t]={mc:null})}}r++}}),o++}),n}function wl(e){let t=[],n=e.replace(/\r/g,``).split(`
68
+ `),r=n[0].split(` `).length;for(let e=0;e<n.length;e++)n[e].split(` `).length<r||t.push(n[e].split(` `));for(let e=0;e<t.length;e++)for(let n=0;n<t[e].length;n++)t[e][n].length?t[e][n]={v:t[e][n]||``,m:t[e][n]||``}:t[e][n]=null;return t}function Tl(e,t){let n=e.length,r=e[0].length,i=0;i+n-1;let a=0;a+r-1,t&&(i=t.startRow,i+n-1,a=t.startColumn,a+r-1);let o=[];for(let t=0;t<e.length;t++)for(let n=0;n<e[t].length;n++)if(e[t][n]&&typeof e[t][n]==`object`&&`mc`in e[t][n]){if(e[t][n].mc){let r=e[t][n].mc,s=r.r+i,c=s+r.rs,l=r.c+a,u=l+r.cs;o.push({startRow:s,endRow:c,startColumn:l,endColumn:u}),delete e[t][n].mc}else e[t][n]=null}return{data:e,mergeData:o}}function El(e){var n;let r=[],i=Vs(e,hl),a=(n=i.querySelector(`style`))==null?void 0:n.innerText;if(!a)return;let o=Dl(a);if(r=Array(i.querySelectorAll(`table tr`).length),!r.length)return[];let s=0,c=i.querySelectorAll(`table tr`);c[0].querySelectorAll(`td`).forEach(e=>{let t=0,n=e.getAttribute(`colSpan`);t=n===null?1:+n,s+=t});for(let e=0;e<r.length;e++)r[e]=Array(s);let l=0;return c.forEach(e=>{let n=0;e.querySelectorAll(`td`).forEach(e=>{let i={};if(e.querySelectorAll(`span`).length||e.querySelectorAll(`font`).length){let t=gl(e);typeof t!=`string`&&(i.p=t)}let a=e.innerText;i.v=a.trim().length===0?``:a;let c=``;for(let t in o)e.classList.contains(t)&&(c+=o[t]);let u=_l(e,c);for(t.Tools.isPlainObject(u)&&(i.s=u);n<s&&r[l][n]!=null;)n++;if(n!==s){if(r[l][n]==null){r[l][n]=i;let t=Number(e.getAttribute(`rowSpan`))??1,a=Number(e.getAttribute(`colSpan`))??1;if(t>1||a>1){let e={rs:t-1,cs:a-1,r:l,c:n};r[l][n].mc=e;for(let e=0;e<t;e++)for(let t=0;t<a;t++)(e!==0||t!==0)&&(r[l+e][n+t]={mc:null})}}n++}}),l++}),r}function Dl(e){let t={},n=e.replaceAll(`<!--`,``).replaceAll(`-->`,``).trim(),r=n==null?void 0:n.replaceAll(` `,``).replaceAll(`
69
+ `,``).split(`}`);for(let e=0;e<r.length;e++){if(!r[e])continue;let n=r[e].split(`{`)[0].trim();n.includes(`.`)&&(n=n.slice(1));let i=r[e].split(`{`)[1].trim();t[n]=i}return t}function Ol(e){let t=Math.round(e*.75);return t<9?9:t>78?78:t}function kl(e){let t=e.match(/font-family:\s*(?:"([^"]+)"|'([^']+)'|([^;]+))/i);return t?(t[1]||t[2]||t[3]).trim():null}var Al=class extends t.Disposable{constructor(e,n){super(),this._canvas=e,this._options=n,S(this,`_points`,new Map),S(this,`_objectPointerId`,null),S(this,`_cancellingObject`,!1),S(this,`_startPoint`,null),S(this,`_moved`,!1),S(this,`_pinching`,!1),S(this,`_suppressClick`,!1),S(this,`_lastMoveTime`,0),S(this,`_velocity`,{x:0,y:0}),S(this,`_frame`,null);let r=e.style.touchAction;e.style.touchAction=`none`;let i=e=>this._onDown(e),a=e=>this._onMove(e),o=e=>this._onEnd(e),s=()=>this._reset(),c=t=>{t.target===e&&this._suppressClick&&(t.preventDefault(),t.stopImmediatePropagation())};window.addEventListener(`pointerdown`,i,!0),window.addEventListener(`pointermove`,a,!0),window.addEventListener(`pointerup`,o,!0),window.addEventListener(`pointercancel`,o,!0),window.addEventListener(`click`,c,!0),window.addEventListener(`blur`,s),this.disposeWithMe((0,t.toDisposable)(()=>{this._reset(),e.style.touchAction=r,window.removeEventListener(`pointerdown`,i,!0),window.removeEventListener(`pointermove`,a,!0),window.removeEventListener(`pointerup`,o,!0),window.removeEventListener(`pointercancel`,o,!0),window.removeEventListener(`click`,c,!0),window.removeEventListener(`blur`,s)}))}_point(e){let t=this._canvas.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}_consume(e){e.preventDefault(),e.stopImmediatePropagation()}_onDown(e){if(this._stopInertia(),e.target!==this._canvas||e.pointerType!==`touch`){this._suppressClick=!1;return}let t=this._point(e);if(this._points.size===0){this._suppressClick=!1;let n=this._options.start(t);if(n===`ignore`)return;if(this._startPoint=t,this._moved=!1,this._lastMoveTime=e.timeStamp,this._points.set(e.pointerId,t),n===`object`){this._objectPointerId=e.pointerId;return}}else this._points.set(e.pointerId,t),this._pinching||(this._options.finishObjectTransform(),this._cancelObjectPointer(),this._pinching=!0,this._moved=!0);this._suppressClick=!0,this._consume(e)}_onMove(e){let t=this._points.get(e.pointerId);if(!t)return;let n=this._point(e),r=Array.from(this._points.values());if(this._points.set(e.pointerId,n),this._pinching){let t=Array.from(this._points.values());if(t.length>=2){let[e,n]=r,[i,a]=t,o=Math.hypot(e.x-n.x,e.y-n.y);o>0&&this._options.pinch(Math.hypot(i.x-a.x,i.y-a.y)/o,{x:(e.x+n.x)/2,y:(e.y+n.y)/2},{x:(i.x+a.x)/2,y:(i.y+a.y)/2})}this._consume(e);return}if(this._objectPointerId!==null)return;!this._moved&&this._startPoint&&Math.hypot(n.x-this._startPoint.x,n.y-this._startPoint.y)>=8?(this._moved=!0,this._options.pan({x:n.x-this._startPoint.x,y:n.y-this._startPoint.y})):this._moved&&this._options.pan({x:n.x-t.x,y:n.y-t.y});let i=Math.max(1,e.timeStamp-this._lastMoveTime);this._velocity={x:(n.x-t.x)/i,y:(n.y-t.y)/i},this._lastMoveTime=e.timeStamp,this._consume(e)}_onEnd(e){if(this._cancellingObject||!this._points.has(e.pointerId))return;this._points.delete(e.pointerId);let t=this._objectPointerId===e.pointerId;t?this._objectPointerId=null:this._consume(e),this._points.size===0&&(this._pinching?this._options.endPinch():!t&&e.type!==`pointercancel`&&(this._moved?e.timeStamp-this._lastMoveTime<80&&this._startInertia():this._options.tap(this._point(e))),this._pinching=!1,this._startPoint=null)}_startInertia(){let e={x:Math.max(-3,Math.min(3,this._velocity.x)),y:Math.max(-3,Math.min(3,this._velocity.y))},t=performance.now(),n=r=>{let i=Math.min(32,r-t);t=r;let a=Math.exp(-.005*i);this._options.pan({x:e.x*(1-a)/.005,y:e.y*(1-a)/.005}),e={x:e.x*a,y:e.y*a},this._frame=Math.hypot(e.x,e.y)>.02?requestAnimationFrame(n):null};Math.hypot(e.x,e.y)>.04&&(this._frame=requestAnimationFrame(n))}_stopInertia(){this._frame!==null&&(cancelAnimationFrame(this._frame),this._frame=null),this._velocity={x:0,y:0}}_reset(){this._stopInertia(),this._objectPointerId!==null&&(this._options.finishObjectTransform(),this._cancelObjectPointer()),this._pinching&&this._options.endPinch(),this._points.clear(),this._objectPointerId=null,this._pinching=!1,this._startPoint=null}_cancelObjectPointer(){let e=this._objectPointerId,t=e===null?null:this._points.get(e);if(e===null||!t)return;let n=this._canvas.getBoundingClientRect();this._objectPointerId=null,this._cancellingObject=!0;try{this._canvas.dispatchEvent(new PointerEvent(`pointercancel`,{bubbles:!0,pointerId:e,pointerType:`touch`,clientX:n.left+t.x,clientY:n.top+t.y}))}finally{this._cancellingObject=!1}}};let jl=(0,r.memo)(e=>{let{layer:t}=e;return typeof t.componentKey==`string`?(0,c.jsx)(Ml,{...e,componentKey:t.componentKey}):(0,c.jsx)(Nl,{...e,Component:t.componentKey})});function Ml(e){let t=(0,s.useDependency)(L);return(0,c.jsx)(Nl,{...e,Component:t.get(e.componentKey)})}function Nl(e){let{layer:n,id:i,position:a,Component:o}=e,l=(0,s.useDependency)(t.IUniverInstanceService),u=(0,r.useRef)(null),d=(0,r.useRef)(null),f=(0,r.useRef)(`transform: rotate(${a==null?void 0:a.rotate}deg) translate(${a==null?void 0:a.startX}px, ${a==null?void 0:a.startY}px)`),p=(0,r.useRef)((a==null?void 0:a.startY)??0),m=(0,r.useRef)((a==null?void 0:a.startX)??0),h=(0,r.useMemo)(()=>({data:n.data,...n.props}),[n.data,n.props]),g={width:`${a.width-4}px`,height:`${a.height-4}px`,left:`${a.absolute.left?0:`auto`}`,top:`${a.absolute.top?0:`auto`}`,right:`${a.absolute.left?`auto`:0}`,bottom:`${a.absolute.top?`auto`:0}`};f.current=`rotate(${a.rotate}deg)`,p.current=a.startY,m.current=a.startX;let _=l.getUnit(n.unitId),v=(0,r.useMemo)(()=>o?(0,c.jsx)(o,{...h,unitId:n.unitId,unit:_,floatDomId:n.id,context:{root:d}}):null,[o,h]);return a?(0,c.jsx)(`div`,{ref:u,className:`univer-absolute univer-z-10 univer-origin-center univer-overflow-hidden`,style:{top:p.current,left:m.current,width:Math.max(a.endX-a.startX-2,0),height:Math.max(a.endY-a.startY-2,0),transform:f.current},onPointerMove:e=>{Nt(n)&&n.onPointerMove(e.nativeEvent)},onPointerDown:e=>{Nt(n)&&n.onPointerDown(e.nativeEvent)},onPointerUp:e=>{Nt(n)&&n.onPointerUp(e.nativeEvent)},onWheel:e=>{Nt(n)&&n.onWheel(e.nativeEvent)},children:(0,c.jsx)(`div`,{ref:d,id:i,className:`univer-absolute univer-overflow-hidden`,style:{...g},children:v})}):null}let Pl=`linear-gradient(currentColor 0 0) content-box, linear-gradient(currentColor 0 0)`,Fl={WebkitMask:Pl,WebkitMaskComposite:`xor`,mask:Pl,maskComposite:`exclude`};function Il(e){return(0,c.jsx)(`span`,{"aria-hidden":`true`,className:(0,i.clsx)(`univer-pointer-events-none univer-absolute univer-inset-0 univer-box-border univer-overflow-hidden univer-rounded-[inherit] univer-p-px univer-opacity-0 univer-transition-opacity univer-duration-150 group-hover/hover-track:univer-opacity-100`,e.className),"data-u-comp":`hover-track`,style:Fl,children:(0,c.jsx)(`span`,{className:`univer-absolute -univer-inset-full univer-bg-[conic-gradient(from_0deg,transparent_0deg,transparent_282deg,var(--univer-primary-700)_318deg,var(--univer-primary-500)_342deg,transparent_360deg)] motion-safe:group-hover/hover-track:univer-animate-[spin_5s_linear_infinite] motion-reduce:univer-bg-primary-700 dark:univer-bg-[conic-gradient(from_0deg,transparent_0deg,transparent_282deg,var(--univer-primary-300)_318deg,var(--univer-primary-500)_342deg,transparent_360deg)] dark:motion-reduce:univer-bg-primary-300`})})}var Ll=class extends t.Disposable{constructor(e){super(),this._canvasElement=e,S(this,`_element`,void 0),S(this,`_hideTimer`,null);let t=document.createElement(`div`);t.className=[`univer-absolute`,`univer-left-1/2`,`univer-top-1/2`,`-univer-translate-x-1/2`,`-univer-translate-y-1/2`,`univer-select-none`,`univer-rounded-lg`,`univer-bg-gray-900`,`univer-px-6`,`univer-py-3`,`univer-text-2xl`,`univer-font-bold`,`univer-text-gray-0`,`univer-shadow-lg`].join(` `),t.style.opacity=`0`,t.style.pointerEvents=`none`,t.style.transition=`opacity 150ms ease-in-out`,t.style.zIndex=`10000`,this._element=t,this._mount()}show(e){this._mount(),this._hideTimer!=null&&(window.clearTimeout(this._hideTimer),this._hideTimer=null),this._element.textContent=`${e}%`,this._element.style.opacity=`1`}hide(){this._hideTimer!=null&&window.clearTimeout(this._hideTimer),this._hideTimer=window.setTimeout(()=>{this._hideTimer=null,this._element.style.opacity=`0`},300)}dispose(){this._hideTimer!=null&&(window.clearTimeout(this._hideTimer),this._hideTimer=null),this._element.remove(),super.dispose()}_mount(){let e=this._canvasElement.parentElement;e!=null&&this._element.parentElement!==e&&(window.getComputedStyle(e).position===`static`&&(e.style.position=`relative`),e.appendChild(this._element))}};function Rl(e){let n=(0,s.useDependency)(t.LocaleService),r=(0,s.useObservable)(e.disabled$),{fonts:a}=To();return(0,c.jsx)(i.MobileSelect,{"aria-label":e.ariaLabel,className:(0,i.clsx)(`univer-h-12 univer-w-full univer-min-w-0 univer-text-base`,e.className),value:e.value,disabled:!!(e.disabled||r),options:a.map(e=>({value:e.value,label:n.t(e.label)})),onChange:e.onChange})}function zl(e){let{barColor:t,progress:n,onTerminate:a,onClearProgress:o}=e,{count:s,done:l,label:u=``}=n,d=(0,r.useRef)(null),[f,p]=(0,r.useState)(),m=s>0&&f!==n;return(0,r.useEffect)(()=>{let e=d.current,t;if(s===0&&l===0){e.style.width=`0%`;return}if(s>0){let n=Math.floor(l/s*100);l===s?t=requestAnimationFrame(()=>{e.style.width=`${n-1}%`,t=requestAnimationFrame(()=>{e.style.width=`${n}%`})}):e.style.width=`${n}%`}let r=()=>{l===s&&(p(n),o&&o())};return e.addEventListener(`transitionend`,r),()=>{t!==void 0&&cancelAnimationFrame(t),e.removeEventListener(`transitionend`,r)}},[s,l,n,o]),(0,c.jsxs)(`div`,{className:(0,i.clsx)(`univer-mx-2 univer-flex univer-items-center univer-gap-2`,{"univer-flex":m,"univer-hidden univer-w-0":!m}),children:[(0,c.jsx)(i.Tooltip,{showIfEllipsis:!0,title:u,children:(0,c.jsx)(`span`,{className:`univer-w-24 univer-truncate univer-text-right univer-text-xs`,children:u})}),(0,c.jsx)(`div`,{className:`univer-h-1 univer-w-40 univer-overflow-hidden univer-rounded-lg univer-bg-gray-200`,children:(0,c.jsx)(`div`,{ref:d,className:`univer-h-full univer-bg-primary-600 univer-transition-[width]`,style:{backgroundColor:t}})}),(0,c.jsx)(`button`,{className:`univer-flex univer-size-4 univer-cursor-pointer univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 hover:univer-opacity-50`,type:`button`,onClick:a,children:(0,c.jsx)(gn,{className:`univer-size-3.5 dark:!univer-text-gray-0`})})]})}e.AnchoredContextMenu=pa,Object.defineProperty(e,"BrowserClipboardService",{enumerable:!0,get:function(){return ec}}),e.BuiltInUIPart=jt,e.COLOR_PICKER_COMPONENT=Fa,e.COMMON_LABEL_COMPONENT=La,e.CanvasFloatDomPreviewService=It,e.CanvasFloatDomService=Ft,e.CanvasPopup=en,e.CanvasPopupService=Kt,e.CommonLabel=Ia,e.ComponentContainer=Z,Object.defineProperty(e,"ComponentManager",{enumerable:!0,get:function(){return L}}),e.ContextMenu=ma,e.ContextMenuGroup=qe,e.ContextMenuHostService=ui,e.ContextMenuPanel=la,e.ContextMenuPosition=Ke,e.ContextMenuService=ci,e.CopyCommand=de,e.CopyShortcutItem=Ae,e.CustomLabel=$,e.CutCommand=pe,e.CutShortcutItem=je,e.DISABLE_AUTO_FOCUS_KEY=ul,Object.defineProperty(e,"DesktopBeforeCloseService",{enumerable:!0,get:function(){return Rs}}),Object.defineProperty(e,"DesktopConfirmService",{enumerable:!0,get:function(){return ll}}),Object.defineProperty(e,"DesktopDialogService",{enumerable:!0,get:function(){return vc}}),Object.defineProperty(e,"DesktopGalleryService",{enumerable:!0,get:function(){return Sc}}),Object.defineProperty(e,"DesktopLayoutService",{enumerable:!0,get:function(){return O}}),e.DesktopLocalFileService=Cc,e.DesktopLocalStorageService=jc,Object.defineProperty(e,"DesktopMessageService",{enumerable:!0,get:function(){return Pc}}),Object.defineProperty(e,"DesktopNotificationService",{enumerable:!0,get:function(){return Lc}}),Object.defineProperty(e,"DesktopRibbonService",{enumerable:!0,get:function(){return at}}),e.DesktopSidebarService=Vc,Object.defineProperty(e,"DesktopUIController",{enumerable:!0,get:function(){return ka}}),e.EMBED_CHILD_UNIT_ID_ATTRIBUTE=f,e.EMBED_INTERACTION_BOUNDARY_OWNER_ATTRIBUTE=d,e.EMOJI_CATEGORIES=Ha,e.EMOJI_PICKER_COMPONENT=so,e.EMOJI_RECENT_LIMIT=11,e.EmojiPicker=lo,Object.defineProperty(e,"ErrorController",{enumerable:!0,get:function(){return q}}),e.FILE_PNG_CLIPBOARD_MIME_TYPE=Gs,e.FILE_SVG_XML_CLIPBOARD_MIME_TYPE=`image/svg+xml`,e.FILE__BMP_CLIPBOARD_MIME_TYPE=qs,e.FILE__JPEG_CLIPBOARD_MIME_TYPE=Ks,e.FILE__WEBP_CLIPBOARD_MIME_TYPE=Js,e.FONT_FAMILY_COMPONENT=Eo,e.FONT_FAMILY_ITEM_COMPONENT=Oo,e.FONT_SIZE_COMPONENT=No,e.FONT_SIZE_LIST=jo,e.FloatDom=Ht,e.FloatDomSingle=zt,e.FloatingObjectToolbarPosition=Re,e.FontFamily=Do,e.FontFamilyDropdown=Gc,e.FontFamilyItem=ko,Object.defineProperty(e,"FontService",{enumerable:!0,get:function(){return wo}}),e.FontSize=Ao,e.FormatPainterSessionService=gt,e.HEADING_ITEM_COMPONENT=Fo,e.HEADING_LIST=Mo,e.HOVER_TRACK_HOST_CLASS_NAME=`univer-group/hover-track`,e.HTML_CLIPBOARD_MIME_TYPE=Ws,e.HeadingItem=Po,e.HoverTrack=Il,e.IBeforeCloseService=Ls,e.ICanvasPopupService=Gt,e.IClipboardInterfaceService=$s,e.IContextMenuHostService=li,e.IContextMenuService=si,e.IDialogService=nt,e.IFontService=So,e.IGalleryService=bc,e.ILayoutService=D,e.ILeftSidebarService=N,e.ILocalFileService=wc,e.IMenuManagerService=J,e.IMessageService=K,e.INotificationService=Is,e.IPlatformService=be,e.IRibbonOverrideService=Tr,e.IRibbonService=rt,e.IShortcutService=Ee,e.ISidebarService=P,e.IUIController=Ma,e.IUIPartsService=Y,e.IUIRuntimeScopeService=Se,e.IUnitPresenceUIAdapterRegistry=Rc,e.IWorkbenchService=W,Object.defineProperty(e,"IconManager",{enumerable:!0,get:function(){return z}}),e.KeyCode=ge,e.MOBILE_UI_MODE=G,e.MenuItemType=te,e.MenuManagerPosition=Le,Object.defineProperty(e,"MenuManagerService",{enumerable:!0,get:function(){return Ye}}),e.MetaKeys=ve,e.MobileCanvasGesture=Al,e.MobileContextMenu=Es,Object.defineProperty(e,"MobileDialogService",{enumerable:!0,get:function(){return yc}}),e.MobileDrawer=bs,e.MobileFontFamilyDropdown=Rl,e.MobileKeyboardInsetContext=Os,e.MobileMenu=Ko,e.MobileZoomIndicator=Ll,e.MockMessageService=fl,e.NativeTextEditorShortcutBehavior=Te,e.ObjectPermissionButton=Zc,e.ObjectPermissionPanelButton=nl,e.PLAIN_TEXT_CLIPBOARD_MIME_TYPE=Us,e.PasteCommand=he,e.PlatformService=xe,e.PrintFloatDomSingle=jl,e.ProgressBar=zl,e.RectPopup=Qt,Object.defineProperty(e,"RediConsumer",{enumerable:!0,get:function(){return s.RediConsumer}}),Object.defineProperty(e,"RediContext",{enumerable:!0,get:function(){return s.RediContext}}),Object.defineProperty(e,"RediProvider",{enumerable:!0,get:function(){return s.RediProvider}}),e.RedoShortcutItem=Pe,e.Ribbon=ri,e.RibbonDataGroup=Ue,e.RibbonFormulasGroup=He,e.RibbonInsertGroup=Ve,e.RibbonOthersGroup=Ge,e.RibbonOverrideService=Er,e.RibbonPosition=ze,e.RibbonStartGroup=Be,e.RibbonViewGroup=We,e.SYMBOL_CATEGORIES=Io,e.SYMBOL_PICKER_COMPONENT=Lo,Object.defineProperty(e,"SharedController",{enumerable:!0,get:function(){return Ie}}),e.SheetPasteShortKeyCommandName=`sheet.command.paste-by-short-key`,Object.defineProperty(e,"ShortcutPanelController",{enumerable:!0,get:function(){return tt}}),e.ShortcutPanelService=M,Object.defineProperty(e,"ShortcutService",{enumerable:!0,get:function(){return De}}),e.Sidebar=ga,e.SingleCanvasPopup=$t,e.SingleUnitUIController=Oa,e.Slider=qc,e.SymbolPicker=Ro,e.ThemeSwitcherService=oi,e.ToggleFullscreenOperation=j,e.ToggleShortcutPanelOperation=I,e.ToolbarButton=zr,e.ToolbarItem=ti,e.UIMenuSchema=At,e.UIPartsService=Mt,e.UIRuntimeScopeService=Ce,e.UI_PLUGIN_CONFIG_KEY=oe,e.UNI_DISABLE_CHANGING_FOCUS_KEY=`UNI_DISABLE_CHANGING_FOCUS`,Object.defineProperty(e,"UndoRedoGroupService",{enumerable:!0,get:function(){return Hc}}),e.UndoShortcutItem=Ne,e.UnitPresenceUIAdapterRegistry=Bc,Object.defineProperty(e,"UniverMobileUIPlugin",{enumerable:!0,get:function(){return Uc}}),Object.defineProperty(e,"UniverUIPlugin",{enumerable:!0,get:function(){return dl}}),Object.defineProperty(e,"WithDependency",{enumerable:!0,get:function(){return s.WithDependency}}),Object.defineProperty(e,"WorkbenchService",{enumerable:!0,get:function(){return re}}),e.ZIndexManager=B,e.ZoomInput=Kc,e.bindFormatPainterCanvas=ht,Object.defineProperty(e,"connectDependencies",{enumerable:!0,get:function(){return s.connectDependencies}}),Object.defineProperty(e,"connectInjector",{enumerable:!0,get:function(){return s.connectInjector}}),e.getAllEmojis=Ka,e.getDefaultRecentEmojis=Ga,e.getEmbedBoundaryOwner=p,e.getEmbedChildUnitId=h,e.getEmojiLocaleData=ro,e.getHeaderFooterMenuHiddenObservable=H,e.getLocalizedEmojiTitle=no,e.getMenuHiddenObservable=V,e.getMobileCanvasPanDelta=ps,e.getRandomEmoji=Xa,e.handelExcelToJson=El,e.handelTableToJson=Cl,e.handleDomToJson=gl,e.handlePlainToJson=wl,e.handleStringToStyle=_l,e.handleTableColgroup=bl,e.handleTableMergeData=Tl,e.handleTableRowGroup=Sl,e.imageMimeTypeSet=Ys,e.isEmbedBoundaryTarget=m,e.keepInteractionInsideSameEmbedBoundary=g,e.mergeMenuConfigs=U,e.objectPermissionMenuItemFactory=ae,e.openObjectPermissionDialog=Xc,e.openObjectPermissionPanel=tl,e.parseHtmlDocument=Vs,e.parseHtmlFragment=Bs,e.parseStoredRecentEmojis=Ya,e.preventBrowserZoomInContainers=pi,e.promoteRecentEmoji=Ja,e.sanitizeParsedHtml=zs,e.searchEmojis=qa,e.splitSpanText=yl,e.supportClipboardAPI=Hs,e.textTrim=ml,e.useClickOutSide=ya,e.useComponentsOfPart=Q,e.useConfigValue=fi,e.useDebounceFn=ba,Object.defineProperty(e,"useDependency",{enumerable:!0,get:function(){return s.useDependency}}),e.useEvent=qt,Object.defineProperty(e,"useInjector",{enumerable:!0,get:function(){return s.useInjector}}),e.useMobileCanvasPanel=ds,e.useMobileCanvasViewport=ms,Object.defineProperty(e,"useObservable",{enumerable:!0,get:function(){return s.useObservable}}),e.useObservableRef=st,e.useScrollYOverContainer=di,e.useSidebarClick=pl,e.useToolbarItemStatus=Fr,Object.defineProperty(e,"useUpdateBinder",{enumerable:!0,get:function(){return s.useUpdateBinder}}),e.useUpdateEffect=va,e.useVirtualList=Ca});