tldraw 3.16.0-canary.aa1aff3ffe55 → 3.16.0-canary.da3348c13973

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 (163) hide show
  1. package/dist-cjs/index.d.ts +89 -4
  2. package/dist-cjs/index.js +11 -1
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +10 -1
  5. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +2 -2
  6. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  7. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +35 -0
  8. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +7 -0
  9. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js +2 -1
  10. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js.map +2 -2
  11. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js +3 -2
  12. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js.map +2 -2
  13. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +3 -3
  14. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  15. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +1 -1
  16. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  17. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +2 -1
  18. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  19. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js +3 -2
  20. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js.map +2 -2
  21. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +2 -2
  22. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js.map +2 -2
  23. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +2 -0
  24. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  25. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +171 -140
  26. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  27. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +3 -3
  28. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +2 -2
  29. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js +26 -25
  30. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +3 -3
  31. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +6 -5
  32. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js.map +2 -2
  33. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +9 -10
  34. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +2 -2
  35. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +5 -4
  36. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  37. package/dist-cjs/lib/ui/components/menu-items.js +6 -0
  38. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  39. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +4 -15
  40. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +3 -3
  41. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +1 -1
  42. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  43. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +3 -2
  44. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +3 -3
  45. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +18 -7
  46. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  47. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +284 -0
  48. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +7 -0
  49. package/dist-cjs/lib/ui/components/primitives/layout.js +51 -0
  50. package/dist-cjs/lib/ui/components/primitives/layout.js.map +7 -0
  51. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +152 -2
  52. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  53. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js +3 -2
  54. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js.map +2 -2
  55. package/dist-cjs/lib/ui/context/actions.js +15 -0
  56. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  57. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  58. package/dist-cjs/lib/ui/hooks/useTools.js +76 -9
  59. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  60. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  61. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +3 -0
  62. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  63. package/dist-cjs/lib/ui/version.js +3 -3
  64. package/dist-cjs/lib/ui/version.js.map +1 -1
  65. package/dist-esm/index.d.mts +89 -4
  66. package/dist-esm/index.mjs +19 -1
  67. package/dist-esm/index.mjs.map +2 -2
  68. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +10 -1
  69. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +2 -2
  70. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  71. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +19 -0
  72. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +7 -0
  73. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs +2 -1
  74. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs.map +2 -2
  75. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs +3 -2
  76. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs.map +2 -2
  77. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +3 -5
  78. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  79. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +1 -1
  80. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  81. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +2 -1
  82. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  83. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs +3 -2
  84. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs.map +2 -2
  85. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs +2 -2
  86. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs.map +2 -2
  87. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +3 -1
  88. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  89. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +171 -140
  90. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  91. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +3 -3
  92. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +2 -2
  93. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs +26 -25
  94. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +2 -2
  95. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs +6 -5
  96. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs.map +2 -2
  97. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +9 -10
  98. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +2 -2
  99. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +5 -4
  100. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  101. package/dist-esm/lib/ui/components/menu-items.mjs +6 -0
  102. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  103. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +4 -5
  104. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +2 -2
  105. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +1 -1
  106. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  107. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +3 -2
  108. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  109. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +18 -7
  110. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  111. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +254 -0
  112. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +7 -0
  113. package/dist-esm/lib/ui/components/primitives/layout.mjs +21 -0
  114. package/dist-esm/lib/ui/components/primitives/layout.mjs.map +7 -0
  115. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +160 -4
  116. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  117. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs +3 -2
  118. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs.map +2 -2
  119. package/dist-esm/lib/ui/context/actions.mjs +15 -0
  120. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  121. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  122. package/dist-esm/lib/ui/hooks/useTools.mjs +83 -10
  123. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  124. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +3 -0
  125. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  126. package/dist-esm/lib/ui/version.mjs +3 -3
  127. package/dist-esm/lib/ui/version.mjs.map +1 -1
  128. package/package.json +3 -3
  129. package/src/index.ts +15 -0
  130. package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +11 -1
  131. package/src/lib/tools/SelectTool/childStates/Translating.ts +0 -1
  132. package/src/lib/ui/components/AccessibilityMenu.tsx +20 -0
  133. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx +2 -1
  134. package/src/lib/ui/components/DefaultMenuPanel.tsx +4 -3
  135. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +4 -4
  136. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +1 -1
  137. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +3 -2
  138. package/src/lib/ui/components/SharePanel/PeopleMenuItem.tsx +4 -3
  139. package/src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx +3 -3
  140. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +3 -1
  141. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +146 -107
  142. package/src/lib/ui/components/StylePanel/DoubleDropdownPicker.tsx +3 -3
  143. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +7 -6
  144. package/src/lib/ui/components/Toolbar/DefaultToolbar.tsx +7 -6
  145. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +10 -11
  146. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +14 -11
  147. package/src/lib/ui/components/menu-items.tsx +8 -0
  148. package/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx +38 -36
  149. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +1 -1
  150. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +4 -2
  151. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +34 -12
  152. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +332 -0
  153. package/src/lib/ui/components/primitives/layout.tsx +33 -0
  154. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +218 -3
  155. package/src/lib/ui/context/TldrawUiContextProvider.tsx +23 -20
  156. package/src/lib/ui/context/actions.tsx +15 -0
  157. package/src/lib/ui/context/events.tsx +2 -0
  158. package/src/lib/ui/hooks/useTools.tsx +118 -10
  159. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +3 -0
  160. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +3 -0
  161. package/src/lib/ui/version.ts +3 -3
  162. package/src/lib/ui.css +80 -69
  163. package/tldraw.css +82 -69
