@joewinke/jatui 0.2.12 → 0.2.13
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.
- package/dist/actions/attention.js +21 -13
- package/dist/actions/collapse.js +15 -29
- package/dist/actions/floating.js +29 -37
- package/dist/actions/listNav.js +108 -137
- package/dist/actions/railNav.js +72 -89
- package/dist/actions/staggerEntrance.js +19 -23
- package/dist/actions/tooltip.js +63 -51
- package/dist/assets/sounds/error.js +1 -1
- package/dist/assets/sounds/notify.js +1 -1
- package/dist/assets/sounds/pop.js +1 -1
- package/dist/assets/sounds/send.js +1 -1
- package/dist/assets/sounds/success.js +1 -1
- package/dist/assets/sounds/toggle.js +1 -1
- package/dist/components/graph/theme.js +26 -36
- package/dist/components/markup.js +59 -62
- package/dist/components/session-nav/transcriptModel.js +49 -66
- package/dist/components/shell/shell.js +14 -15
- package/dist/components/table/flexRender.js +2 -2
- package/dist/data/emojis.js +4 -4
- package/dist/dnd/autoScroll.js +10 -12
- package/dist/dnd/createDndBoard.js +94 -185
- package/dist/dnd/draggable.js +15 -23
- package/dist/dnd/dropTarget.js +15 -29
- package/dist/dnd/types.d.ts +9 -0
- package/dist/dnd/types.js +2 -14
- package/dist/showcase/generative/intent.js +19 -21
- package/dist/showcase/generative/manifest.js +27 -80
- package/dist/showcase/scroll/scrollProgress.js +20 -22
- package/dist/showcase/scroll/scrollReveal.js +17 -20
- package/dist/stores/commandPalette.js +18 -46
- package/dist/stores/confirmDialog.js +9 -9
- package/dist/stores/inputDialog.js +9 -9
- package/dist/stores/toast.js +10 -33
- package/dist/transitions/glide.js +29 -25
- package/dist/types/booking.js +4 -4
- package/dist/types/comments.js +2 -2
- package/dist/types/messaging.js +3 -3
- package/dist/types/pipeline.js +2 -2
- package/dist/utils/currency.js +2 -4
- package/dist/utils/daisyuiColors.js +25 -27
- package/dist/utils/dateFormatters.js +44 -44
- package/dist/utils/googleMapsLoader.js +46 -100
- package/dist/utils/mentionParser.js +30 -30
- package/dist/utils/phone.js +21 -27
- package/dist/utils/phoneFormat.js +9 -9
- package/dist/utils/sound.js +27 -78
- package/dist/utils/splitText.js +15 -26
- package/dist/utils/taskUtils.js +1 -1
- package/dist/utils/themeWipe.js +27 -72
- package/dist/utils/viewTransition.js +6 -51
- package/package.json +7 -3
- package/dist/dnd/createDndBoard.test.d.ts +0 -1
- package/dist/dnd/createDndBoard.test.js +0 -261
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Source: https://github.com/kapishdima/soundcn/blob/main/registry/soundcn/sounds/notification-pop/notification-pop.ts
|
|
2
2
|
// License: CC0 — Kenney (kenney.nl/assets/interface-sounds)
|
|
3
3
|
// New message or notification
|
|
4
|
-
export
|
|
4
|
+
export const notifySound = "data:audio/mpeg;base64,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AMldGRsI+FZBESMjYR6KyFfsYw0FQuLPC/bV23T09PL4xGIw/j+NYaY3Ng8sjFjBBRdjEHcllPbDgIAgCYPgcLh91xP/////f93bR/RVA/4/+xAF+wQZ1zW9NNcyGMUpehjFrWurQh9ANxeFP4FAlBlBl3LuZ0zpyXJcl2XdcFkh6gSgTuv7Xsu67sZjMZpqamBoGg6Vc3bs+z9H89///0kuqrICAAy3dnptattrWnXtvQd2V3dev37k1Sxp2WFCgFMBog/HSTC4AYCY//tSxIcAB5RvJ6bPicFKEqg0VeIarBA8BoSBhV2///7/K5v6W09fr/9f+3//+v//Ufb/5pURkUbAAAGVVr2Stsh7O6k72q2WlZnWhV7fTmq9I3MUARgU2mabsYFBaG4kYU8IbEu3////W/t0XX/7f+yf8///b/unt4N/QihOArP+r2ofXvo+zJXqXRqsvSWkga16KVtoj+YcAh/KamMAECAMED9pcYDDHY////+jsvV66bJb//PSRetXVG//t1221aX4MR/9a8TKAE4ACAAEb///+1LEnQAKVJc3or9WASquY6UOF0D/z/3rcYz/JEieede1BI6QHLjDYrb0QNOSiMQw/j+OW5bluW77/w/T5SuG3LZ2zth673nxUPMDBU81hGuP5LLHiAEEf//6P//ySglAFA2YNgoDq9bf9Nf/wl2Mz2MUG//qq3+woKAsbMzMzf7MzMkKiqoKxGWx5hyQwFDGGJjXA8JRX0rhl/Ydpcg6VBV12c//pq6emappBaBUDKAmVZW1XY5LxIV4mcoocKKJhWEJiEYfEi7rwo//+9yZMP/7UsSsAEkVcx0ocFoBKy6jBS4LQC+IRAbwZUTqZFvw1rZEv+o8rgqHRLUeTq+DR6v/eCQKjQSyYbhlwzxqJxpRZZTs5RZRZZTtZZQYqI4qLNf6hbWKigtFhYVFYqKC3FfxUVFqhYXFaxUWb//7KxUUFosLCrMUbUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxMAACizHJOaHa8EwmSh0ceqiVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEzwNIdL8WRIYtwRQJVsDDDLhVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Source: https://github.com/kapishdima/soundcn/blob/main/registry/soundcn/sounds/click-soft/click-soft.ts
|
|
2
2
|
// License: CC0 — Kenney (kenney.nl/assets/interface-sounds)
|
|
3
3
|
// Subtle click or button tap
|
|
4
|
-
export
|
|
4
|
+
export const popSound = "data:audio/mpeg;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+1DAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAAAIAAAJxAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr//////////////////////////////////////////////////////////////////wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkBYYAAAAAAAACcU7MYgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tQxAAACghZUlTHgAGDlWufHzAAAVWgJg3EszX3mlF95pSk7enve+GBDEMNMg4R8BLACwAsA7BVjjOhDEMQxWKx5EcJwfB/KBiU8/wI7QH+BHaA/ynv6PB8/LgQEMgD78CHO/oGiAIBAQBAYFAA1hDi4z22DmJ7Et+PSEd1f8Y4PmLI5uDYKAWyCmBlSZJ3gAmD0RBEUDS/HKFzC5iZIr/5FTIvE0Yl3/8ipkXi8Yl0u/xEFQVER7/WCoiCoKiL/4VBURPOqgAQuacbblgZh//7UsQEg8aUBv9cMIAgAAA0gAAABIKqErhFDZUNQ7PRK4S8s8r1HiuGlHuSnenrcW9yvO/PcFflep5XqPKfrO9NTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Source: https://github.com/kapishdima/soundcn/blob/main/registry/soundcn/sounds/switch-on/switch-on.ts
|
|
2
2
|
// License: CC0 — Kenney (kenney.nl/assets/interface-sounds)
|
|
3
3
|
// Message sent or form submitted
|
|
4
|
-
export
|
|
4
|
+
export const sendSound = "data:audio/mpeg;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+1DAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAAA8AAA0OAB8fHx8fHy8vLy8vLy8/Pz8/Pz9PT09PT09PX19fX19fX29vb29vb39/f39/f3+Pj4+Pj4+Pn5+fn5+fr6+vr6+vr7+/v7+/v7/Pz8/Pz8/f39/f39/f7+/v7+/v7////////wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkAoEAAAAAAAANDpLgd3YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//tQxAAASOVHC8CEc8F0saIQERvIkKC7hSJJSAACwAwDGPO9yn+QP+D82SlLMfH4Po2SyABa/mN/8YOSyH6cREd/iFx3c6f/wpuBmaFzugt5BYfiAEAQdBDy4EcDmCCAEMlICkvRsyANgfH0S+wHvkQRSGjRRU+NG+gDAqHcGcxaiPwTWoM2UboHwRrIFEsY/01UT7naxA6Ut/LvZhEjziiaH5fOKDr5U83f3D/95mqoCRz////lBcpVCAKUdm+0aBBRACCn3taxl/Qt5TxEQ//7UsQLAAzY0yeivG2BcxfmJp6wACNp14h27GlqxXacNNmgqVXs57gZy9v5U+Qcy2erG/uooQrxCp0JcMgAeHi2AYIW4QZs4UKgYGeHHHLDi9JBQmOKyHnBPY3kwuQOe9itxD85pYaqqmUAGAHILAjL7gQUPUqPYHAv5c1MdERQnkwD46oHZK431qnz4+QgmtwaFbigkG6TJenzy6K+evY/64Pv7Zpr3U9RXFMrQOj1F1vOSv0kMmzGt6Wrd5ynkGbJJbLW7HWhHYhSEQAAAAAX//tSxAcADDmTbbmDgBF2orB3hoABl5J64cdRy79ukpId13G3nYUucw+dyZ6jRR6+/GhpMz5ivMGjOc3/vJiODtwTE//+JYTigWBIf///ID5NyFRu////uNGLDdD7f////7Me5McMeYTe222222tAEt6xmNS3GOHLDaRh4LRCFnFVsPSg+c1Y4lSDr9mmv2tv1/jqv64qDpU2IZf4aVqemlGc1a5q4b4Z1q6iv1RuY4ua+WklEdjFhdBcRQ2b/FW/8jhX//xYKszNuJmHKNAAFsL/+1LEBQALfJtt5hhvAXmnrbzDCeDRALwdA2gGgOhxLqLSCmMhljYSxIDcpYVUZVTEbKnWpWS+ae5kh9hPCeGv76GSMQCHjNaGoUARwJm1pYJzRMxlzA+wZJtLNKGxI8wuDYyne+4t/f131yx2tAAyHJXOAqDIjCop4XTCJAgIBPL6XnkwlENkmd5QI+reiZjkebaRUfsaR7qxnVkk6oDHBiQyjJ076OVA47aq4bzkShGdfRC93l+7nKm1UVkbVtB6n+j6uup4mWZmVC+gGvgv4v/7UsQFgAtZKW3HmFFRfSSsuPMN4ph3ok7ELqlEhOuD7jPVyqIz1gLucEBgi92Qk3Xo/f6k+Mv6djt/GRmRcQddQnyOxDVaXvq1tlI7aOX7K9GR386M9Xeb0ZphT87i6JNQaq+gIiXh1Qh6AC/06Q4gyFkEfnum0uh0M0jPQhiZ9SGlKN5J8aDSHgmkBm8/zEl163KFQHz4/Wyv0/tBog7lTv0LkzMUNrvYXluasLUqpfLJ/+///G2/CunqST5vOl3evSkJmYh2RCSZAKcmSYWC//tSxAaAC51laeYMU9GDKGv4ww5boLVgfujce1K9SPBtg7zXzKT5fBFokGRQH6CjJjPjtXZxky+3ndL9pKtJJ5d/qz4x/M1Jp9IjytrQ/MUwlrFL/ZjNfsR02+jL/K9NalGv69IM8REKhhMAPzPQdQ+LZqYEMBgJiAT22Q56dOzE5Mv+tSwDnrel5x9ZmLM5m8wCR/6qLSafSrAgrIHvFr/c7QT/rPKjQ6Znicsj//3hLCJv73ZDPrsONx//82GI/038q2RdBld4hzIWgBvgjbX/+1LEBYALKT1ZwTBlkW2k6fyDCxi9WHwxHkniDcuk/tL/ydQ+CuLZfXo4EJZstnub0IVnZs3DJu8EhA4EMvaJY76zKYIzxCfahu3eLjN//4puWlG/p/Sz6xN+3/hxnW+IhCbSaq72SIiCAAFOKmmRaerPAMHTWHfmmGHGniySg1vHdK8XP5xtdntWkJ88vF5KRKTZ04MYAwUDBgEOTml/ujrbBskKT8EcMKBgiv2V4Z/66AtH+jifoOXyn9R0cnm6zN5jNtEAGzmvleTBVTxIwP/7UsQJAAqpJ1HkGLxBUCTpPFQKOKBYReJEQWa1TkcfNSdsWJNL+f/RVafuGiVduKrwygUYBwpB9jc743dJvpJMtyK4TFRS/ckw79TPytv/ITzILekSb/rAAB4u2MwCAAHP+7RWJAzB9nICMeULCHWPFf15NsbF/vX9sNd/smBQqXav5YGwIHj6GiKeScXRXjLS9RogjCmKIVynKAvuVFY/6o/X/nb+DL5UU/oqAA6MqnUXUAAfvydlIVPnGjFmo+Xpy++m3vEBAWT2v1IZ0o7S//tSxBICCjFBSeCkrsEuJOg8dItQzOfjRMYHA+LhwFFRYhTt2UoxTCBoeVOUWOqbZzi//sn/qR19AMKv/yjDe//+gJdQBAABo//57Dap4caRMM0Eq+ccxZ1T/5q7yqldTLXX/jYwTAgzZCYyeJ5/1mnqyKPYRkCOQqDCjClGqdTg1an+5v/md/RQz+VT6QAALcwIAAABnlWSTVJ+o/kXiBX870qieRr/6/0Y+jB8kQwtEnf7gWNR0DqAckocB6PEPRR/y2SBLQ/PNE5H9Yy5LCX/+1LEIYJJyOU3oAVqQTedZfAEPfAvB39FBQnyrZWY+kCokhUILEjpO6GhCCR3k0damrX7d/4dC9+PEaXEBxAev/UxO1KKQaLGujoc0tdiz//9yJKyucmI71Q4R2/DW9jSKr/w3iPVsS9p6XbvEtUAAOECqdlVrSx/CyP+gaHzJL/5zzo5I+iYuOI//NH54rbEQgfqFsp5Jvrif//6y10O1CWcxH0NyUuS5HM5f1/etVHuZcnpLF/o6f/9G7UDFiAAIHZD/CYGM9DAKMOOO3N+rf/7UsQxAgnE6SkANe+BMZyk6AK96P6q3UqotEjf/+UfitJYWCMcDOpYm26N///BX3FqiN6GP2K0CqNjOf/+MPYEOfkpU/dwh/96O/9GhQBCIAAAU9AqjecRGprt/5/lC8KkywRJ/4XjeUA6znKUuyCSOvnf//7yLlLqhX5YG2rXCUqtff//Evg77civl2E38yuKy8zvd+jJMhevpkq2ugu6Xot60vMkpsSrIo/KiKBADYIUdwHYUjFFiv+bMsYUfB5EipyiYkDiA1vhYRROupPl//tSxEGCSUTlIOAd8UEtsGNIBpY4t/VGWf6M+szUy/qot8zY5/+NVQAAAACwB8AA6r/ZFtWlSSfUpfTc1ZtTrRb/OAQwxTIQE2JIsfCLI3syC6I7aIHr/kmFeqK5fmpSRWWh7f262ez00bQ/66DPz8Qbgl9nZJs/ZpzStqKt/qMAV4eQxQATG6KSS6KJUe9LL1IomGoxHiZP+Zoo51qjdBLmE/02M2Y65UgpGefnmOtWfWhk1uZnuYfolCk31kLmRGzVIDv92f2Up7NVmyG12VX/+1LEVINJOYMbwDSvwUIwYgABNmF+gOYaENBu00602mb0PGSjhJ6CwsHqi6naWQXq1HFLilUdSVVzFS4sjIYWTaK0OKuWcnUg07VKx35fhN41OorADh8qLpqpyJnN0ZDOH8SBgkAiD+IOA3+B4lQqt+pBBT8xvxOKH+OGPFR8cEw4PiU5UH8jJGcWEm4dEBrQuDDRRCfw6/7NANUAIAf////fiJchEyQRMKJGTJmmZi/SOjiGoKZSGkk3z7MYs1AvGbfzUzRNuVln/VLrVn5A2v/7UsRlA0nRhxIgQLNBFzDiAACWYNtSl3kuS7KFUiw/vtDiUY4kni7Gdxq0OfJMqsnE5/+c+DyOf/9kYktRuQCIgIgF4Snyl18xtDf1+n+a/zGm//zGQBjh1ppvwrNRChX4mGojCT/sal1Y39U19SjNAI1UvnrGNShMZf/6wU6quoCgEdqsYUSwUkxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//tSxHiAS9GJCqC1PJEssKA4UI/Jqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Source: https://github.com/kapishdima/soundcn/blob/main/registry/soundcn/sounds/success-chime/success-chime.ts
|
|
2
2
|
// License: CC0 — Kenney (kenney.nl/assets/interface-sounds)
|
|
3
3
|
// Task completed or action succeeded
|
|
4
|
-
export
|
|
4
|
+
export const successSound = "data:audio/mpeg;base64,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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Source: https://github.com/kapishdima/soundcn/blob/main/registry/soundcn/sounds/toggle-001/toggle-001.ts
|
|
2
2
|
// License: CC0 — Kenney (kenney.nl/assets/interface-sounds)
|
|
3
3
|
// Toggle switch or checkbox state change
|
|
4
|
-
export
|
|
4
|
+
export const toggleSound = "data:audio/mpeg;base64,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";
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { getDaisyUIColor, watchThemeChanges } from '../../utils/daisyuiColors.js';
|
|
9
9
|
/** All xyflow CSS vars we override, plus the fallback xyflow var they replace. */
|
|
10
|
-
|
|
10
|
+
const THEME_MAP = [
|
|
11
11
|
// Edges
|
|
12
12
|
['--xy-edge-stroke', 'var(--color-base-content, #b1b1b7)'],
|
|
13
13
|
['--xy-edge-stroke-selected', 'var(--color-primary, #555)'],
|
|
@@ -82,49 +82,39 @@ export function getStatusColor(status) {
|
|
|
82
82
|
* Safe to call multiple times — just re-sets the vars.
|
|
83
83
|
*/
|
|
84
84
|
export function applyXyflowTheme(el) {
|
|
85
|
-
for (
|
|
86
|
-
var prop = THEME_MAP_1[_i][0];
|
|
85
|
+
for (const [prop] of THEME_MAP) {
|
|
87
86
|
// We set the vars as CSS custom properties on the element itself.
|
|
88
87
|
// xyflow reads them from .svelte-flow context, so setting on the wrapper is correct.
|
|
89
|
-
|
|
88
|
+
const cssVarName = prop.replace('--xy-', '--xy-'); // identity — keep readable
|
|
90
89
|
// Read the DaisyUI value dynamically then set
|
|
91
|
-
|
|
90
|
+
const mappedValue = resolveThemeValue(prop);
|
|
92
91
|
el.style.setProperty(cssVarName, mappedValue);
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
94
|
function resolveThemeValue(prop) {
|
|
96
|
-
var _a, _b;
|
|
97
95
|
// Map the xyflow prop name to the DaisyUI color resolution
|
|
98
|
-
|
|
99
|
-
'--xy-edge-stroke':
|
|
100
|
-
'--xy-edge-stroke-selected':
|
|
101
|
-
'--xy-connectionline-stroke':
|
|
102
|
-
'--xy-background-color':
|
|
103
|
-
'--xy-background-pattern-dots-color':
|
|
104
|
-
'--xy-background-pattern-lines-color':
|
|
105
|
-
'--xy-background-pattern-cross-color':
|
|
106
|
-
'--xy-node-color':
|
|
107
|
-
'--xy-node-border':
|
|
108
|
-
'--xy-node-border-selected':
|
|
109
|
-
'--xy-node-background-color':
|
|
110
|
-
'--xy-handle-background-color':
|
|
111
|
-
'--xy-handle-border-color':
|
|
112
|
-
'--xy-minimap-background-color':
|
|
113
|
-
'--xy-minimap-mask-background-color':
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
'--xy-
|
|
117
|
-
'--xy-
|
|
118
|
-
return "color-mix(in oklch, ".concat(getDaisyUIColor('primary'), " 10%, transparent)");
|
|
119
|
-
},
|
|
120
|
-
'--xy-selection-border': function () {
|
|
121
|
-
return "1px dotted color-mix(in oklch, ".concat(getDaisyUIColor('primary'), " 50%, transparent)");
|
|
122
|
-
},
|
|
123
|
-
'--xy-attribution-background-color': function () {
|
|
124
|
-
return "color-mix(in oklch, ".concat(getDaisyUIColor('base-100'), " 80%, transparent)");
|
|
125
|
-
},
|
|
96
|
+
const propToColor = {
|
|
97
|
+
'--xy-edge-stroke': () => getDaisyUIColor('base-content'),
|
|
98
|
+
'--xy-edge-stroke-selected': () => getDaisyUIColor('primary'),
|
|
99
|
+
'--xy-connectionline-stroke': () => getDaisyUIColor('base-content'),
|
|
100
|
+
'--xy-background-color': () => getDaisyUIColor('base-100'),
|
|
101
|
+
'--xy-background-pattern-dots-color': () => getDaisyUIColor('base-300'),
|
|
102
|
+
'--xy-background-pattern-lines-color': () => getDaisyUIColor('base-200'),
|
|
103
|
+
'--xy-background-pattern-cross-color': () => getDaisyUIColor('base-300'),
|
|
104
|
+
'--xy-node-color': () => getDaisyUIColor('base-content'),
|
|
105
|
+
'--xy-node-border': () => `1px solid ${getDaisyUIColor('base-300')}`,
|
|
106
|
+
'--xy-node-border-selected': () => `1px solid ${getDaisyUIColor('primary')}`,
|
|
107
|
+
'--xy-node-background-color': () => getDaisyUIColor('base-200'),
|
|
108
|
+
'--xy-handle-background-color': () => getDaisyUIColor('base-content'),
|
|
109
|
+
'--xy-handle-border-color': () => getDaisyUIColor('base-100'),
|
|
110
|
+
'--xy-minimap-background-color': () => getDaisyUIColor('base-100'),
|
|
111
|
+
'--xy-minimap-mask-background-color': () => `color-mix(in oklch, ${getDaisyUIColor('base-200')} 60%, transparent)`,
|
|
112
|
+
'--xy-minimap-node-background-color': () => getDaisyUIColor('base-200'),
|
|
113
|
+
'--xy-selection-background-color': () => `color-mix(in oklch, ${getDaisyUIColor('primary')} 10%, transparent)`,
|
|
114
|
+
'--xy-selection-border': () => `1px dotted color-mix(in oklch, ${getDaisyUIColor('primary')} 50%, transparent)`,
|
|
115
|
+
'--xy-attribution-background-color': () => `color-mix(in oklch, ${getDaisyUIColor('base-100')} 80%, transparent)`,
|
|
126
116
|
};
|
|
127
|
-
return
|
|
117
|
+
return propToColor[prop]?.() ?? '';
|
|
128
118
|
}
|
|
129
119
|
/**
|
|
130
120
|
* Setup watcher: re-applies theme whenever DaisyUI theme changes.
|
|
@@ -132,5 +122,5 @@ function resolveThemeValue(prop) {
|
|
|
132
122
|
*/
|
|
133
123
|
export function watchAndApplyTheme(el) {
|
|
134
124
|
applyXyflowTheme(el);
|
|
135
|
-
return watchThemeChanges(
|
|
125
|
+
return watchThemeChanges(() => applyXyflowTheme(el));
|
|
136
126
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Markup drawing primitives for construction drawing redlining
|
|
2
2
|
// Adapted from JAT feedback annotation engine with cloud bubble tool added
|
|
3
|
-
export
|
|
3
|
+
export const MARKUP_COLORS = [
|
|
4
4
|
"#ef4444",
|
|
5
5
|
"#eab308",
|
|
6
6
|
"#22c55e",
|
|
@@ -8,13 +8,13 @@ export var MARKUP_COLORS = [
|
|
|
8
8
|
"#ffffff",
|
|
9
9
|
"#111827",
|
|
10
10
|
];
|
|
11
|
-
export
|
|
12
|
-
|
|
11
|
+
export const DEFAULT_STROKE_WIDTH = 3;
|
|
12
|
+
let _nextId = 1;
|
|
13
13
|
export function nextShapeId() {
|
|
14
14
|
return _nextId++;
|
|
15
15
|
}
|
|
16
16
|
function drawArrow(ctx, shape) {
|
|
17
|
-
|
|
17
|
+
const { start, end, color, strokeWidth } = shape;
|
|
18
18
|
ctx.strokeStyle = color;
|
|
19
19
|
ctx.lineWidth = strokeWidth;
|
|
20
20
|
ctx.lineCap = "round";
|
|
@@ -24,9 +24,9 @@ function drawArrow(ctx, shape) {
|
|
|
24
24
|
ctx.lineTo(end.x, end.y);
|
|
25
25
|
ctx.stroke();
|
|
26
26
|
// Arrowhead
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
const angle = Math.atan2(end.y - start.y, end.x - start.x);
|
|
28
|
+
const headLen = 14;
|
|
29
|
+
const headAngle = Math.PI / 7;
|
|
30
30
|
ctx.beginPath();
|
|
31
31
|
ctx.moveTo(end.x, end.y);
|
|
32
32
|
ctx.lineTo(end.x - headLen * Math.cos(angle - headAngle), end.y - headLen * Math.sin(angle - headAngle));
|
|
@@ -35,24 +35,24 @@ function drawArrow(ctx, shape) {
|
|
|
35
35
|
ctx.stroke();
|
|
36
36
|
}
|
|
37
37
|
function drawRectangle(ctx, shape) {
|
|
38
|
-
|
|
38
|
+
const { start, end, color, strokeWidth } = shape;
|
|
39
39
|
ctx.strokeStyle = color;
|
|
40
40
|
ctx.lineWidth = strokeWidth;
|
|
41
41
|
ctx.lineJoin = "round";
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
const x = Math.min(start.x, end.x);
|
|
43
|
+
const y = Math.min(start.y, end.y);
|
|
44
|
+
const w = Math.abs(end.x - start.x);
|
|
45
|
+
const h = Math.abs(end.y - start.y);
|
|
46
46
|
ctx.strokeRect(x, y, w, h);
|
|
47
47
|
}
|
|
48
48
|
function drawEllipse(ctx, shape) {
|
|
49
|
-
|
|
49
|
+
const { start, end, color, strokeWidth } = shape;
|
|
50
50
|
ctx.strokeStyle = color;
|
|
51
51
|
ctx.lineWidth = strokeWidth;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
const cx = (start.x + end.x) / 2;
|
|
53
|
+
const cy = (start.y + end.y) / 2;
|
|
54
|
+
const rx = Math.abs(end.x - start.x) / 2;
|
|
55
|
+
const ry = Math.abs(end.y - start.y) / 2;
|
|
56
56
|
if (rx < 1 || ry < 1)
|
|
57
57
|
return;
|
|
58
58
|
ctx.beginPath();
|
|
@@ -64,53 +64,51 @@ function drawEllipse(ctx, shape) {
|
|
|
64
64
|
* Standard construction markup tool for highlighting areas of change.
|
|
65
65
|
*/
|
|
66
66
|
function drawCloud(ctx, shape) {
|
|
67
|
-
|
|
67
|
+
const { start, end, color, strokeWidth } = shape;
|
|
68
68
|
ctx.strokeStyle = color;
|
|
69
69
|
ctx.lineWidth = strokeWidth;
|
|
70
70
|
ctx.lineCap = "round";
|
|
71
71
|
ctx.lineJoin = "round";
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
const x = Math.min(start.x, end.x);
|
|
73
|
+
const y = Math.min(start.y, end.y);
|
|
74
|
+
const w = Math.abs(end.x - start.x);
|
|
75
|
+
const h = Math.abs(end.y - start.y);
|
|
76
76
|
if (w < 4 || h < 4)
|
|
77
77
|
return;
|
|
78
78
|
// Generate perimeter points, then draw arcs between them
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
const arcSize = Math.min(w, h, 30); // arc diameter adapts to shape size
|
|
80
|
+
const perimeter = 2 * (w + h);
|
|
81
|
+
const numArcs = Math.max(8, Math.round(perimeter / arcSize));
|
|
82
82
|
// Collect points along the rectangle perimeter
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
const points = [];
|
|
84
|
+
const segLengths = [w, h, w, h];
|
|
85
|
+
const segDirs = [
|
|
86
86
|
{ dx: 1, dy: 0 },
|
|
87
87
|
{ dx: 0, dy: 1 },
|
|
88
88
|
{ dx: -1, dy: 0 },
|
|
89
89
|
{ dx: 0, dy: -1 },
|
|
90
90
|
];
|
|
91
|
-
|
|
92
|
-
{ x
|
|
93
|
-
{ x: x + w, y
|
|
91
|
+
const segStarts = [
|
|
92
|
+
{ x, y },
|
|
93
|
+
{ x: x + w, y },
|
|
94
94
|
{ x: x + w, y: y + h },
|
|
95
|
-
{ x
|
|
95
|
+
{ x, y: y + h },
|
|
96
96
|
];
|
|
97
|
-
|
|
98
|
-
for (
|
|
99
|
-
var l = segLengths_1[_i];
|
|
97
|
+
let totalLen = 0;
|
|
98
|
+
for (const l of segLengths)
|
|
100
99
|
totalLen += l;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
var target = i * step;
|
|
100
|
+
const step = totalLen / numArcs;
|
|
101
|
+
let dist = 0;
|
|
102
|
+
let segIdx = 0;
|
|
103
|
+
let segDist = 0;
|
|
104
|
+
for (let i = 0; i < numArcs; i++) {
|
|
105
|
+
const target = i * step;
|
|
108
106
|
while (dist + segLengths[segIdx] - segDist < target && segIdx < 3) {
|
|
109
107
|
dist += segLengths[segIdx] - segDist;
|
|
110
108
|
segIdx++;
|
|
111
109
|
segDist = 0;
|
|
112
110
|
}
|
|
113
|
-
|
|
111
|
+
const remaining = target - dist;
|
|
114
112
|
points.push({
|
|
115
113
|
x: segStarts[segIdx].x + segDirs[segIdx].dx * (segDist + remaining),
|
|
116
114
|
y: segStarts[segIdx].y + segDirs[segIdx].dy * (segDist + remaining),
|
|
@@ -118,20 +116,20 @@ function drawCloud(ctx, shape) {
|
|
|
118
116
|
}
|
|
119
117
|
// Draw arcs between consecutive points
|
|
120
118
|
ctx.beginPath();
|
|
121
|
-
for (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
119
|
+
for (let i = 0; i < points.length; i++) {
|
|
120
|
+
const p1 = points[i];
|
|
121
|
+
const p2 = points[(i + 1) % points.length];
|
|
122
|
+
const mx = (p1.x + p2.x) / 2;
|
|
123
|
+
const my = (p1.y + p2.y) / 2;
|
|
126
124
|
// Bulge outward from center of rectangle
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
125
|
+
const cx = x + w / 2;
|
|
126
|
+
const cy = y + h / 2;
|
|
127
|
+
const dx = mx - cx;
|
|
128
|
+
const dy = my - cy;
|
|
129
|
+
const len = Math.sqrt(dx * dx + dy * dy) || 1;
|
|
130
|
+
const bulge = arcSize * 0.35;
|
|
131
|
+
const ctrlX = mx + (dx / len) * bulge;
|
|
132
|
+
const ctrlY = my + (dy / len) * bulge;
|
|
135
133
|
if (i === 0) {
|
|
136
134
|
ctx.moveTo(p1.x, p1.y);
|
|
137
135
|
}
|
|
@@ -141,7 +139,7 @@ function drawCloud(ctx, shape) {
|
|
|
141
139
|
ctx.stroke();
|
|
142
140
|
}
|
|
143
141
|
function drawFreehand(ctx, shape) {
|
|
144
|
-
|
|
142
|
+
const { points, color, strokeWidth } = shape;
|
|
145
143
|
if (points.length < 2)
|
|
146
144
|
return;
|
|
147
145
|
ctx.strokeStyle = color;
|
|
@@ -150,16 +148,16 @@ function drawFreehand(ctx, shape) {
|
|
|
150
148
|
ctx.lineJoin = "round";
|
|
151
149
|
ctx.beginPath();
|
|
152
150
|
ctx.moveTo(points[0].x, points[0].y);
|
|
153
|
-
for (
|
|
151
|
+
for (let i = 1; i < points.length; i++) {
|
|
154
152
|
ctx.lineTo(points[i].x, points[i].y);
|
|
155
153
|
}
|
|
156
154
|
ctx.stroke();
|
|
157
155
|
}
|
|
158
156
|
function drawText(ctx, shape) {
|
|
159
|
-
|
|
157
|
+
const { position, content, color, fontSize } = shape;
|
|
160
158
|
if (!content)
|
|
161
159
|
return;
|
|
162
|
-
ctx.font =
|
|
160
|
+
ctx.font = `bold ${fontSize}px sans-serif`;
|
|
163
161
|
ctx.textBaseline = "top";
|
|
164
162
|
// Black outline for contrast on construction drawings
|
|
165
163
|
ctx.strokeStyle = "#000000";
|
|
@@ -194,8 +192,7 @@ export function renderShape(ctx, shape) {
|
|
|
194
192
|
ctx.restore();
|
|
195
193
|
}
|
|
196
194
|
export function renderAllShapes(ctx, shapes) {
|
|
197
|
-
for (
|
|
198
|
-
var shape = shapes_1[_i];
|
|
195
|
+
for (const shape of shapes) {
|
|
199
196
|
renderShape(ctx, shape);
|
|
200
197
|
}
|
|
201
198
|
}
|