5601d0ee22
This PR creates a new "text align" property for text shapes. Its default is left align. This means that text shapes now have their own alignment prop, separate from the vertical / horizontal alignment used in labels. The style panel for text has no visual change: <img width="400" alt="image" src="https://github.com/tldraw/tldraw/assets/23072548/aac80d2a-a069-4388-870b-1e0917d88eda"> The style panel for labels has consistent icons for label position: <img width="487" alt="image" src="https://github.com/tldraw/tldraw/assets/23072548/0adf7f0e-8446-4d3e-b9ea-a61e43035207"> Both may be configured separately. <img width="458" alt="image" src="https://github.com/tldraw/tldraw/assets/23072548/698dcfac-6eb2-4a8c-afb8-d1e5761019ef"> # Icon refresh This PR also removes many unused icons. It adds a special toggle icon for the context menu. <img width="571" alt="image" src="https://github.com/tldraw/tldraw/assets/23072548/489551e6-a370-4528-9ad4-8f93e119f26b"> <img width="492" alt="image" src="https://github.com/tldraw/tldraw/assets/23072548/cd3d77c7-8bae-4369-8b53-ca4685b2fd0e"> ### Change Type - [x] `sdk` — Changes the tldraw SDK - [x] `improvement` — Improving existing features ### Test Plan 1. Load files. 2. Paste excalidraw content. 3. Load v1 files. 4. Use the app as usual. - [x] Unit Tests ### Release Notes - Separates the text align property for text shapes and labels. --------- Co-authored-by: huppy-bot[bot] <128400622+huppy-bot[bot]@users.noreply.github.com>
219 lines
13 KiB
JavaScript
219 lines
13 KiB
JavaScript
// This file is automatically generated by scripts/refresh-assets.ts.
|
|
// Do not edit manually. Or do, I'm a comment, not a cop.
|
|
|
|
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
|
/// <reference path="./modules.d.ts" />
|
|
import { formatAssetUrl } from './utils.js'
|
|
|
|
/**
|
|
* @param {AssetUrlOptions} [opts]
|
|
* @public
|
|
*/
|
|
export function getAssetUrls(opts) {
|
|
return {
|
|
fonts: {
|
|
monospace: formatAssetUrl('./fonts/IBMPlexMono-Medium.woff2', opts),
|
|
sansSerif: formatAssetUrl('./fonts/IBMPlexSans-Medium.woff2', opts),
|
|
serif: formatAssetUrl('./fonts/IBMPlexSerif-Medium.woff2', opts),
|
|
draw: formatAssetUrl('./fonts/Shantell_Sans-Tldrawish.woff2', opts),
|
|
},
|
|
icons: {
|
|
'align-bottom': formatAssetUrl('./icons/icon/align-bottom.svg', opts),
|
|
'align-center-horizontal': formatAssetUrl('./icons/icon/align-center-horizontal.svg', opts),
|
|
'align-center-vertical': formatAssetUrl('./icons/icon/align-center-vertical.svg', opts),
|
|
'align-left': formatAssetUrl('./icons/icon/align-left.svg', opts),
|
|
'align-right': formatAssetUrl('./icons/icon/align-right.svg', opts),
|
|
'align-top': formatAssetUrl('./icons/icon/align-top.svg', opts),
|
|
'arrow-left': formatAssetUrl('./icons/icon/arrow-left.svg', opts),
|
|
'arrowhead-arrow': formatAssetUrl('./icons/icon/arrowhead-arrow.svg', opts),
|
|
'arrowhead-bar': formatAssetUrl('./icons/icon/arrowhead-bar.svg', opts),
|
|
'arrowhead-diamond': formatAssetUrl('./icons/icon/arrowhead-diamond.svg', opts),
|
|
'arrowhead-dot': formatAssetUrl('./icons/icon/arrowhead-dot.svg', opts),
|
|
'arrowhead-none': formatAssetUrl('./icons/icon/arrowhead-none.svg', opts),
|
|
'arrowhead-square': formatAssetUrl('./icons/icon/arrowhead-square.svg', opts),
|
|
'arrowhead-triangle-inverted': formatAssetUrl(
|
|
'./icons/icon/arrowhead-triangle-inverted.svg',
|
|
opts
|
|
),
|
|
'arrowhead-triangle': formatAssetUrl('./icons/icon/arrowhead-triangle.svg', opts),
|
|
blob: formatAssetUrl('./icons/icon/blob.svg', opts),
|
|
'bring-forward': formatAssetUrl('./icons/icon/bring-forward.svg', opts),
|
|
'bring-to-front': formatAssetUrl('./icons/icon/bring-to-front.svg', opts),
|
|
broken: formatAssetUrl('./icons/icon/broken.svg', opts),
|
|
'check-circle': formatAssetUrl('./icons/icon/check-circle.svg', opts),
|
|
check: formatAssetUrl('./icons/icon/check.svg', opts),
|
|
'chevron-down': formatAssetUrl('./icons/icon/chevron-down.svg', opts),
|
|
'chevron-left': formatAssetUrl('./icons/icon/chevron-left.svg', opts),
|
|
'chevron-right': formatAssetUrl('./icons/icon/chevron-right.svg', opts),
|
|
'chevron-up': formatAssetUrl('./icons/icon/chevron-up.svg', opts),
|
|
'chevrons-ne': formatAssetUrl('./icons/icon/chevrons-ne.svg', opts),
|
|
'chevrons-sw': formatAssetUrl('./icons/icon/chevrons-sw.svg', opts),
|
|
'clipboard-copied': formatAssetUrl('./icons/icon/clipboard-copied.svg', opts),
|
|
'clipboard-copy': formatAssetUrl('./icons/icon/clipboard-copy.svg', opts),
|
|
color: formatAssetUrl('./icons/icon/color.svg', opts),
|
|
'cross-2': formatAssetUrl('./icons/icon/cross-2.svg', opts),
|
|
'cross-circle': formatAssetUrl('./icons/icon/cross-circle.svg', opts),
|
|
'dash-dashed': formatAssetUrl('./icons/icon/dash-dashed.svg', opts),
|
|
'dash-dotted': formatAssetUrl('./icons/icon/dash-dotted.svg', opts),
|
|
'dash-draw': formatAssetUrl('./icons/icon/dash-draw.svg', opts),
|
|
'dash-solid': formatAssetUrl('./icons/icon/dash-solid.svg', opts),
|
|
disconnected: formatAssetUrl('./icons/icon/disconnected.svg', opts),
|
|
discord: formatAssetUrl('./icons/icon/discord.svg', opts),
|
|
'distribute-horizontal': formatAssetUrl('./icons/icon/distribute-horizontal.svg', opts),
|
|
'distribute-vertical': formatAssetUrl('./icons/icon/distribute-vertical.svg', opts),
|
|
dot: formatAssetUrl('./icons/icon/dot.svg', opts),
|
|
'dots-horizontal': formatAssetUrl('./icons/icon/dots-horizontal.svg', opts),
|
|
'dots-vertical': formatAssetUrl('./icons/icon/dots-vertical.svg', opts),
|
|
'drag-handle-dots': formatAssetUrl('./icons/icon/drag-handle-dots.svg', opts),
|
|
duplicate: formatAssetUrl('./icons/icon/duplicate.svg', opts),
|
|
edit: formatAssetUrl('./icons/icon/edit.svg', opts),
|
|
'external-link': formatAssetUrl('./icons/icon/external-link.svg', opts),
|
|
'fill-none': formatAssetUrl('./icons/icon/fill-none.svg', opts),
|
|
'fill-pattern': formatAssetUrl('./icons/icon/fill-pattern.svg', opts),
|
|
'fill-semi': formatAssetUrl('./icons/icon/fill-semi.svg', opts),
|
|
'fill-solid': formatAssetUrl('./icons/icon/fill-solid.svg', opts),
|
|
follow: formatAssetUrl('./icons/icon/follow.svg', opts),
|
|
following: formatAssetUrl('./icons/icon/following.svg', opts),
|
|
'font-draw': formatAssetUrl('./icons/icon/font-draw.svg', opts),
|
|
'font-mono': formatAssetUrl('./icons/icon/font-mono.svg', opts),
|
|
'font-sans': formatAssetUrl('./icons/icon/font-sans.svg', opts),
|
|
'font-serif': formatAssetUrl('./icons/icon/font-serif.svg', opts),
|
|
'geo-arrow-down': formatAssetUrl('./icons/icon/geo-arrow-down.svg', opts),
|
|
'geo-arrow-left': formatAssetUrl('./icons/icon/geo-arrow-left.svg', opts),
|
|
'geo-arrow-right': formatAssetUrl('./icons/icon/geo-arrow-right.svg', opts),
|
|
'geo-arrow-up': formatAssetUrl('./icons/icon/geo-arrow-up.svg', opts),
|
|
'geo-check-box': formatAssetUrl('./icons/icon/geo-check-box.svg', opts),
|
|
'geo-cloud': formatAssetUrl('./icons/icon/geo-cloud.svg', opts),
|
|
'geo-diamond': formatAssetUrl('./icons/icon/geo-diamond.svg', opts),
|
|
'geo-ellipse': formatAssetUrl('./icons/icon/geo-ellipse.svg', opts),
|
|
'geo-hexagon': formatAssetUrl('./icons/icon/geo-hexagon.svg', opts),
|
|
'geo-octagon': formatAssetUrl('./icons/icon/geo-octagon.svg', opts),
|
|
'geo-oval': formatAssetUrl('./icons/icon/geo-oval.svg', opts),
|
|
'geo-pentagon': formatAssetUrl('./icons/icon/geo-pentagon.svg', opts),
|
|
'geo-rectangle': formatAssetUrl('./icons/icon/geo-rectangle.svg', opts),
|
|
'geo-rhombus-2': formatAssetUrl('./icons/icon/geo-rhombus-2.svg', opts),
|
|
'geo-rhombus': formatAssetUrl('./icons/icon/geo-rhombus.svg', opts),
|
|
'geo-star': formatAssetUrl('./icons/icon/geo-star.svg', opts),
|
|
'geo-trapezoid': formatAssetUrl('./icons/icon/geo-trapezoid.svg', opts),
|
|
'geo-triangle': formatAssetUrl('./icons/icon/geo-triangle.svg', opts),
|
|
'geo-x-box': formatAssetUrl('./icons/icon/geo-x-box.svg', opts),
|
|
github: formatAssetUrl('./icons/icon/github.svg', opts),
|
|
group: formatAssetUrl('./icons/icon/group.svg', opts),
|
|
'horizontal-align-end': formatAssetUrl('./icons/icon/horizontal-align-end.svg', opts),
|
|
'horizontal-align-middle': formatAssetUrl('./icons/icon/horizontal-align-middle.svg', opts),
|
|
'horizontal-align-start': formatAssetUrl('./icons/icon/horizontal-align-start.svg', opts),
|
|
'info-circle': formatAssetUrl('./icons/icon/info-circle.svg', opts),
|
|
leading: formatAssetUrl('./icons/icon/leading.svg', opts),
|
|
link: formatAssetUrl('./icons/icon/link.svg', opts),
|
|
menu: formatAssetUrl('./icons/icon/menu.svg', opts),
|
|
minus: formatAssetUrl('./icons/icon/minus.svg', opts),
|
|
mixed: formatAssetUrl('./icons/icon/mixed.svg', opts),
|
|
pack: formatAssetUrl('./icons/icon/pack.svg', opts),
|
|
plus: formatAssetUrl('./icons/icon/plus.svg', opts),
|
|
'question-mark-circle': formatAssetUrl('./icons/icon/question-mark-circle.svg', opts),
|
|
'question-mark': formatAssetUrl('./icons/icon/question-mark.svg', opts),
|
|
redo: formatAssetUrl('./icons/icon/redo.svg', opts),
|
|
'reset-zoom': formatAssetUrl('./icons/icon/reset-zoom.svg', opts),
|
|
'rotate-ccw': formatAssetUrl('./icons/icon/rotate-ccw.svg', opts),
|
|
'rotate-cw': formatAssetUrl('./icons/icon/rotate-cw.svg', opts),
|
|
'send-backward': formatAssetUrl('./icons/icon/send-backward.svg', opts),
|
|
'send-to-back': formatAssetUrl('./icons/icon/send-to-back.svg', opts),
|
|
'size-extra-large': formatAssetUrl('./icons/icon/size-extra-large.svg', opts),
|
|
'size-large': formatAssetUrl('./icons/icon/size-large.svg', opts),
|
|
'size-medium': formatAssetUrl('./icons/icon/size-medium.svg', opts),
|
|
'size-small': formatAssetUrl('./icons/icon/size-small.svg', opts),
|
|
'stack-horizontal': formatAssetUrl('./icons/icon/stack-horizontal.svg', opts),
|
|
'stack-vertical': formatAssetUrl('./icons/icon/stack-vertical.svg', opts),
|
|
'stretch-horizontal': formatAssetUrl('./icons/icon/stretch-horizontal.svg', opts),
|
|
'stretch-vertical': formatAssetUrl('./icons/icon/stretch-vertical.svg', opts),
|
|
'text-align-center': formatAssetUrl('./icons/icon/text-align-center.svg', opts),
|
|
'text-align-left': formatAssetUrl('./icons/icon/text-align-left.svg', opts),
|
|
'text-align-right': formatAssetUrl('./icons/icon/text-align-right.svg', opts),
|
|
'toggle-off': formatAssetUrl('./icons/icon/toggle-off.svg', opts),
|
|
'toggle-on': formatAssetUrl('./icons/icon/toggle-on.svg', opts),
|
|
'tool-arrow': formatAssetUrl('./icons/icon/tool-arrow.svg', opts),
|
|
'tool-eraser': formatAssetUrl('./icons/icon/tool-eraser.svg', opts),
|
|
'tool-frame': formatAssetUrl('./icons/icon/tool-frame.svg', opts),
|
|
'tool-hand': formatAssetUrl('./icons/icon/tool-hand.svg', opts),
|
|
'tool-highlight': formatAssetUrl('./icons/icon/tool-highlight.svg', opts),
|
|
'tool-laser': formatAssetUrl('./icons/icon/tool-laser.svg', opts),
|
|
'tool-line': formatAssetUrl('./icons/icon/tool-line.svg', opts),
|
|
'tool-media': formatAssetUrl('./icons/icon/tool-media.svg', opts),
|
|
'tool-note': formatAssetUrl('./icons/icon/tool-note.svg', opts),
|
|
'tool-pencil': formatAssetUrl('./icons/icon/tool-pencil.svg', opts),
|
|
'tool-pointer': formatAssetUrl('./icons/icon/tool-pointer.svg', opts),
|
|
'tool-screenshot': formatAssetUrl('./icons/icon/tool-screenshot.svg', opts),
|
|
'tool-text': formatAssetUrl('./icons/icon/tool-text.svg', opts),
|
|
trash: formatAssetUrl('./icons/icon/trash.svg', opts),
|
|
twitter: formatAssetUrl('./icons/icon/twitter.svg', opts),
|
|
undo: formatAssetUrl('./icons/icon/undo.svg', opts),
|
|
ungroup: formatAssetUrl('./icons/icon/ungroup.svg', opts),
|
|
'vertical-align-end': formatAssetUrl('./icons/icon/vertical-align-end.svg', opts),
|
|
'vertical-align-middle': formatAssetUrl('./icons/icon/vertical-align-middle.svg', opts),
|
|
'vertical-align-start': formatAssetUrl('./icons/icon/vertical-align-start.svg', opts),
|
|
'warning-triangle': formatAssetUrl('./icons/icon/warning-triangle.svg', opts),
|
|
'zoom-in': formatAssetUrl('./icons/icon/zoom-in.svg', opts),
|
|
'zoom-out': formatAssetUrl('./icons/icon/zoom-out.svg', opts),
|
|
},
|
|
translations: {
|
|
ar: formatAssetUrl('./translations/ar.json', opts),
|
|
ca: formatAssetUrl('./translations/ca.json', opts),
|
|
cs: formatAssetUrl('./translations/cs.json', opts),
|
|
da: formatAssetUrl('./translations/da.json', opts),
|
|
de: formatAssetUrl('./translations/de.json', opts),
|
|
en: formatAssetUrl('./translations/en.json', opts),
|
|
es: formatAssetUrl('./translations/es.json', opts),
|
|
fa: formatAssetUrl('./translations/fa.json', opts),
|
|
fi: formatAssetUrl('./translations/fi.json', opts),
|
|
fr: formatAssetUrl('./translations/fr.json', opts),
|
|
gl: formatAssetUrl('./translations/gl.json', opts),
|
|
he: formatAssetUrl('./translations/he.json', opts),
|
|
'hi-in': formatAssetUrl('./translations/hi-in.json', opts),
|
|
hr: formatAssetUrl('./translations/hr.json', opts),
|
|
hu: formatAssetUrl('./translations/hu.json', opts),
|
|
it: formatAssetUrl('./translations/it.json', opts),
|
|
ja: formatAssetUrl('./translations/ja.json', opts),
|
|
'ko-kr': formatAssetUrl('./translations/ko-kr.json', opts),
|
|
ku: formatAssetUrl('./translations/ku.json', opts),
|
|
languages: formatAssetUrl('./translations/languages.json', opts),
|
|
main: formatAssetUrl('./translations/main.json', opts),
|
|
my: formatAssetUrl('./translations/my.json', opts),
|
|
ne: formatAssetUrl('./translations/ne.json', opts),
|
|
no: formatAssetUrl('./translations/no.json', opts),
|
|
pl: formatAssetUrl('./translations/pl.json', opts),
|
|
'pt-br': formatAssetUrl('./translations/pt-br.json', opts),
|
|
'pt-pt': formatAssetUrl('./translations/pt-pt.json', opts),
|
|
ro: formatAssetUrl('./translations/ro.json', opts),
|
|
ru: formatAssetUrl('./translations/ru.json', opts),
|
|
sl: formatAssetUrl('./translations/sl.json', opts),
|
|
sv: formatAssetUrl('./translations/sv.json', opts),
|
|
te: formatAssetUrl('./translations/te.json', opts),
|
|
th: formatAssetUrl('./translations/th.json', opts),
|
|
tr: formatAssetUrl('./translations/tr.json', opts),
|
|
uk: formatAssetUrl('./translations/uk.json', opts),
|
|
vi: formatAssetUrl('./translations/vi.json', opts),
|
|
'zh-cn': formatAssetUrl('./translations/zh-cn.json', opts),
|
|
'zh-tw': formatAssetUrl('./translations/zh-tw.json', opts),
|
|
},
|
|
embedIcons: {
|
|
codepen: formatAssetUrl('./embed-icons/codepen.png', opts),
|
|
codesandbox: formatAssetUrl('./embed-icons/codesandbox.png', opts),
|
|
desmos: formatAssetUrl('./embed-icons/desmos.png', opts),
|
|
excalidraw: formatAssetUrl('./embed-icons/excalidraw.png', opts),
|
|
felt: formatAssetUrl('./embed-icons/felt.png', opts),
|
|
figma: formatAssetUrl('./embed-icons/figma.png', opts),
|
|
github_gist: formatAssetUrl('./embed-icons/github_gist.png', opts),
|
|
google_calendar: formatAssetUrl('./embed-icons/google_calendar.png', opts),
|
|
google_maps: formatAssetUrl('./embed-icons/google_maps.png', opts),
|
|
google_slides: formatAssetUrl('./embed-icons/google_slides.png', opts),
|
|
observable: formatAssetUrl('./embed-icons/observable.png', opts),
|
|
replit: formatAssetUrl('./embed-icons/replit.png', opts),
|
|
scratch: formatAssetUrl('./embed-icons/scratch.png', opts),
|
|
spotify: formatAssetUrl('./embed-icons/spotify.png', opts),
|
|
tldraw: formatAssetUrl('./embed-icons/tldraw.png', opts),
|
|
val_town: formatAssetUrl('./embed-icons/val_town.png', opts),
|
|
vimeo: formatAssetUrl('./embed-icons/vimeo.png', opts),
|
|
youtube: formatAssetUrl('./embed-icons/youtube.png', opts),
|
|
},
|
|
}
|
|
}
|