@@ -39,6 +39,7 @@ var import_events = require("../../context/events");
39
39
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
40
40
  var import_TldrawUiButton = require("../primitives/Button/TldrawUiButton");
41
41
  var import_TldrawUiButtonIcon = require("../primitives/Button/TldrawUiButtonIcon");
42
+ var import_layout = require("../primitives/layout");
42
43
  const UserPresenceColorPicker = (0, import_editor.track)(function UserPresenceColorPicker2() {
43
44
  const editor = (0, import_editor.useEditor)();
44
45
  const container = (0, import_editor.useContainer)();
@@ -117,7 +118,7 @@ const UserPresenceColorPicker = (0, import_editor.track)(function UserPresenceCo
117
118
  align: "start",
118
119
  side: "left",
119
120
  sideOffset: 8,
120
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "tlui-buttons__grid", children: import_editor.USER_COLORS.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
121
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_layout.TldrawUiGrid, { children: import_editor.USER_COLORS.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
121
122
  import_TldrawUiButton.TldrawUiButton,
122
123
  {
123
124
  type: "icon",
@@ -126,7 +127,6 @@ const UserPresenceColorPicker = (0, import_editor.track)(function UserPresenceCo
126
127
  "aria-label": item,
127
128
  isActive: value === item,
128
129
  title: item,
129
- className: "tlui-button-grid__button",
130
130
  style: { color: item },
131
131
  onPointerEnter: handleButtonPointerEnter,
132
132
  onPointerDown: handleButtonPointerDown,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx"],
4
- "sourcesContent": ["import { USER_COLORS, track, useContainer, useEditor } from '@tldraw/editor'\nimport { Popover as _Popover } from 'radix-ui'\nimport React, { useCallback, useRef, useState } from 'react'\nimport { useUiEvents } from '../../context/events'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { TldrawUiButton } from '../primitives/Button/TldrawUiButton'\nimport { TldrawUiButtonIcon } from '../primitives/Button/TldrawUiButtonIcon'\n\nexport const UserPresenceColorPicker = track(function UserPresenceColorPicker() {\n\tconst editor = useEditor()\n\tconst container = useContainer()\n\tconst msg = useTranslation()\n\tconst trackEvent = useUiEvents()\n\n\tconst rPointing = useRef(false)\n\n\tconst [isOpen, setIsOpen] = useState(false)\n\tconst handleOpenChange = useCallback((isOpen: boolean) => {\n\t\tsetIsOpen(isOpen)\n\t}, [])\n\n\tconst value = editor.user.getColor()\n\n\tconst onValueChange = useCallback(\n\t\t(item: string) => {\n\t\t\teditor.user.updateUserPreferences({ color: item })\n\t\t\ttrackEvent('set-color', { source: 'people-menu' })\n\t\t},\n\t\t[editor, trackEvent]\n\t)\n\n\tconst {\n\t\thandleButtonClick,\n\t\thandleButtonPointerDown,\n\t\thandleButtonPointerEnter,\n\t\thandleButtonPointerUp,\n\t} = React.useMemo(() => {\n\t\tconst handlePointerUp = () => {\n\t\t\trPointing.current = false\n\t\t\twindow.removeEventListener('pointerup', handlePointerUp)\n\t\t}\n\n\t\tconst handleButtonClick = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\t\t\tif (value === id) return\n\n\t\t\tonValueChange(id)\n\t\t}\n\n\t\tconst handleButtonPointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\n\t\t\tonValueChange(id)\n\n\t\t\trPointing.current = true\n\t\t\twindow.addEventListener('pointerup', handlePointerUp) // see TLD-658\n\t\t}\n\n\t\tconst handleButtonPointerEnter = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tif (!rPointing.current) return\n\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\t\t\tonValueChange(id)\n\t\t}\n\n\t\tconst handleButtonPointerUp = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\t\t\tonValueChange(id)\n\t\t}\n\n\t\treturn {\n\t\t\thandleButtonClick,\n\t\t\thandleButtonPointerDown,\n\t\t\thandleButtonPointerEnter,\n\t\t\thandleButtonPointerUp,\n\t\t}\n\t}, [value, onValueChange])\n\n\treturn (\n\t\t<_Popover.Root onOpenChange={handleOpenChange} open={isOpen}>\n\t\t\t<_Popover.Trigger dir=\"ltr\" asChild>\n\t\t\t\t<TldrawUiButton\n\t\t\t\t\ttype=\"icon\"\n\t\t\t\t\tclassName=\"tlui-people-menu__user__color\"\n\t\t\t\t\tstyle={{ color: editor.user.getColor() }}\n\t\t\t\t\ttitle={msg('people-menu.change-color')}\n\t\t\t\t>\n\t\t\t\t\t<TldrawUiButtonIcon icon=\"color\" />\n\t\t\t\t</TldrawUiButton>\n\t\t\t</_Popover.Trigger>\n\t\t\t<_Popover.Portal container={container}>\n\t\t\t\t<_Popover.Content\n\t\t\t\t\tdir=\"ltr\"\n\t\t\t\t\tclassName=\"tlui-menu tlui-people-menu__user__color-picker\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t\tside=\"left\"\n\t\t\t\t\tsideOffset={8}\n\t\t\t\t>\n\t\t\t\t\t<div className={'tlui-buttons__grid'}>\n\t\t\t\t\t\t{USER_COLORS.map((item: string) => (\n\t\t\t\t\t\t\t<TldrawUiButton\n\t\t\t\t\t\t\t\ttype=\"icon\"\n\t\t\t\t\t\t\t\tkey={item}\n\t\t\t\t\t\t\t\tdata-id={item}\n\t\t\t\t\t\t\t\tdata-testid={item}\n\t\t\t\t\t\t\t\taria-label={item}\n\t\t\t\t\t\t\t\tisActive={value === item}\n\t\t\t\t\t\t\t\ttitle={item}\n\t\t\t\t\t\t\t\tclassName={'tlui-button-grid__button'}\n\t\t\t\t\t\t\t\tstyle={{ color: item }}\n\t\t\t\t\t\t\t\tonPointerEnter={handleButtonPointerEnter}\n\t\t\t\t\t\t\t\tonPointerDown={handleButtonPointerDown}\n\t\t\t\t\t\t\t\tonPointerUp={handleButtonPointerUp}\n\t\t\t\t\t\t\t\tonClick={handleButtonClick}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TldrawUiButtonIcon icon=\"color\" />\n\t\t\t\t\t\t\t</TldrawUiButton>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</_Popover.Content>\n\t\t\t</_Popover.Portal>\n\t\t</_Popover.Root>\n\t)\n})\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { USER_COLORS, track, useContainer, useEditor } from '@tldraw/editor'\nimport { Popover as _Popover } from 'radix-ui'\nimport React, { useCallback, useRef, useState } from 'react'\nimport { useUiEvents } from '../../context/events'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { TldrawUiButton } from '../primitives/Button/TldrawUiButton'\nimport { TldrawUiButtonIcon } from '../primitives/Button/TldrawUiButtonIcon'\nimport { TldrawUiGrid } from '../primitives/layout'\n\nexport const UserPresenceColorPicker = track(function UserPresenceColorPicker() {\n\tconst editor = useEditor()\n\tconst container = useContainer()\n\tconst msg = useTranslation()\n\tconst trackEvent = useUiEvents()\n\n\tconst rPointing = useRef(false)\n\n\tconst [isOpen, setIsOpen] = useState(false)\n\tconst handleOpenChange = useCallback((isOpen: boolean) => {\n\t\tsetIsOpen(isOpen)\n\t}, [])\n\n\tconst value = editor.user.getColor()\n\n\tconst onValueChange = useCallback(\n\t\t(item: string) => {\n\t\t\teditor.user.updateUserPreferences({ color: item })\n\t\t\ttrackEvent('set-color', { source: 'people-menu' })\n\t\t},\n\t\t[editor, trackEvent]\n\t)\n\n\tconst {\n\t\thandleButtonClick,\n\t\thandleButtonPointerDown,\n\t\thandleButtonPointerEnter,\n\t\thandleButtonPointerUp,\n\t} = React.useMemo(() => {\n\t\tconst handlePointerUp = () => {\n\t\t\trPointing.current = false\n\t\t\twindow.removeEventListener('pointerup', handlePointerUp)\n\t\t}\n\n\t\tconst handleButtonClick = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\t\t\tif (value === id) return\n\n\t\t\tonValueChange(id)\n\t\t}\n\n\t\tconst handleButtonPointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\n\t\t\tonValueChange(id)\n\n\t\t\trPointing.current = true\n\t\t\twindow.addEventListener('pointerup', handlePointerUp) // see TLD-658\n\t\t}\n\n\t\tconst handleButtonPointerEnter = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tif (!rPointing.current) return\n\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\t\t\tonValueChange(id)\n\t\t}\n\n\t\tconst handleButtonPointerUp = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\t\tconst { id } = e.currentTarget.dataset\n\t\t\tif (!id) return\n\t\t\tonValueChange(id)\n\t\t}\n\n\t\treturn {\n\t\t\thandleButtonClick,\n\t\t\thandleButtonPointerDown,\n\t\t\thandleButtonPointerEnter,\n\t\t\thandleButtonPointerUp,\n\t\t}\n\t}, [value, onValueChange])\n\n\treturn (\n\t\t<_Popover.Root onOpenChange={handleOpenChange} open={isOpen}>\n\t\t\t<_Popover.Trigger dir=\"ltr\" asChild>\n\t\t\t\t<TldrawUiButton\n\t\t\t\t\ttype=\"icon\"\n\t\t\t\t\tclassName=\"tlui-people-menu__user__color\"\n\t\t\t\t\tstyle={{ color: editor.user.getColor() }}\n\t\t\t\t\ttitle={msg('people-menu.change-color')}\n\t\t\t\t>\n\t\t\t\t\t<TldrawUiButtonIcon icon=\"color\" />\n\t\t\t\t</TldrawUiButton>\n\t\t\t</_Popover.Trigger>\n\t\t\t<_Popover.Portal container={container}>\n\t\t\t\t<_Popover.Content\n\t\t\t\t\tdir=\"ltr\"\n\t\t\t\t\tclassName=\"tlui-menu tlui-people-menu__user__color-picker\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t\tside=\"left\"\n\t\t\t\t\tsideOffset={8}\n\t\t\t\t>\n\t\t\t\t\t<TldrawUiGrid>\n\t\t\t\t\t\t{USER_COLORS.map((item: string) => (\n\t\t\t\t\t\t\t<TldrawUiButton\n\t\t\t\t\t\t\t\ttype=\"icon\"\n\t\t\t\t\t\t\t\tkey={item}\n\t\t\t\t\t\t\t\tdata-id={item}\n\t\t\t\t\t\t\t\tdata-testid={item}\n\t\t\t\t\t\t\t\taria-label={item}\n\t\t\t\t\t\t\t\tisActive={value === item}\n\t\t\t\t\t\t\t\ttitle={item}\n\t\t\t\t\t\t\t\tstyle={{ color: item }}\n\t\t\t\t\t\t\t\tonPointerEnter={handleButtonPointerEnter}\n\t\t\t\t\t\t\t\tonPointerDown={handleButtonPointerDown}\n\t\t\t\t\t\t\t\tonPointerUp={handleButtonPointerUp}\n\t\t\t\t\t\t\t\tonClick={handleButtonClick}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TldrawUiButtonIcon icon=\"color\" />\n\t\t\t\t\t\t\t</TldrawUiButton>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TldrawUiGrid>\n\t\t\t\t</_Popover.Content>\n\t\t\t</_Popover.Portal>\n\t\t</_Popover.Root>\n\t)\n})\n"],
5
+ "mappings": "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",
6
6
  "names": ["UserPresenceColorPicker", "isOpen", "React", "handleButtonClick", "handleButtonPointerDown", "handleButtonPointerEnter", "handleButtonPointerUp", "_Popover"]
7
7
  }
@@ -42,6 +42,7 @@ const DefaultStylePanel = (0, import_react.memo)(function DefaultStylePanel2({
42
42
  children
43
43
  }) {
44
44
  const editor = (0, import_editor.useEditor)();
45
+ const showUiLabels = (0, import_editor.useValue)("showUiLabels", () => editor.user.getShowUiLabels(), [editor]);
45
46
  const ref = (0, import_react.useRef)(null);
46
47
  (0, import_editor.usePassThroughWheelEvents)(ref);
47
48
  const styles = (0, import_useRelevantStyles.useRelevantStyles)();
@@ -70,6 +71,7 @@ const DefaultStylePanel = (0, import_react.memo)(function DefaultStylePanel2({
70
71
  ref,
71
72
  className: (0, import_classnames.default)("tlui-style-panel", { "tlui-style-panel__wrapper": !isMobile }),
72
73
  "data-ismobile": isMobile,
74
+ "data-show-ui-labels": showUiLabels,
73
75
  onPointerLeave: handlePointerOut,
74
76
  children: content
75
77
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/ui/components/StylePanel/DefaultStylePanel.tsx"],
4
- "sourcesContent": ["import { useEditor, usePassThroughWheelEvents } from '@tldraw/editor'\nimport classNames from 'classnames'\nimport { ReactNode, memo, useCallback, useEffect, useRef } from 'react'\nimport { useRelevantStyles } from '../../hooks/useRelevantStyles'\nimport { DefaultStylePanelContent } from './DefaultStylePanelContent'\n\n/** @public */\nexport interface TLUiStylePanelProps {\n\tisMobile?: boolean\n\tchildren?: ReactNode\n}\n\n/** @public @react */\nexport const DefaultStylePanel = memo(function DefaultStylePanel({\n\tisMobile,\n\tchildren,\n}: TLUiStylePanelProps) {\n\tconst editor = useEditor()\n\n\tconst ref = useRef<HTMLDivElement>(null)\n\tusePassThroughWheelEvents(ref)\n\n\tconst styles = useRelevantStyles()\n\n\tconst handlePointerOut = useCallback(() => {\n\t\tif (!isMobile) {\n\t\t\teditor.updateInstanceState({ isChangingStyle: false })\n\t\t}\n\t}, [editor, isMobile])\n\n\tconst content = children ?? <DefaultStylePanelContent styles={styles} />\n\n\tuseEffect(() => {\n\t\tfunction handleKeyDown(event: KeyboardEvent) {\n\t\t\tif (event.key === 'Escape' && ref.current?.contains(document.activeElement)) {\n\t\t\t\tevent.stopPropagation()\n\t\t\t\teditor.getContainer().focus()\n\t\t\t}\n\t\t}\n\n\t\tconst stylePanelContainerEl = ref.current\n\t\tstylePanelContainerEl?.addEventListener('keydown', handleKeyDown, { capture: true })\n\t\treturn () => {\n\t\t\tstylePanelContainerEl?.removeEventListener('keydown', handleKeyDown, { capture: true })\n\t\t}\n\t}, [editor])\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={classNames('tlui-style-panel', { 'tlui-style-panel__wrapper': !isMobile })}\n\t\t\tdata-ismobile={isMobile}\n\t\t\tonPointerLeave={handlePointerOut}\n\t\t>\n\t\t\t{content}\n\t\t</div>\n\t)\n})\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8B6B;AA9B7B,oBAAqD;AACrD,wBAAuB;AACvB,mBAAgE;AAChE,+BAAkC;AAClC,sCAAyC;AASlC,MAAM,wBAAoB,mBAAK,SAASA,mBAAkB;AAAA,EAChE;AAAA,EACA;AACD,GAAwB;AACvB,QAAM,aAAS,yBAAU;AAEzB,QAAM,UAAM,qBAAuB,IAAI;AACvC,+CAA0B,GAAG;AAE7B,QAAM,aAAS,4CAAkB;AAEjC,QAAM,uBAAmB,0BAAY,MAAM;AAC1C,QAAI,CAAC,UAAU;AACd,aAAO,oBAAoB,EAAE,iBAAiB,MAAM,CAAC;AAAA,IACtD;AAAA,EACD,GAAG,CAAC,QAAQ,QAAQ,CAAC;AAErB,QAAM,UAAU,YAAY,4CAAC,4DAAyB,QAAgB;AAEtE,8BAAU,MAAM;AACf,aAAS,cAAc,OAAsB;AAC5C,UAAI,MAAM,QAAQ,YAAY,IAAI,SAAS,SAAS,SAAS,aAAa,GAAG;AAC5E,cAAM,gBAAgB;AACtB,eAAO,aAAa,EAAE,MAAM;AAAA,MAC7B;AAAA,IACD;AAEA,UAAM,wBAAwB,IAAI;AAClC,2BAAuB,iBAAiB,WAAW,eAAe,EAAE,SAAS,KAAK,CAAC;AACnF,WAAO,MAAM;AACZ,6BAAuB,oBAAoB,WAAW,eAAe,EAAE,SAAS,KAAK,CAAC;AAAA,IACvF;AAAA,EACD,GAAG,CAAC,MAAM,CAAC;AAEX,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,eAAW,kBAAAC,SAAW,oBAAoB,EAAE,6BAA6B,CAAC,SAAS,CAAC;AAAA,MACpF,iBAAe;AAAA,MACf,gBAAgB;AAAA,MAEf;AAAA;AAAA,EACF;AAEF,CAAC;",
4
+ "sourcesContent": ["import { useEditor, usePassThroughWheelEvents, useValue } from '@tldraw/editor'\nimport classNames from 'classnames'\nimport { ReactNode, memo, useCallback, useEffect, useRef } from 'react'\nimport { useRelevantStyles } from '../../hooks/useRelevantStyles'\nimport { DefaultStylePanelContent } from './DefaultStylePanelContent'\n\n/** @public */\nexport interface TLUiStylePanelProps {\n\tisMobile?: boolean\n\tchildren?: ReactNode\n}\n\n/** @public @react */\nexport const DefaultStylePanel = memo(function DefaultStylePanel({\n\tisMobile,\n\tchildren,\n}: TLUiStylePanelProps) {\n\tconst editor = useEditor()\n\tconst showUiLabels = useValue('showUiLabels', () => editor.user.getShowUiLabels(), [editor])\n\n\tconst ref = useRef<HTMLDivElement>(null)\n\tusePassThroughWheelEvents(ref)\n\n\tconst styles = useRelevantStyles()\n\n\tconst handlePointerOut = useCallback(() => {\n\t\tif (!isMobile) {\n\t\t\teditor.updateInstanceState({ isChangingStyle: false })\n\t\t}\n\t}, [editor, isMobile])\n\n\tconst content = children ?? <DefaultStylePanelContent styles={styles} />\n\n\tuseEffect(() => {\n\t\tfunction handleKeyDown(event: KeyboardEvent) {\n\t\t\tif (event.key === 'Escape' && ref.current?.contains(document.activeElement)) {\n\t\t\t\tevent.stopPropagation()\n\t\t\t\teditor.getContainer().focus()\n\t\t\t}\n\t\t}\n\n\t\tconst stylePanelContainerEl = ref.current\n\t\tstylePanelContainerEl?.addEventListener('keydown', handleKeyDown, { capture: true })\n\t\treturn () => {\n\t\t\tstylePanelContainerEl?.removeEventListener('keydown', handleKeyDown, { capture: true })\n\t\t}\n\t}, [editor])\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={classNames('tlui-style-panel', { 'tlui-style-panel__wrapper': !isMobile })}\n\t\t\tdata-ismobile={isMobile}\n\t\t\tdata-show-ui-labels={showUiLabels}\n\t\t\tonPointerLeave={handlePointerOut}\n\t\t>\n\t\t\t{content}\n\t\t</div>\n\t)\n})\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+B6B;AA/B7B,oBAA+D;AAC/D,wBAAuB;AACvB,mBAAgE;AAChE,+BAAkC;AAClC,sCAAyC;AASlC,MAAM,wBAAoB,mBAAK,SAASA,mBAAkB;AAAA,EAChE;AAAA,EACA;AACD,GAAwB;AACvB,QAAM,aAAS,yBAAU;AACzB,QAAM,mBAAe,wBAAS,gBAAgB,MAAM,OAAO,KAAK,gBAAgB,GAAG,CAAC,MAAM,CAAC;AAE3F,QAAM,UAAM,qBAAuB,IAAI;AACvC,+CAA0B,GAAG;AAE7B,QAAM,aAAS,4CAAkB;AAEjC,QAAM,uBAAmB,0BAAY,MAAM;AAC1C,QAAI,CAAC,UAAU;AACd,aAAO,oBAAoB,EAAE,iBAAiB,MAAM,CAAC;AAAA,IACtD;AAAA,EACD,GAAG,CAAC,QAAQ,QAAQ,CAAC;AAErB,QAAM,UAAU,YAAY,4CAAC,4DAAyB,QAAgB;AAEtE,8BAAU,MAAM;AACf,aAAS,cAAc,OAAsB;AAC5C,UAAI,MAAM,QAAQ,YAAY,IAAI,SAAS,SAAS,SAAS,aAAa,GAAG;AAC5E,cAAM,gBAAgB;AACtB,eAAO,aAAa,EAAE,MAAM;AAAA,MAC7B;AAAA,IACD;AAEA,UAAM,wBAAwB,IAAI;AAClC,2BAAuB,iBAAiB,WAAW,eAAe,EAAE,SAAS,KAAK,CAAC;AACnF,WAAO,MAAM;AACZ,6BAAuB,oBAAoB,WAAW,eAAe,EAAE,SAAS,KAAK,CAAC;AAAA,IACvF;AAAA,EACD,GAAG,CAAC,MAAM,CAAC;AAEX,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,eAAW,kBAAAC,SAAW,oBAAoB,EAAE,6BAA6B,CAAC,SAAS,CAAC;AAAA,MACpF,iBAAe;AAAA,MACf,uBAAqB;AAAA,MACrB,gBAAgB;AAAA,MAEf;AAAA;AAAA,EACF;AAEF,CAAC;",
6
6
  "names": ["DefaultStylePanel", "classNames"]
7
7
  }
@@ -50,6 +50,9 @@ var import_TldrawUiSlider = require("../primitives/TldrawUiSlider");
50
50
  var import_TldrawUiToolbar = require("../primitives/TldrawUiToolbar");
51
51
  var import_DoubleDropdownPicker = require("./DoubleDropdownPicker");
52
52
  var import_DropdownPicker = require("./DropdownPicker");
53
+ function StylePanelSubheading({ children }) {
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "tlui-style-panel__subheading", children });
55
+ }
53
56
  function DefaultStylePanelContent({ styles }) {
54
57
  const isDarkMode = (0, import_editor.useIsDarkMode)();
55
58
  if (!styles) return null;
@@ -97,6 +100,7 @@ function CommonStylePickerSet({ styles, theme }) {
97
100
  const msg = (0, import_useTranslation.useTranslation)();
98
101
  const editor = (0, import_editor.useEditor)();
99
102
  const onHistoryMark = (0, import_react.useCallback)((id) => editor.markHistoryStoppingPoint(id), [editor]);
103
+ const showUiLabels = (0, import_editor.useValue)("showUiLabels", () => editor.user.getShowUiLabels(), [editor]);
100
104
  const handleValueChange = useStyleChangeCallback();
101
105
  const color = styles.get(import_editor.DefaultColorStyle);
102
106
  const fill = styles.get(import_editor.DefaultFillStyle);
@@ -105,67 +109,79 @@ function CommonStylePickerSet({ styles, theme }) {
105
109
  const showPickers = fill !== void 0 || dash !== void 0 || size !== void 0;
106
110
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
107
111
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "tlui-style-panel__section__common", "data-testid": "style.panel", children: [
108
- color === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.color"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
109
- import_TldrawUiButtonPicker.TldrawUiButtonPicker,
110
- {
111
- title: msg("style-panel.color"),
112
- uiType: "color",
113
- style: import_editor.DefaultColorStyle,
114
- items: import_styles.STYLES.color,
115
- value: color,
116
- onValueChange: handleValueChange,
117
- theme,
118
- onHistoryMark
119
- }
120
- ) }),
112
+ color === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
113
+ showUiLabels && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: msg("style-panel.color") }),
114
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.color"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
115
+ import_TldrawUiButtonPicker.TldrawUiButtonPicker,
116
+ {
117
+ title: msg("style-panel.color"),
118
+ uiType: "color",
119
+ style: import_editor.DefaultColorStyle,
120
+ items: import_styles.STYLES.color,
121
+ value: color,
122
+ onValueChange: handleValueChange,
123
+ theme,
124
+ onHistoryMark
125
+ }
126
+ ) })
127
+ ] }),
121
128
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OpacitySlider, {})
122
129
  ] }),
