@pstdio/ui 0.40.0 → 0.41.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 (83) hide show
  1. package/dist/{MermaidComponent-81jr28u4.js → MermaidComponent-BCiI63_G.js} +3 -3
  2. package/dist/{MermaidComponent-81jr28u4.js.map → MermaidComponent-BCiI63_G.js.map} +1 -1
  3. package/dist/chat-question-bubble-w2vMbFsS.js +68 -0
  4. package/dist/chat-question-bubble-w2vMbFsS.js.map +1 -0
  5. package/dist/chat-ui.d.ts +96 -21
  6. package/dist/chat-ui.js +2091 -1441
  7. package/dist/chat-ui.js.map +1 -1
  8. package/dist/{data-table-stats-row-CpRe_xK2.js → data-table-stats-row-EiTEONdY.js} +2 -2
  9. package/dist/{data-table-stats-row-CpRe_xK2.js.map → data-table-stats-row-EiTEONdY.js.map} +1 -1
  10. package/dist/data-table.d.ts +27 -7
  11. package/dist/data-table.js +1035 -872
  12. package/dist/data-table.js.map +1 -1
  13. package/dist/diff-bubble-DewUd_2w.js +61 -0
  14. package/dist/diff-bubble-DewUd_2w.js.map +1 -0
  15. package/dist/{diff-drawer-45rpk3aq.js → diff-drawer-BwZBOObe.js} +106 -85
  16. package/dist/diff-drawer-BwZBOObe.js.map +1 -0
  17. package/dist/diff-viewer-kOOd7C7h.js +574 -0
  18. package/dist/diff-viewer-kOOd7C7h.js.map +1 -0
  19. package/dist/diff.d.ts +11 -0
  20. package/dist/diff.js +107 -98
  21. package/dist/diff.js.map +1 -1
  22. package/dist/display-sort-control-DPxc0e5z.js +587 -0
  23. package/dist/display-sort-control-DPxc0e5z.js.map +1 -0
  24. package/dist/{workspace-badge-Brm3Xr3m.d.ts → host-storage-DP0RLj4i.d.ts} +15 -1
  25. package/dist/{index-Bfddrlz8.d.ts → index-C9mywhyX.d.ts} +50 -14
  26. package/dist/index-D3UJyWWh.d.ts +501 -0
  27. package/dist/{index-CbtbcvKm.d.ts → index-DlmvvQ6x.d.ts} +1 -1
  28. package/dist/index.d.ts +44 -19
  29. package/dist/index.js +941 -908
  30. package/dist/index.js.map +1 -1
  31. package/dist/kanban-renderer.d.ts +2 -326
  32. package/dist/kanban-renderer.js +991 -610
  33. package/dist/kanban-renderer.js.map +1 -1
  34. package/dist/list-row-DM0DiIrN.js +1167 -0
  35. package/dist/list-row-DM0DiIrN.js.map +1 -0
  36. package/dist/{mermaid-renderer-DImi0fDp.js → mermaid-renderer-0PmNkOXI.js} +29 -29
  37. package/dist/mermaid-renderer-0PmNkOXI.js.map +1 -0
  38. package/dist/mermaid.js +1 -1
  39. package/dist/param-editor.js +2 -3
  40. package/dist/prism-JVIsQMoJ.js +1029 -0
  41. package/dist/prism-JVIsQMoJ.js.map +1 -0
  42. package/dist/{resource-badge-95WPVlZf.d.ts → resource-badge-nOWPqxFU.d.ts} +1 -0
  43. package/dist/rich-text-DM24VNQZ.js +10447 -0
  44. package/dist/rich-text-DM24VNQZ.js.map +1 -0
  45. package/dist/rich-text.d.ts +2 -2
  46. package/dist/rich-text.js +2 -2
  47. package/dist/style.css +1 -1
  48. package/dist/terminal.d.ts +5 -63
  49. package/dist/terminal.js +102 -122
  50. package/dist/terminal.js.map +1 -1
  51. package/dist/{theme-CbmSEbRF.js → theme-at0rtSnX.js} +435 -245
  52. package/dist/theme-at0rtSnX.js.map +1 -0
  53. package/dist/theme-kKuLN2jb.js +80 -0
  54. package/dist/theme-kKuLN2jb.js.map +1 -0
  55. package/dist/theme-preference-BV4cbJNB.js +115 -0
  56. package/dist/theme-preference-BV4cbJNB.js.map +1 -0
  57. package/dist/theme.js +3 -2
  58. package/dist/{tree-list-BNZwjQZA.js → tree-list-Cqgl8mnN.js} +255 -250
  59. package/dist/tree-list-Cqgl8mnN.js.map +1 -0
  60. package/package.json +4 -4
  61. package/dist/diff-bubble-DZsarmSG.js +0 -61
  62. package/dist/diff-bubble-DZsarmSG.js.map +0 -1
  63. package/dist/diff-drawer-45rpk3aq.js.map +0 -1
  64. package/dist/diff-viewer-BP_mI6Wx.js +0 -558
  65. package/dist/diff-viewer-BP_mI6Wx.js.map +0 -1
  66. package/dist/list-row-uqD-q4gv.js +0 -1018
  67. package/dist/list-row-uqD-q4gv.js.map +0 -1
  68. package/dist/mermaid-renderer-DImi0fDp.js.map +0 -1
  69. package/dist/param-editor-BQd4AOUP.js +0 -225
  70. package/dist/param-editor-BQd4AOUP.js.map +0 -1
  71. package/dist/param-editor-field-BJ_rLUnV.js +0 -2385
  72. package/dist/param-editor-field-BJ_rLUnV.js.map +0 -1
  73. package/dist/prism-BStPsJSB.js +0 -658
  74. package/dist/prism-BStPsJSB.js.map +0 -1
  75. package/dist/rich-text-VYAmEigU.js +0 -6979
  76. package/dist/rich-text-VYAmEigU.js.map +0 -1
  77. package/dist/slider-hwHYe98I.js +0 -423
  78. package/dist/slider-hwHYe98I.js.map +0 -1
  79. package/dist/theme-CbmSEbRF.js.map +0 -1
  80. package/dist/theme-preference-pzfuK5cH.js +0 -101
  81. package/dist/theme-preference-pzfuK5cH.js.map +0 -1
  82. package/dist/tree-list-BNZwjQZA.js.map +0 -1
  83. package/dist/types-DWA3enV6.d.ts +0 -182