123
130
  showPickers && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "tlui-style-panel__section", children: [
124
- fill === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.fill"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
125
- import_TldrawUiButtonPicker.TldrawUiButtonPicker,
126
- {
127
- title: msg("style-panel.fill"),
128
- uiType: "fill",
129
- style: import_editor.DefaultFillStyle,
130
- items: import_styles.STYLES.fill,
131
- value: fill,
132
- onValueChange: handleValueChange,
133
- theme,
134
- onHistoryMark
135
- }
136
- ) }),
137
- dash === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.dash"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
- import_TldrawUiButtonPicker.TldrawUiButtonPicker,
139
- {
140
- title: msg("style-panel.dash"),
141
- uiType: "dash",
142
- style: import_editor.DefaultDashStyle,
143
- items: import_styles.STYLES.dash,
144
- value: dash,
145
- onValueChange: handleValueChange,
146
- theme,
147
- onHistoryMark
148
- }
149
- ) }),
150
- size === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.size"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
151
- import_TldrawUiButtonPicker.TldrawUiButtonPicker,
152
- {
153
- title: msg("style-panel.size"),
154
- uiType: "size",
155
- style: import_editor.DefaultSizeStyle,
156
- items: import_styles.STYLES.size,
157
- value: size,
158
- onValueChange: (style, value) => {
159
- handleValueChange(style, value);
160
- const selectedShapeIds = editor.getSelectedShapeIds();
161
- if (selectedShapeIds.length > 0) {
162
- (0, import_editor.kickoutOccludedShapes)(editor, selectedShapeIds);
163
- }
164
- },
165
- theme,
166
- onHistoryMark
167
- }
168
- ) })
131
+ fill === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
132
+ showUiLabels && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: msg("style-panel.fill") }),
133
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.fill"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
134
+ import_TldrawUiButtonPicker.TldrawUiButtonPicker,
135
+ {
136
+ title: msg("style-panel.fill"),
137
+ uiType: "fill",
138
+ style: import_editor.DefaultFillStyle,
139
+ items: import_styles.STYLES.fill,
140
+ value: fill,
141
+ onValueChange: handleValueChange,
142
+ theme,
143
+ onHistoryMark
144
+ }
145
+ ) })
146
+ ] }),
147
+ dash === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
148
+ showUiLabels && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: msg("style-panel.dash") }),
149
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.dash"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
150
+ import_TldrawUiButtonPicker.TldrawUiButtonPicker,
151
+ {
152
+ title: msg("style-panel.dash"),
153
+ uiType: "dash",
154
+ style: import_editor.DefaultDashStyle,
155
+ items: import_styles.STYLES.dash,
156
+ value: dash,
157
+ onValueChange: handleValueChange,
158
+ theme,
159
+ onHistoryMark
160
+ }
161
+ ) })
162
+ ] }),
163
+ size === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
164
+ showUiLabels && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: msg("style-panel.size") }),
165
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.size"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
166
+ import_TldrawUiButtonPicker.TldrawUiButtonPicker,
167
+ {
168
+ title: msg("style-panel.size"),
169
+ uiType: "size",
170
+ style: import_editor.DefaultSizeStyle,
171
+ items: import_styles.STYLES.size,
172
+ value: size,
173
+ onValueChange: (style, value) => {
174
+ handleValueChange(style, value);
175
+ const selectedShapeIds = editor.getSelectedShapeIds();
176
+ if (selectedShapeIds.length > 0) {
177
+ (0, import_editor.kickoutOccludedShapes)(editor, selectedShapeIds);
178
+ }
179
+ },
180
+ theme,
181
+ onHistoryMark
182
+ }
183
+ ) })
184
+ ] })
169
185
  ] })
170
186
  ] });
171
187
  }
@@ -174,6 +190,8 @@ function TextStylePickerSet({ theme, styles }) {
174
190
  const handleValueChange = useStyleChangeCallback();
175
191
  const editor = (0, import_editor.useEditor)();
176
192
  const onHistoryMark = (0, import_react.useCallback)((id) => editor.markHistoryStoppingPoint(id), [editor]);
193
+ const showUiLabels = (0, import_editor.useValue)("showUiLabels", () => editor.user.getShowUiLabels(), [editor]);
194
+ const labelStr = showUiLabels && msg("style-panel.font");
177
195
  const font = styles.get(import_editor.DefaultFontStyle);
178
196
  const textAlign = styles.get(import_editor.DefaultTextAlignStyle);
179
197
  const labelAlign = styles.get(import_editor.DefaultHorizontalAlignStyle);
@@ -182,80 +200,89 @@ function TextStylePickerSet({ theme, styles }) {
182
200
  return null;
183
201
  }
184
202
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "tlui-style-panel__section", children: [
185
- font === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.font"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
186
- import_TldrawUiButtonPicker.TldrawUiButtonPicker,
187
- {
188
- title: msg("style-panel.font"),
189
- uiType: "font",
190
- style: import_editor.DefaultFontStyle,
191
- items: import_styles.STYLES.font,
192
- value: font,
193
- onValueChange: handleValueChange,
194
- theme,
195
- onHistoryMark
196
- }
197
- ) }),
198
- textAlign === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.align"), className: "tlui-style-panel__row", children: [
199
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
203
+ font === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
204
+ labelStr && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: labelStr }),
205
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.font"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
200
206
  import_TldrawUiButtonPicker.TldrawUiButtonPicker,