@@ -1,423 +0,0 @@
1
- import { Badge as e, IconButton as t, Image as n, Popover as r, Slider as i, Text as a, chakra as o } from "@chakra-ui/react";
2
- import { c as s } from "react/compiler-runtime";
3
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
4
- import * as u from "react";
5
- import { useEffect as d, useState as ee } from "react";
6
- import { Archive as f, Ban as p, Bell as m, BookOpen as h, Bookmark as g, Bot as _, Bug as v, Circle as y, Code as b, Component as x, Cpu as S, Eye as C, Feather as w, FileText as T, Flag as E, Flame as D, Folder as te, GitBranch as ne, GitCommitHorizontal as re, Hash as ie, Heart as O, History as k, Inbox as A, Kanban as j, Layers as M, Lightbulb as N, Link as P, ListChecks as F, MessageSquare as I, Play as L, Puzzle as R, Rocket as z, Scale as B, Settings as V, Shield as H, Sparkles as U, SquareKanban as W, Star as G, Tag as K, Target as q, Terminal as ae, Ticket as J, Timer as oe, Users as se, Workflow as ce, Wrench as le, X as ue, Zap as de } from "lucide-react";
7
- //#region src/components/overlays/attachment-chip.tsx
8
- var fe = (e) => e.type.startsWith("image/"), pe = (e) => e < 1024 ? `${e.toString()} B` : e < 1048576 ? `${Math.round(e / 1024).toString()} KB` : `${(e / 1048576).toFixed(1)} MB`, me = (i) => {
9
- let u = s(22), { file: f, removeLabel: p, disabled: m, onRemove: h } = i, [g, _] = ee(null), v, y;
10
- u[0] === f ? (v = u[1], y = u[2]) : (v = () => {
11
- if (!fe(f)) return;
12
- let e = URL.createObjectURL(f);
13
- return _(e), () => URL.revokeObjectURL(e);
14
- }, y = [f], u[0] = f, u[1] = v, u[2] = y), d(v, y);
15
- let b;
16
- u[3] === f.name ? b = u[4] : (b = /* @__PURE__ */ c(a, {
17
- as: "span",
18
- textStyle: "label/XS/medium",
19
- lineClamp: 1,
20
- maxW: "180px",
21
- children: f.name
22
- }), u[3] = f.name, u[4] = b);
23
- let x = b, S;
24
- u[5] !== f.name || u[6] !== x || u[7] !== g ? (S = g ? /* @__PURE__ */ l(r.Root, {
25
- positioning: { placement: "top" },
26
- children: [/* @__PURE__ */ c(r.Trigger, {
27
- asChild: !0,
28
- children: /* @__PURE__ */ c(o.button, {
29
- type: "button",
30
- cursor: "pointer",
31
- minW: "0",
32
- display: "inline-flex",
33
- children: x
34
- })
35
- }), /* @__PURE__ */ c(r.Positioner, { children: /* @__PURE__ */ c(r.Content, {
36
- w: "auto",
37
- p: "2xs",
38
- bg: "bg",
39
- children: /* @__PURE__ */ c(n, {
40
- src: g,
41
- alt: f.name,
42
- maxW: "240px",
43
- maxH: "240px",
44
- borderRadius: "sm"
45
- })
46
- }) })]
47
- }) : x, u[5] = f.name, u[6] = x, u[7] = g, u[8] = S) : S = u[8];
48
- let C;
49
- u[9] === f.size ? C = u[10] : (C = pe(f.size), u[9] = f.size, u[10] = C);
50
- let w;
51
- u[11] === C ? w = u[12] : (w = /* @__PURE__ */ c(a, {
52
- as: "span",
53
- textStyle: "label/XS/regular",
54
- color: "fg.subtle",
55
- children: C
56
- }), u[11] = C, u[12] = w);
57
- let T;
58
- u[13] === Symbol.for("react.memo_cache_sentinel") ? (T = /* @__PURE__ */ c(ue, { size: 12 }), u[13] = T) : T = u[13];
59
- let E;
60
- u[14] !== m || u[15] !== h || u[16] !== p ? (E = /* @__PURE__ */ c(t, {
61
- size: "2xs",
62
- variant: "ghost",
63
- "aria-label": p,
64
- disabled: m,
65
- onClick: h,
66
- children: T
67
- }), u[14] = m, u[15] = h, u[16] = p, u[17] = E) : E = u[17];
68
- let D;
69
- return u[18] !== S || u[19] !== w || u[20] !== E ? (D = /* @__PURE__ */ l(e, {
70
- variant: "chip",
71
- gap: "2xs",
72
- pr: "2xs",
73
- children: [
74
- S,
75
- w,
76
- E
77
- ]
78
- }), u[18] = S, u[19] = w, u[20] = E, u[21] = D) : D = u[21], D;
79
- }, he = (t) => {
80
- let n = s(2), r;
81
- return n[0] === t ? r = n[1] : (r = /* @__PURE__ */ c(e, {
82
- size: "sm",
83
- variant: "chip",
84
- ...t
85
- }), n[0] = t, n[1] = r), r;
86
- }, ge = new Map(Array.from("@font-face {\n font-family: \"prompt-studio-icons\";\n src: url(\"$fonts/prompt-studio-icons.eot?959122fb\");\n src:\n url(\"$fonts/prompt-studio-icons.eot?959122fb#iefix\") format(\"embedded-opentype\"),\n url(\"$fonts/prompt-studio-icons.woff2?959122fb\") format(\"woff2\"),\n url(\"$fonts/prompt-studio-icons.woff?959122fb\") format(\"woff\"),\n url(\"$fonts/prompt-studio-icons.ttf?959122fb\") format(\"truetype\"),\n url(\"$fonts/prompt-studio-icons.svg?959122fb#prompt-studio-icons\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n font-display: block;\n}\n\n[class^=\"icon-\"]::before,\n[class*=\" icon-\"]::before {\n font-family: \"prompt-studio-icons\", sans-serif;\n font-style: normal;\n font-weight: normal;\n speak: never;\n display: inline-block;\n text-decoration: inherit;\n width: 1em;\n margin-right: 0.2em;\n text-align: center;\n font-variant: normal;\n text-transform: none;\n line-height: 1em;\n margin-left: 0.2em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.icon-cloud-add::before {\n content: \"\\e800\";\n}\n.icon-credit-usage-50::before {\n content: \"\\e801\";\n}\n.icon-history::before {\n content: \"\\e802\";\n}\n.icon-data-string::before {\n content: \"\\e803\";\n}\n.icon-data-object::before {\n content: \"\\e804\";\n}\n.icon-data-integer::before {\n content: \"\\e805\";\n}\n.icon-data-double::before {\n content: \"\\e806\";\n}\n.icon-add::before {\n content: \"\\e807\";\n}\n.icon-add-circle::before {\n content: \"\\e808\";\n}\n.icon-data-boolean::before {\n content: \"\\e809\";\n}\n.icon-add-square::before {\n content: \"\\e80a\";\n}\n.icon-data-array::before {\n content: \"\\e80b\";\n}\n.icon-status-backlog::before {\n content: \"\\e80c\";\n}\n.icon-metrics::before {\n content: \"\\e80d\";\n}\n.icon-pie-donut::before {\n content: \"\\e80e\";\n}\n.icon-area-plot::before {\n content: \"\\e80f\";\n}\n.icon-treemap::before {\n content: \"\\e810\";\n}\n.icon-align-bottom::before {\n content: \"\\e811\";\n}\n.icon-align-horizontally::before {\n content: \"\\e812\";\n}\n.icon-align-left::before {\n content: \"\\e813\";\n}\n.icon-align-right::before {\n content: \"\\e814\";\n}\n.icon-align-vertically::before {\n content: \"\\e815\";\n}\n.icon-radar-column-chart::before {\n content: \"\\e816\";\n}\n.icon-pie-full::before {\n content: \"\\e817\";\n}\n.icon-archive-1::before {\n content: \"\\e818\";\n}\n.icon-archive-2::before {\n content: \"\\e819\";\n}\n.icon-archive-add::before {\n content: \"\\e81a\";\n}\n.icon-ct::before {\n content: \"\\e81b\";\n}\n.icon-archive-minus::before {\n content: \"\\e81c\";\n}\n.icon-archive-slash::before {\n content: \"\\e81d\";\n}\n.icon-archive-tick::before {\n content: \"\\e81e\";\n}\n.icon-min::before {\n content: \"\\e81f\";\n}\n.icon-ctd::before {\n content: \"\\e820\";\n}\n.icon-std::before {\n content: \"\\e821\";\n}\n.icon-var::before {\n content: \"\\e822\";\n}\n.icon-max::before {\n content: \"\\e823\";\n}\n.icon-sum::before {\n content: \"\\e824\";\n}\n.icon-status-todo::before {\n content: \"\\e825\";\n}\n.icon-status-progress::before {\n content: \"\\e826\";\n}\n.icon-status-review::before {\n content: \"\\e827\";\n}\n.icon-status-done::before {\n content: \"\\e828\";\n}\n.icon-status-canceled::before {\n content: \"\\e829\";\n}\n.icon-level-low::before {\n content: \"\\e82a\";\n}\n.icon-arrow-down::before {\n content: \"\\e82b\";\n}\n.icon-arrow-down-1::before {\n content: \"\\e82c\";\n}\n.icon-level-mid::before {\n content: \"\\e82d\";\n}\n.icon-arrow-left::before {\n content: \"\\e82e\";\n}\n.icon-level-high::before {\n content: \"\\e82f\";\n}\n.icon-arrow-left-2::before {\n content: \"\\e830\";\n}\n.icon-level-xhigh::before {\n content: \"\\e831\";\n}\n.icon-arrow-right::before {\n content: \"\\e832\";\n}\n.icon-arrow-right-1::before {\n content: \"\\e833\";\n}\n.icon-arrow-right-3::before {\n content: \"\\e835\";\n}\n.icon-arrow-right-4::before {\n content: \"\\e836\";\n}\n.icon-arrow-square-down::before {\n content: \"\\e838\";\n}\n.icon-arrow-square-left::before {\n content: \"\\e839\";\n}\n.icon-arrow-square-up::before {\n content: \"\\e83a\";\n}\n.icon-arrow-up-2::before {\n content: \"\\e83f\";\n}\n.icon-arrow-up-3::before {\n content: \"\\e840\";\n}\n.icon-book::before {\n content: \"\\e868\";\n}\n.icon-book-1::before {\n content: \"\\e869\";\n}\n.icon-box::before {\n content: \"\\e86e\";\n}\n.icon-pointing-arrow::before {\n content: \"\\e87d\";\n}\n.icon-data-structure::before {\n content: \"\\e87e\";\n}\n.icon-brush-4::before {\n content: \"\\e87f\";\n}\n.icon-folder::before {\n content: \"\\e880\";\n}\n.icon-import-2::before {\n content: \"\\e881\";\n}\n.icon-refresh::before {\n content: \"\\e882\";\n}\n.icon-message-text-1::before {\n content: \"\\e883\";\n}\n.icon-messages-2::before {\n content: \"\\e884\";\n}\n.icon-global::before {\n content: \"\\e885\";\n}\n.icon-briefcase::before {\n content: \"\\e886\";\n}\n.icon-row-vertical::before {\n content: \"\\e887\";\n}\n.icon-format-square::before {\n content: \"\\e888\";\n}\n.icon-document-copy::before {\n content: \"\\e889\";\n}\n.icon-document-forward::before {\n content: \"\\e88a\";\n}\n.icon-tick-circle-1::before {\n content: \"\\e88b\";\n}\n.icon-data-timestamp::before {\n content: \"\\e88c\";\n}\n.icon-more-2::before {\n content: \"\\e88d\";\n}\n.icon-notification::before {\n content: \"\\e88e\";\n}\n.icon-search-normal-1::before {\n content: \"\\e890\";\n}\n.icon-home-1::before {\n content: \"\\e891\";\n}\n.icon-brush-1::before {\n content: \"\\e892\";\n}\n.icon-paperclip-2::before {\n content: \"\\e893\";\n}\n.icon-grid-4::before {\n content: \"\\e894\";\n}\n.icon-mouse-circle::before {\n content: \"\\e895\";\n}\n.icon-message-question::before {\n content: \"\\e896\";\n}\n.icon-saving::before {\n content: \"\\e898\";\n}\n.icon-chevron-double::before {\n content: \"\\e899\";\n}\n.icon-close::before {\n content: \"\\e89a\";\n}\n.icon-more-info::before {\n content: \"\\e89b\";\n}\n.icon-arrow-up::before {\n content: \"\\e89c\";\n}\n.icon-reorder::before {\n content: \"\\e89d\";\n}\n.icon-refresh-1::before {\n content: \"\\e89e\";\n}\n.icon-text-variable::before {\n content: \"\\e89f\";\n}\n.icon-header-horizontal::before {\n content: \"\\e8a0\";\n}\n.icon-edit-1::before {\n content: \"\\e8a1\";\n}\n.icon-credit-usage-0::before {\n content: \"\\e8a2\";\n}\n.icon-credit-usage-25::before {\n content: \"\\e8a3\";\n}\n.icon-credit-usage-75::before {\n content: \"\\e8a4\";\n}\n.icon-card::before {\n content: \"\\e8a5\";\n}\n.icon-credit-usage-100::before {\n content: \"\\e8a6\";\n}\n.icon-coding-language::before {\n content: \"\\e8ab\";\n}\n.icon-table::before {\n content: \"\\e8ad\";\n}\n.icon-check::before {\n content: \"\\e8ae\";\n}\n.icon-logo-google::before {\n content: \"\\e8af\";\n}\n.icon-data-date::before {\n content: \"\\e8b0\";\n}\n.icon-llms::before {\n content: \"\\e8b1\";\n}\n.icon-logo-openai::before {\n content: \"\\e8b2\";\n}\n.icon-logo-anthropic::before {\n content: \"\\e8b3\";\n}\n.icon-logo-meta::before {\n content: \"\\e8b4\";\n}\n.icon-data-variant::before {\n content: \"\\e8b5\";\n}\n.icon-chart-1::before {\n content: \"\\e8b6\";\n}\n.icon-schema::before {\n content: \"\\e8b7\";\n}\n.icon-ascending::before {\n content: \"\\e8b8\";\n}\n.icon-bar-chart-100stacked::before {\n content: \"\\e8ba\";\n}\n.icon-results::before {\n content: \"\\e8bc\";\n}\n.icon-bar-chart::before {\n content: \"\\e8be\";\n}\n.icon-descending::before {\n content: \"\\e8bf\";\n}\n.icon-bar-chart-vertical::before {\n content: \"\\e8c0\";\n}\n.icon-step-before-points::before {\n content: \"\\e8c4\";\n}\n.icon-step-after-points::before {\n content: \"\\e8c6\";\n}\n.icon-line-rounded::before {\n content: \"\\e8c9\";\n}\n.icon-line-sharp::before {\n content: \"\\e8cb\";\n}\n.icon-bar-chart-simple::before {\n content: \"\\e8cc\";\n}\n.icon-pie-chart::before {\n content: \"\\e8cd\";\n}\n.icon-bar-chart-stacked::before {\n content: \"\\e8ce\";\n}\n.icon-map::before {\n content: \"\\e8cf\";\n}\n.icon-radar-bar-chart::before {\n content: \"\\e8d0\";\n}\n.icon-radar-chart::before {\n content: \"\\e8d1\";\n}\n.icon-metric::before {\n content: \"\\e8d2\";\n}\n.icon-area-plot-1::before {\n content: \"\\e8d3\";\n}\n.icon-avg::before {\n content: \"\\e8d4\";\n}\n.icon-area-plot-stacked100::before {\n content: \"\\e8d5\";\n}\n.icon-scatter-bubbles::before {\n content: \"\\e8d6\";\n}\n.icon-code::before {\n content: \"\\e8d7\";\n}\n.icon-code-1::before {\n content: \"\\e8d8\";\n}\n.icon-code-circle::before {\n content: \"\\e8d9\";\n}\n.icon-scatter-plot::before {\n content: \"\\e8db\";\n}\n.icon-scatter-dots::before {\n content: \"\\e8dc\";\n}\n.icon-med::before {\n content: \"\\e8dd\";\n}\n.icon-command-square::before {\n content: \"\\e8e1\";\n}\n.icon-component::before {\n content: \"\\e8e2\";\n}\n.icon-copy::before {\n content: \"\\e8e9\";\n}\n.icon-danger::before {\n content: \"\\e8f5\";\n}\n.icon-visualization::before {\n content: \"\\e8fc\";\n}\n.icon-document-1::before {\n content: \"\\e911\";\n}\n.icon-document-code::before {\n content: \"\\e913\";\n}\n.icon-document-download::before {\n content: \"\\e916\";\n}\n.icon-document-text-1::before {\n content: \"\\e91f\";\n}\n.icon-document-upload::before {\n content: \"\\e920\";\n}\n.icon-edit::before {\n content: \"\\e927\";\n}\n.icon-edit-2::before {\n content: \"\\e928\";\n}\n.icon-eraser-1::before {\n content: \"\\e939\";\n}\n.icon-export-1::before {\n content: \"\\e93b\";\n}\n.icon-export-3::before {\n content: \"\\e93d\";\n}\n.icon-eye::before {\n content: \"\\e93f\";\n}\n.icon-eye-slash::before {\n content: \"\\e940\";\n}\n.icon-flash-1::before {\n content: \"\\e950\";\n}\n.icon-folder-2::before {\n content: \"\\e955\";\n}\n.icon-glass::before {\n content: \"\\e97c\";\n}\n.icon-home-2::before {\n content: \"\\e9aa\";\n}\n.icon-import-1::before {\n content: \"\\e9b5\";\n}\n.icon-info-circle::before {\n content: \"\\e9b7\";\n}\n.icon-key::before {\n content: \"\\e9bc\";\n}\n.icon-data::before {\n content: \"\\e9c7\";\n}\n.icon-link-2::before {\n content: \"\\e9d1\";\n}\n.icon-location::before {\n content: \"\\e9d5\";\n}\n.icon-location-slash::before {\n content: \"\\e9d9\";\n}\n.icon-login-1::before {\n content: \"\\e9e0\";\n}\n.icon-logout-1::before {\n content: \"\\e9e2\";\n}\n.icon-magicpen::before {\n content: \"\\e9e4\";\n}\n.icon-maximize-2::before {\n content: \"\\e9f0\";\n}\n.icon-maximize-4::before {\n content: \"\\e9f2\";\n}\n.icon-maximize-21::before {\n content: \"\\e9f3\";\n}\n.icon-menu-1::before {\n content: \"\\e9f8\";\n}\n.icon-message::before {\n content: \"\\e9fa\";\n}\n.icon-messages::before {\n content: \"\\ea06\";\n}\n.icon-microphone-2::before {\n content: \"\\ea11\";\n}\n.icon-minus-cirlce::before {\n content: \"\\ea18\";\n}\n.icon-moon::before {\n content: \"\\ea2e\";\n}\n.icon-more::before {\n content: \"\\ea2f\";\n}\n.icon-note::before {\n content: \"\\ea44\";\n}\n.icon-paperclip::before {\n content: \"\\ea56\";\n}\n.icon-play::before {\n content: \"\\ea6a\";\n}\n.icon-presention-chart::before {\n content: \"\\ea6f\";\n}\n.icon-redo::before {\n content: \"\\ea9c\";\n}\n.icon-rotate-left::before {\n content: \"\\eaa8\";\n}\n.icon-rotate-right::before {\n content: \"\\eaaa\";\n}\n.icon-search-zoom-in-1::before {\n content: \"\\eac8\";\n}\n.icon-search-zoom-out::before {\n content: \"\\eac9\";\n}\n.icon-send-1::before {\n content: \"\\ead1\";\n}\n.icon-setting-2::before {\n content: \"\\ead6\";\n}\n.icon-setting-4::before {\n content: \"\\ead8\";\n}\n.icon-setting-5::before {\n content: \"\\ead9\";\n}\n.icon-shuffle::before {\n content: \"\\eae9\";\n}\n.icon-sidebar-bottom::before {\n content: \"\\eaea\";\n}\n.icon-sidebar-left::before {\n content: \"\\eaeb\";\n}\n.icon-sidebar-right::before {\n content: \"\\eaec\";\n}\n.icon-sidebar-top::before {\n content: \"\\eaed\";\n}\n.icon-slash::before {\n content: \"\\eaf3\";\n}\n.icon-smallcaps::before {\n content: \"\\eaf9\";\n}\n.icon-sms::before {\n content: \"\\eafd\";\n}\n.icon-star::before {\n content: \"\\eb07\";\n}\n.icon-stop::before {\n content: \"\\eb0e\";\n}\n.icon-sun-1::before {\n content: \"\\eb15\";\n}\n.icon-tag-cross::before {\n content: \"\\eb19\";\n}\n.icon-task::before {\n content: \"\\eb1c\";\n}\n.icon-task-square::before {\n content: \"\\eb1d\";\n}\n.icon-teacher::before {\n content: \"\\eb1e\";\n}\n.icon-text::before {\n content: \"\\eb1f\";\n}\n.icon-textalign-center::before {\n content: \"\\eb20\";\n}\n.icon-textalign-justifycenter::before {\n content: \"\\eb21\";\n}\n.icon-textalign-left::before {\n content: \"\\eb24\";\n}\n.icon-textalign-right::before {\n content: \"\\eb25\";\n}\n.icon-text-block::before {\n content: \"\\eb26\";\n}\n.icon-text-bold::before {\n content: \"\\eb27\";\n}\n.icon-text-italic::before {\n content: \"\\eb28\";\n}\n.icon-text-underline::before {\n content: \"\\eb29\";\n}\n.icon-tick-circle::before {\n content: \"\\eb2a\";\n}\n.icon-timer-1::before {\n content: \"\\eb32\";\n}\n.icon-trash::before {\n content: \"\\eb3c\";\n}\n.icon-undo::before {\n content: \"\\eb47\";\n}\n.icon-user::before {\n content: \"\\eb4a\";\n}\n.icon-video-vertical::before {\n content: \"\\eb61\";\n}\n.icon-wallet-2::before {\n content: \"\\eb6d\";\n}\n.icon-wifi::before {\n content: \"\\eb7b\";\n}\n.icon-stockholm::before {\n content: \"\\eb81\";\n}\n.icon-perplexity-ai::before {\n content: \"\\eb82\";\n}\n".matchAll(/\.icon-([\w-]+)::before\s*\{\s*content:\s*"(\\[0-9a-f]+)"/g), ([, e, t]) => [e, t])), _e = 89.5, Y = "0.209em", ve = o("span"), ye = (e, t) => ({
87
- position: "relative",
88
- display: "inline-block",
89
- verticalAlign: "middle",
90
- flexShrink: 0,
91
- boxSize: "1em",
92
- lineHeight: 1,
93
- containerType: "size",
94
- "&::before": {
95
- content: e,
96
- fontSize: t,
97
- position: "absolute",
98
- inset: 0,
99
- fontFamily: "\"prompt-studio-icons\", sans-serif",
100
- fontStyle: "normal",
101
- fontWeight: "normal",
102
- lineHeight: "100cqmin",
103
- textAlign: "center",
104
- transform: `translateY(${Y})`
105
- }
106
- }), X = (e, t = {}) => {
107
- let n = ye(`"${ge.get(e) ?? ""}"`, `${(_e * (t.scale ?? 1)).toFixed(1)}cqmin`), r = (e) => {
108
- let t = s(2), r;
109
- return t[0] === e ? r = t[1] : (r = /* @__PURE__ */ c(ve, {
110
- "aria-hidden": !0,
111
- ...e,
112
- css: n
113
- }), t[0] = e, t[1] = r), r;
114
- };
115
- return r.displayName = `GlyphIcon(${e})`, r;
116
- }, be = [
117
- "gray",
118
- "red",
119
- "orange",
120
- "yellow",
121
- "green",
122
- "teal",
123
- "blue",
124
- "cyan",
125
- "purple",
126
- "pink"
127
- ], Z = (e, t) => ({
128
- value: e,
129
- label: t,
130
- icon: X(e)
131
- }), Q = (e, t) => ({
132
- value: e,
133
- label: t,
134
- icon: X(e, { scale: .82 })
135
- }), $ = [
136
- {
137
- value: null,
138
- label: "none",
139
- icon: p
140
- },
141
- {
142
- value: "flag",
143
- label: "flag",
144
- icon: E
145
- },
146
- {
147
- value: "bug",
148
- label: "bug",
149
- icon: v
150
- },
151
- {
152
- value: "sparkles",
153
- label: "sparkles",
154
- icon: U
155
- },
156
- {
157
- value: "book-open",
158
- label: "book open",
159
- icon: h
160
- },
161
- {
162
- value: "wrench",
163
- label: "wrench",
164
- icon: le
165
- },
166
- {
167
- value: "zap",
168
- label: "zap",
169
- icon: de
170
- },
171
- {
172
- value: "feather",
173
- label: "feather",
174
- icon: w
175
- },
176
- {
177
- value: "scale",
178
- label: "scale",
179
- icon: B
180
- },
181
- {
182
- value: "layers",
183
- label: "layers",
184
- icon: M
185
- },
186
- {
187
- value: "star",
188
- label: "star",
189
- icon: G
190
- },
191
- {
192
- value: "flame",
193
- label: "flame",
194
- icon: D
195
- },
196
- {
197
- value: "lightbulb",
198
- label: "lightbulb",
199
- icon: N
200
- },
201
- {
202
- value: "shield",
203
- label: "shield",
204
- icon: H
205
- },
206
- {
207
- value: "eye",
208
- label: "eye",
209
- icon: C
210
- },
211
- {
212
- value: "clock",
213
- label: "clock",
214
- icon: oe
215
- },
216
- {
217
- value: "tag",
218
- label: "tag",
219
- icon: K
220
- },
221
- {
222
- value: "code",
223
- label: "code",
224
- icon: b
225
- },
226
- {
227
- value: "rocket",
228
- label: "rocket",
229
- icon: z
230
- },
231
- {
232
- value: "heart",
233
- label: "heart",
234
- icon: O
235
- },
236
- {
237
- value: "bookmark",
238
- label: "bookmark",
239
- icon: g
240
- },
241
- {
242
- value: "target",
243
- label: "target",
244
- icon: q
245
- },
246
- {
247
- value: "bell",
248
- label: "bell",
249
- icon: m
250
- },
251
- {
252
- value: "hash",
253
- label: "hash",
254
- icon: ie
255
- },
256
- Z("status-backlog", "status backlog"),
257
- Z("status-todo", "status todo"),
258
- Z("status-progress", "status in progress"),
259
- Z("status-review", "status in review"),
260
- Z("status-done", "status done"),
261
- Z("status-canceled", "status canceled"),
262
- {
263
- value: "ticket",
264
- label: "ticket",
265
- icon: J
266
- },
267
- {
268
- value: "git-branch",
269
- label: "git branch",
270
- icon: ne
271
- },
272
- Q("level-low", "level low"),
273
- Q("level-mid", "level medium"),
274
- Q("level-high", "level high"),
275
- Q("level-xhigh", "level very high"),
276
- {
277
- value: "bot",
278
- label: "bot",
279
- icon: _
280
- },
281
- {
282
- value: "puzzle",
283
- label: "puzzle",
284
- icon: R
285
- },
286
- {
287
- value: "workflow",
288
- label: "workflow",
289
- icon: ce
290
- },
291
- {
292
- value: "kanban",
293
- label: "kanban",
294
- icon: j
295
- },
296
- {
297
- value: "message-square",
298
- label: "message square",
299
- icon: I
300
- },
301
- {
302
- value: "folder",
303
- label: "folder",
304
- icon: te
305
- },
306
- {
307
- value: "file-text",
308
- label: "file text",
309
- icon: T
310
- },
311
- {
312
- value: "history",
313
- label: "history",
314
- icon: k
315
- },
316
- {
317
- value: "play",
318
- label: "play",
319
- icon: L
320
- },
321
- {
322
- value: "terminal",
323
- label: "terminal",
324
- icon: ae
325
- },
326
- {
327
- value: "cpu",
328
- label: "CPU",
329
- icon: S
330
- },
331
- {
332
- value: "users",
333
- label: "users",
334
- icon: se
335
- },
336
- {
337
- value: "component",
338
- label: "ticket",
339
- icon: x
340
- },
341
- {
342
- value: "square-kanban",
343
- label: "board",
344
- icon: W
345
- },
346
- {
347
- value: "git-commit-horizontal",
348
- label: "workspace",
349
- icon: re
350
- },
351
- {
352
- value: "inbox",
353
- label: "notifications",
354
- icon: A
355
- },
356
- {
357
- value: "list-checks",
358
- label: "checklist",
359
- icon: F
360
- },
361
- {
362
- value: "archive",
363
- label: "archive",
364
- icon: f
365
- },
366
- {
367
- value: "link",
368
- label: "link",
369
- icon: P
370
- },
371
- {
372
- value: "settings",
373
- label: "settings",
374
- icon: V
375
- }
376
- ], xe = (e, t = $) => {
377
- let n = (e ?? "circle").replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([a-zA-Z])([0-9])/g, "$1-$2").toLowerCase();
378
- return t.find((e) => e.value === n)?.icon ?? y;
379
- }, Se = u.forwardRef(function(e, t) {
380
- let n = s(9), r, a;
381
- n[0] === e ? (r = n[1], a = n[2]) : ({children: r, ...a} = e, n[0] = e, n[1] = r, n[2] = a);
382
- let o;
383
- n[3] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ c(i.Track, {
384
- height: "2px",
385
- borderRadius: "0",
386
- bg: "bg.muted",
387
- children: /* @__PURE__ */ c(i.Range, { bg: "fg" })
388
- }), n[3] = o) : o = n[3];
389
- let u;
390
- n[4] === Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ l(i.Control, { children: [o, /* @__PURE__ */ c(i.Thumbs, {
391
- boxSize: "0.5rem",
392
- bg: "fg",
393
- borderWidth: "1px",
394
- borderColor: "bg",
395
- borderRadius: "none",
396
- boxShadow: "none",
397
- transition: "width 0.12s ease, height 0.12s ease, border-color 0.2s ease-in-out",
398
- _hover: {
399
- boxSize: "0.75rem",
400
- borderColor: "border.accent-light"
401
- },
402
- _active: {
403
- boxSize: "0.875rem",
404
- borderColor: "border.accent-light"
405
- },
406
- _focusVisible: {
407
- borderColor: "border.accent-light",
408
- outline: "none",
409
- boxShadow: "none"
410
- }
411
- })] }), n[4] = u) : u = n[4];
412
- let d;
413
- return n[5] !== r || n[6] !== t || n[7] !== a ? (d = /* @__PURE__ */ l(i.Root, {
414
- ref: t,
415
- variant: "solid",
416
- ...a,
417
- children: [u, r]
418
- }), n[5] = r, n[6] = t, n[7] = a, n[8] = d) : d = n[8], d;
419
- });
420
- //#endregion
421
- export { X as a, $ as i, xe as n, he as o, be as r, me as s, Se as t };
422
-
423
- //# sourceMappingURL=slider-hwHYe98I.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider-hwHYe98I.js","names":["Badge","chakra","IconButton","Image","Popover","Text","X","useEffect","useState","AttachmentChipProps","file","File","removeLabel","disabled","onRemove","isImage","type","startsWith","formatSize","bytes","toString","Math","round","toFixed","AttachmentChip","props","$","_c","previewUrl","setPreviewUrl","t0","t1","url","URL","createObjectURL","revokeObjectURL","t2","name","t3","placement","t4","size","t5","t6","Symbol","for","t7","t8","_c","BadgeProps","Badge","ChipProps","Omit","Chip","props","$","_c","t0","_c","chakra","ComponentType","HTMLAttributes","generatedGlyphStyles","GLYPH_RULE","glyphContent","Map","Array","from","matchAll","name","content","GLYPH_OPTICAL_SIZE","GLYPH_BASELINE_OFFSET","GlyphRoot","glyphStyles","fontSize","position","display","verticalAlign","flexShrink","boxSize","lineHeight","containerType","inset","fontFamily","fontStyle","fontWeight","textAlign","transform","GlyphIconProps","Omit","HTMLSpanElement","GlyphIconOptions","scale","createGlyphIcon","glyph","options","styles","get","toFixed","GlyphIcon","props","$","_c","t0","displayName","generatedGlyphStyles","_c","Archive","Ban","Bell","Bookmark","BookOpen","Bot","Bug","Circle","Code","Component","Cpu","Eye","Feather","FileText","Flag","Flame","Folder","GitBranch","GitCommitHorizontal","Hash","Heart","History","Inbox","Kanban","Layers","Lightbulb","Link","ListChecks","MessageSquare","Play","Puzzle","Rocket","Scale","Settings","Shield","Sparkles","SquareKanban","Star","Tag","Target","Terminal","Ticket","Timer","Users","Workflow","Wrench","Zap","ComponentType","createGlyphIcon","IconColorPickerIconOption","value","label","icon","optionColors","const","glyph","name","levelGlyph","scale","optionIcons","getIconComponent","iconOptions","normalizedName","replace","toLowerCase","entry","find","Code","Component","Link","Slider","ChakraSlider","React","SliderProps","RootProps","forwardRef","HTMLDivElement","props","ref","$","_c","children","rest","t0","Symbol","for","t1","boxSize","borderColor","outline","boxShadow","t2","Slider","_c","ChakraSlider","React","Code$1","Component$1","Link$1","isImage","file","formatSize","bytes","AttachmentChip","$","c","props","previewUrl","setPreviewUrl","useState","t0","t1","url","useEffect","t2","Text","name","t3","Popover","chakra","Image","t4","t5","t6","X","t7","disabled","onRemove","removeLabel","IconButton","t8","Badge","Chip","glyphContent","content","GLYPH_OPTICAL_SIZE","GLYPH_BASELINE_OFFSET","GlyphRoot","glyphStyles","createGlyphIcon","styles","glyph","options","GlyphIcon","optionColors","levelGlyph","optionIcons","Ban","Flag","Bug","Sparkles","BookOpen","Wrench","Zap","Feather","Scale","Layers","Star","Flame","Lightbulb","Shield","Eye","Timer","Tag","Rocket","Heart","Bookmark","Target","Bell","Hash","Ticket","GitBranch","Bot","Puzzle","Workflow","Kanban","MessageSquare","Folder","FileText","History","Play","Terminal","Cpu","Users","SquareKanban","GitCommitHorizontal","Inbox","ListChecks","Archive","Settings","getIconComponent","normalizedName","iconOptions","icon","Circle","Slider$1","children","rest","Slider","ref"],"sources":["../src/components/overlays/attachment-chip.tsx","../src/components/primitives/chip.tsx","../src/components/primitives/glyph-icon.tsx","../src/components/primitives/icon-options.tsx","../src/components/primitives/slider.tsx"],"sourcesContent":["import { Badge, chakra, IconButton, Image, Popover, Text } from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\n\nexport interface AttachmentChipProps {\n file: File;\n /** Accessible label for the remove control; the caller owns translation. */\n removeLabel: string;\n disabled?: boolean;\n onRemove: () => void;\n}\n\nconst isImage = (file: File) => file.type.startsWith(\"image/\");\n\nconst formatSize = (bytes: number) => {\n if (bytes < 1024) return `${bytes.toString()} B`;\n if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024).toString()} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n};\n\n/**\n * A file queued for upload, before the resource it belongs to exists. Removal\n * lives on the chip because there is no other surface between picking a file\n * and submitting where a mistaken attachment can be taken back.\n */\nexport const AttachmentChip = (props: AttachmentChipProps) => {\n const { file, removeLabel, disabled, onRemove } = props;\n const [previewUrl, setPreviewUrl] = useState<string | null>(null);\n\n // Object URLs are only needed for image previews; revoke on unmount/file swap\n // so we don't leak blobs while the dialog is open.\n useEffect(() => {\n if (!isImage(file)) return;\n const url = URL.createObjectURL(file);\n setPreviewUrl(url);\n return () => URL.revokeObjectURL(url);\n }, [file]);\n\n const name = (\n <Text as=\"span\" textStyle=\"label/XS/medium\" lineClamp={1} maxW=\"180px\">\n {file.name}\n </Text>\n );\n\n return (\n <Badge variant=\"chip\" gap=\"2xs\" pr=\"2xs\">\n {previewUrl ? (\n <Popover.Root positioning={{ placement: \"top\" }}>\n <Popover.Trigger asChild>\n <chakra.button type=\"button\" cursor=\"pointer\" minW=\"0\" display=\"inline-flex\">\n {name}\n </chakra.button>\n </Popover.Trigger>\n <Popover.Positioner>\n <Popover.Content w=\"auto\" p=\"2xs\" bg=\"bg\">\n <Image src={previewUrl} alt={file.name} maxW=\"240px\" maxH=\"240px\" borderRadius=\"sm\" />\n </Popover.Content>\n </Popover.Positioner>\n </Popover.Root>\n ) : (\n name\n )}\n <Text as=\"span\" textStyle=\"label/XS/regular\" color=\"fg.subtle\">\n {formatSize(file.size)}\n </Text>\n <IconButton size=\"2xs\" variant=\"ghost\" aria-label={removeLabel} disabled={disabled} onClick={onRemove}>\n <X size={12} />\n </IconButton>\n </Badge>\n );\n};\n","import type { BadgeProps } from \"@chakra-ui/react\";\nimport { Badge } from \"@chakra-ui/react\";\n\nexport interface ChipProps extends Omit<BadgeProps, \"size\" | \"variant\"> {}\n\nexport const Chip = (props: ChipProps) => <Badge size=\"sm\" variant=\"chip\" {...props} />;\n","import { chakra } from \"@chakra-ui/react\";\nimport type { ComponentType, HTMLAttributes } from \"react\";\n// Package-relative on purpose: every host that resolves `@pstdio/ui` from source\n// would otherwise need its own `$fonts` alias.\nimport generatedGlyphStyles from \"../../../public/font/css/prompt-studio-icons.css?raw\";\nimport \"./glyph-icon.css\";\n\n// The generated stylesheet is the source of truth for glyph codepoints; reading\n// them here keeps `@pstdio/ui` from bundling its legacy @font-face formats.\nconst GLYPH_RULE = /\\.icon-([\\w-]+)::before\\s*\\{\\s*content:\\s*\"(\\\\[0-9a-f]+)\"/g;\n\nconst glyphContent = new Map(\n Array.from(generatedGlyphStyles.matchAll(GLYPH_RULE), ([, name, content]) => [name, content]),\n);\n\n// Glyphs are painted through a ::before pseudo element sized by font-size, so the\n// wrapper turns its own box into a size container. That lets the glyph track\n// whatever box the caller gives it (`boxSize` on a Chakra `Icon`, say) exactly\n// like a lucide SVG would.\n//\n// Everything is applied through the `css` prop rather than a `chakra()` base:\n// factory base styles sit in a lower cascade layer than the `chakra-icon` recipe\n// and the global reset, which silently blockified the wrapper and, with it, threw\n// away the `vertical-align` that keeps an icon on the text's centre line.\n//\n// The ::before is taken out of flow and stretched over the wrapper so its geometry\n// never depends on the wrapper's own layout mode. Within that box the font builder\n// normalises every glyph's ink to a 1024-unit box sitting 47 units above the\n// baseline of a 1000-unit em (ascent 850 / descent -150), so the ink renders larger\n// than the em and half its overhang above centre: 89.5% of the container lands it\n// on lucide's 22-of-24 optical size, and 0.209em — measured against the glyph's own\n// font size, so it follows any optical scale — drops it onto the centre line.\nconst GLYPH_OPTICAL_SIZE = 89.5;\nconst GLYPH_BASELINE_OFFSET = \"0.209em\";\n\nconst GlyphRoot = chakra(\"span\");\n\nconst glyphStyles = (content: string, fontSize: string) => ({\n position: \"relative\",\n display: \"inline-block\",\n verticalAlign: \"middle\",\n flexShrink: 0,\n boxSize: \"1em\",\n lineHeight: 1,\n containerType: \"size\",\n \"&::before\": {\n content,\n fontSize,\n position: \"absolute\",\n inset: 0,\n fontFamily: '\"prompt-studio-icons\", sans-serif',\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n lineHeight: \"100cqmin\",\n textAlign: \"center\",\n transform: `translateY(${GLYPH_BASELINE_OFFSET})`,\n },\n});\n\ntype GlyphIconProps = Omit<HTMLAttributes<HTMLSpanElement>, \"children\">;\n\nexport interface GlyphIconOptions {\n /**\n * Optical size relative to a round glyph. Every glyph is normalised to the same\n * ink box, so square marks such as the level bars need trimming to carry the\n * same visual weight as the status rings.\n */\n scale?: number;\n}\n\n/**\n * Builds a component for one `prompt-studio-icons` glyph so lucide icons and\n * font glyphs share a single component type in the icon registry.\n */\nexport const createGlyphIcon = (glyph: string, options: GlyphIconOptions = {}): ComponentType<GlyphIconProps> => {\n const styles = glyphStyles(\n `\"${glyphContent.get(glyph) ?? \"\"}\"`,\n `${(GLYPH_OPTICAL_SIZE * (options.scale ?? 1)).toFixed(1)}cqmin`,\n );\n\n const GlyphIcon = (props: GlyphIconProps) => <GlyphRoot aria-hidden {...props} css={styles} />;\n\n GlyphIcon.displayName = `GlyphIcon(${glyph})`;\n return GlyphIcon;\n};\n","import {\n Archive,\n Ban,\n Bell,\n Bookmark,\n BookOpen,\n Bot,\n Bug,\n Circle,\n Code,\n Component,\n Cpu,\n Eye,\n Feather,\n FileText,\n Flag,\n Flame,\n Folder,\n GitBranch,\n GitCommitHorizontal,\n Hash,\n Heart,\n History,\n Inbox,\n Kanban,\n Layers,\n Lightbulb,\n Link,\n ListChecks,\n MessageSquare,\n Play,\n Puzzle,\n Rocket,\n Scale,\n Settings,\n Shield,\n Sparkles,\n SquareKanban,\n Star,\n Tag,\n Target,\n Terminal,\n Ticket,\n Timer,\n Users,\n Workflow,\n Wrench,\n Zap,\n} from \"lucide-react\";\nimport type { ComponentType } from \"react\";\nimport { createGlyphIcon } from \"./glyph-icon\";\n\nexport interface IconColorPickerIconOption {\n value: string | null;\n label: string;\n icon: ComponentType;\n}\n\nexport const optionColors = [\n \"gray\",\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"teal\",\n \"blue\",\n \"cyan\",\n \"purple\",\n \"pink\",\n] as const;\n\nconst glyph = (name: string, label: string) => ({ value: name, label, icon: createGlyphIcon(name) });\n\n// Level bars fill their ink box as a solid square, so they read heavier than the\n// round status glyphs at the same size; lucide's own bar marks sit at 18-of-24.\nconst levelGlyph = (name: string, label: string) => ({\n value: name,\n label,\n icon: createGlyphIcon(name, { scale: 0.82 }),\n});\n\n// Ordered exactly like the `cmp/TagAppearancePopover` grid in the design system:\n// a leading \"none\" cell, generic icons, then status rings, levels and concepts.\n// Status rings and level bars have no lucide equivalent and ship as glyphs in\n// the `prompt-studio-icons` font.\nexport const optionIcons = [\n { value: null, label: \"none\", icon: Ban },\n { value: \"flag\", label: \"flag\", icon: Flag },\n { value: \"bug\", label: \"bug\", icon: Bug },\n { value: \"sparkles\", label: \"sparkles\", icon: Sparkles },\n { value: \"book-open\", label: \"book open\", icon: BookOpen },\n { value: \"wrench\", label: \"wrench\", icon: Wrench },\n { value: \"zap\", label: \"zap\", icon: Zap },\n { value: \"feather\", label: \"feather\", icon: Feather },\n { value: \"scale\", label: \"scale\", icon: Scale },\n { value: \"layers\", label: \"layers\", icon: Layers },\n { value: \"star\", label: \"star\", icon: Star },\n { value: \"flame\", label: \"flame\", icon: Flame },\n { value: \"lightbulb\", label: \"lightbulb\", icon: Lightbulb },\n { value: \"shield\", label: \"shield\", icon: Shield },\n { value: \"eye\", label: \"eye\", icon: Eye },\n // The design draws the clock cell with lucide's timer.\n { value: \"clock\", label: \"clock\", icon: Timer },\n { value: \"tag\", label: \"tag\", icon: Tag },\n { value: \"code\", label: \"code\", icon: Code },\n { value: \"rocket\", label: \"rocket\", icon: Rocket },\n { value: \"heart\", label: \"heart\", icon: Heart },\n { value: \"bookmark\", label: \"bookmark\", icon: Bookmark },\n { value: \"target\", label: \"target\", icon: Target },\n { value: \"bell\", label: \"bell\", icon: Bell },\n { value: \"hash\", label: \"hash\", icon: Hash },\n glyph(\"status-backlog\", \"status backlog\"),\n glyph(\"status-todo\", \"status todo\"),\n glyph(\"status-progress\", \"status in progress\"),\n glyph(\"status-review\", \"status in review\"),\n glyph(\"status-done\", \"status done\"),\n glyph(\"status-canceled\", \"status canceled\"),\n { value: \"ticket\", label: \"ticket\", icon: Ticket },\n { value: \"git-branch\", label: \"git branch\", icon: GitBranch },\n levelGlyph(\"level-low\", \"level low\"),\n levelGlyph(\"level-mid\", \"level medium\"),\n levelGlyph(\"level-high\", \"level high\"),\n levelGlyph(\"level-xhigh\", \"level very high\"),\n { value: \"bot\", label: \"bot\", icon: Bot },\n { value: \"puzzle\", label: \"puzzle\", icon: Puzzle },\n { value: \"workflow\", label: \"workflow\", icon: Workflow },\n { value: \"kanban\", label: \"kanban\", icon: Kanban },\n { value: \"message-square\", label: \"message square\", icon: MessageSquare },\n { value: \"folder\", label: \"folder\", icon: Folder },\n { value: \"file-text\", label: \"file text\", icon: FileText },\n { value: \"history\", label: \"history\", icon: History },\n { value: \"play\", label: \"play\", icon: Play },\n { value: \"terminal\", label: \"terminal\", icon: Terminal },\n { value: \"cpu\", label: \"CPU\", icon: Cpu },\n { value: \"users\", label: \"users\", icon: Users },\n // Prompt Studio concepts: the icons its own tickets, boards, workspaces and\n // notifications are drawn with.\n { value: \"component\", label: \"ticket\", icon: Component },\n { value: \"square-kanban\", label: \"board\", icon: SquareKanban },\n { value: \"git-commit-horizontal\", label: \"workspace\", icon: GitCommitHorizontal },\n { value: \"inbox\", label: \"notifications\", icon: Inbox },\n { value: \"list-checks\", label: \"checklist\", icon: ListChecks },\n { value: \"archive\", label: \"archive\", icon: Archive },\n { value: \"link\", label: \"link\", icon: Link },\n { value: \"settings\", label: \"settings\", icon: Settings },\n] satisfies IconColorPickerIconOption[];\n\nexport const getIconComponent = (\n name: string | null | undefined,\n iconOptions: readonly IconColorPickerIconOption[] = optionIcons,\n): ComponentType => {\n const normalizedName = (name ?? \"circle\")\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\n .replace(/([a-zA-Z])([0-9])/g, \"$1-$2\")\n .toLowerCase();\n const entry = iconOptions.find((icon) => icon.value === normalizedName);\n return entry?.icon ?? Circle;\n};\n","import { Slider as ChakraSlider } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface SliderProps extends ChakraSlider.RootProps {}\n\nexport const Slider = React.forwardRef<HTMLDivElement, SliderProps>(function Slider(props, ref) {\n const { children, ...rest } = props;\n\n return (\n <ChakraSlider.Root ref={ref} variant=\"solid\" {...rest}>\n <ChakraSlider.Control>\n <ChakraSlider.Track height=\"2px\" borderRadius=\"0\" bg=\"bg.muted\">\n <ChakraSlider.Range bg=\"fg\" />\n </ChakraSlider.Track>\n <ChakraSlider.Thumbs\n boxSize=\"0.5rem\"\n bg=\"fg\"\n borderWidth=\"1px\"\n borderColor=\"bg\"\n borderRadius=\"none\"\n boxShadow=\"none\"\n transition=\"width 0.12s ease, height 0.12s ease, border-color 0.2s ease-in-out\"\n _hover={{ boxSize: \"0.75rem\", borderColor: \"border.accent-light\" }}\n _active={{ boxSize: \"0.875rem\", borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n />\n </ChakraSlider.Control>\n {children}\n </ChakraSlider.Root>\n );\n});\n"],"mappings":"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"}