201
207
  {
202
- title: msg("style-panel.align"),
203
- uiType: "align",
204
- style: import_editor.DefaultTextAlignStyle,
205
- items: import_styles.STYLES.textAlign,
206
- value: textAlign,
208
+ title: msg("style-panel.font"),
209
+ uiType: "font",
210
+ style: import_editor.DefaultFontStyle,
211
+ items: import_styles.STYLES.font,
212
+ value: font,
207
213
  onValueChange: handleValueChange,
208
214
  theme,
209
215
  onHistoryMark
210
216
  }
211
- ),
212
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "tlui-style-panel__row__extra-button", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
213
- import_TldrawUiToolbar.TldrawUiToolbarButton,
214
- {
215
- type: "icon",
216
- title: msg("style-panel.vertical-align"),
217
- "data-testid": "vertical-align",
218
- disabled: true,
219
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiButtonIcon.TldrawUiButtonIcon, { icon: "vertical-align-middle" })
220
- }
221
217
  ) })
222
218
  ] }),
223
- labelAlign === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.label-align"), className: "tlui-style-panel__row", children: [
224
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
225
- import_TldrawUiButtonPicker.TldrawUiButtonPicker,
226
- {
227
- title: msg("style-panel.label-align"),
228
- uiType: "align",
229
- style: import_editor.DefaultHorizontalAlignStyle,
230
- items: import_styles.STYLES.horizontalAlign,
231
- value: labelAlign,
232
- onValueChange: handleValueChange,
233
- theme,
234
- onHistoryMark
235
- }
236
- ),
237
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "tlui-style-panel__row__extra-button", children: verticalLabelAlign === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
238
- import_TldrawUiToolbar.TldrawUiToolbarButton,
239
- {
240
- type: "icon",
241
- title: msg("style-panel.vertical-align"),
242
- "data-testid": "vertical-align",
243
- disabled: true,
244
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiButtonIcon.TldrawUiButtonIcon, { icon: "vertical-align-middle" })
245
- }
246
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
247
- import_DropdownPicker.DropdownPicker,
248
- {
249
- type: "icon",
250
- id: "geo-vertical-alignment",
251
- uiType: "verticalAlign",
252
- stylePanelType: "vertical-align",
253
- style: import_editor.DefaultVerticalAlignStyle,
254
- items: import_styles.STYLES.verticalAlign,
255
- value: verticalLabelAlign,
256
- onValueChange: handleValueChange
257
- }
258
- ) })
219
+ textAlign === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
220
+ showUiLabels && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: msg("style-panel.align") }),
221
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.align"), children: [
222
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
223
+ import_TldrawUiButtonPicker.TldrawUiButtonPicker,
224
+ {
225
+ title: msg("style-panel.align"),
226
+ uiType: "align",
227
+ style: import_editor.DefaultTextAlignStyle,
228
+ items: import_styles.STYLES.textAlign,
229
+ value: textAlign,
230
+ onValueChange: handleValueChange,
231
+ theme,
232
+ onHistoryMark
233
+ }
234
+ ),
235
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
236
+ import_TldrawUiToolbar.TldrawUiToolbarButton,
237
+ {
238
+ type: "icon",
239
+ title: msg("style-panel.vertical-align"),
240
+ "data-testid": "vertical-align",
241
+ disabled: true,
242
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiButtonIcon.TldrawUiButtonIcon, { icon: "vertical-align-middle" })
243
+ }
244
+ )
245
+ ] })
246
+ ] }),
247
+ labelAlign === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
248
+ showUiLabels && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: msg("style-panel.label-align") }),
249
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.label-align"), children: [
250
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
251
+ import_TldrawUiButtonPicker.TldrawUiButtonPicker,
252
+ {
253
+ title: msg("style-panel.label-align"),
254
+ uiType: "align",
255
+ style: import_editor.DefaultHorizontalAlignStyle,
256
+ items: import_styles.STYLES.horizontalAlign,
257
+ value: labelAlign,
258
+ onValueChange: handleValueChange,
259
+ theme,
260
+ onHistoryMark
261
+ }
262
+ ),
263
+ verticalLabelAlign === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
264
+ import_TldrawUiToolbar.TldrawUiToolbarButton,
265
+ {
266
+ type: "icon",
267
+ title: msg("style-panel.vertical-align"),
268
+ "data-testid": "vertical-align",
269
+ disabled: true,
270
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiButtonIcon.TldrawUiButtonIcon, { icon: "vertical-align-middle" })
271
+ }
272
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
273
+ import_DropdownPicker.DropdownPicker,
274
+ {
275
+ type: "icon",
276
+ id: "geo-vertical-alignment",
277
+ uiType: "verticalAlign",
278
+ stylePanelType: "vertical-align",
279
+ style: import_editor.DefaultVerticalAlignStyle,
280
+ items: import_styles.STYLES.verticalAlign,
281
+ value: verticalLabelAlign,
282
+ onValueChange: handleValueChange
283
+ }
284
+ )
285
+ ] })
259
286
  ] })
260
287
  ] });
261
288
  }
@@ -266,7 +293,7 @@ function GeoStylePickerSet({ styles }) {
266
293
  if (geo === void 0) {
267
294
  return null;
268
295
  }
269
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.geo"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
296
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.geo"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
270
297
  import_DropdownPicker.DropdownPicker,
271
298
  {
272
299
  id: "geo",
@@ -288,7 +315,7 @@ function SplineStylePickerSet({ styles }) {
288
315
  if (spline === void 0) {
289
316
  return null;
290
317
  }
291
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.spline"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
318
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.spline"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
292
319
  import_DropdownPicker.DropdownPicker,
293
320
  {
294
321
  id: "spline",
@@ -310,7 +337,7 @@ function ArrowStylePickerSet({ styles }) {
310
337
  if (arrowKind === void 0) {
311
338
  return null;
312
339
  }
313
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { label: msg("style-panel.arrow-kind"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
340
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TldrawUiToolbar.TldrawUiToolbar, { orientation: "horizontal", label: msg("style-panel.arrow-kind"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
314
341
  import_DropdownPicker.DropdownPicker,
315
342
  {
316
343
  id: "arrow-kind",
@@ -354,6 +381,7 @@ const tldrawSupportedOpacities = [0.1, 0.25, 0.5, 0.75, 1];
354
381
  function OpacitySlider() {
355
382
  const editor = (0, import_editor.useEditor)();
356
383
  const onHistoryMark = (0, import_react.useCallback)((id) => editor.markHistoryStoppingPoint(id), [editor]);
384
+ const showUiLabels = (0, import_editor.useValue)("showUiLabels", () => editor.user.getShowUiLabels(), [editor]);
357
385
  const opacity = (0, import_editor.useValue)("opacity", () => editor.getSharedOpacity(), [editor]);
358
386
  const trackEvent = (0, import_events.useUiEvents)();
359
387
  const msg = (0, import_useTranslation.useTranslation)();
@@ -378,18 +406,21 @@ function OpacitySlider() {
378
406
  (supportedOpacity) => Math.abs(supportedOpacity - opacity.value)
379
407
  )
380
408
  );
381
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
382
- import_TldrawUiSlider.TldrawUiSlider,
383
- {
384
- "data-testid": "style.opacity",
385
- value: opacityIndex >= 0 ? opacityIndex : tldrawSupportedOpacities.length - 1,
386
- label: opacity.type === "mixed" ? "style-panel.mixed" : `opacity-style.${opacity.value}`,
387
- onValueChange: handleOpacityValueChange,
388
- steps: tldrawSupportedOpacities.length - 1,
389
- title: msg("style-panel.opacity"),
390
- onHistoryMark,
391
- ariaValueModifier: 25
392
- }
393
- );
409
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
410
+ showUiLabels && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StylePanelSubheading, { children: msg("style-panel.opacity") }),
411
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
412
+ import_TldrawUiSlider.TldrawUiSlider,
413
+ {
414
+ "data-testid": "style.opacity",
415
+ value: opacityIndex >= 0 ? opacityIndex : tldrawSupportedOpacities.length - 1,
416
+ label: opacity.type === "mixed" ? "style-panel.mixed" : `opacity-style.${opacity.value}`,
417
+ onValueChange: handleOpacityValueChange,
418
+ steps: tldrawSupportedOpacities.length - 1,
419
+ title: msg("style-panel.opacity"),
420
+ onHistoryMark,
421
+ ariaValueModifier: 25
422
+ }
423
+ )
424
+ ] });
394
425
  }
395
426
  //# sourceMappingURL=DefaultStylePanelContent.js.map