@pstdio/ui 0.41.0 → 0.42.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.
- package/dist/{MermaidComponent-BCiI63_G.js → MermaidComponent-D7vhkpka.js} +2 -2
- package/dist/{MermaidComponent-BCiI63_G.js.map → MermaidComponent-D7vhkpka.js.map} +1 -1
- package/dist/alert-MQ47wy7f.js +388 -0
- package/dist/alert-MQ47wy7f.js.map +1 -0
- package/dist/chat-ui.d.ts +36 -5
- package/dist/chat-ui.js +1777 -1422
- package/dist/chat-ui.js.map +1 -1
- package/dist/collection-view-fields-D3cysHNT.d.ts +232 -0
- package/dist/collection-view-grouping-D4nZk8-3.js +90 -0
- package/dist/collection-view-grouping-D4nZk8-3.js.map +1 -0
- package/dist/collection-view-search-CpjJy76w.js +1973 -0
- package/dist/collection-view-search-CpjJy76w.js.map +1 -0
- package/dist/collection-view.d.ts +4 -0
- package/dist/collection-view.js +2 -0
- package/dist/{data-table-stats-row-EiTEONdY.js → data-table-stats-row-64magT2g.js} +2 -2
- package/dist/{data-table-stats-row-EiTEONdY.js.map → data-table-stats-row-64magT2g.js.map} +1 -1
- package/dist/data-table.d.ts +3 -1
- package/dist/data-table.js +279 -277
- package/dist/data-table.js.map +1 -1
- package/dist/{diff-drawer-BwZBOObe.js → diff-drawer-IYpQ-QQK.js} +192 -191
- package/dist/diff-drawer-IYpQ-QQK.js.map +1 -0
- package/dist/{diff-viewer-kOOd7C7h.js → diff-viewer-C-0VAt9P.js} +4 -4
- package/dist/{diff-viewer-kOOd7C7h.js.map → diff-viewer-C-0VAt9P.js.map} +1 -1
- package/dist/diff.js +2 -2
- package/dist/{display-sort-control-DPxc0e5z.js → display-sort-control-f3rbILsV.js} +87 -86
- package/dist/{display-sort-control-DPxc0e5z.js.map → display-sort-control-f3rbILsV.js.map} +1 -1
- package/dist/drop-indicator-HjlBSIeV.js +27 -0
- package/dist/drop-indicator-HjlBSIeV.js.map +1 -0
- package/dist/edit-mode-data-table-DnMB2jiy.js +1449 -0
- package/dist/edit-mode-data-table-DnMB2jiy.js.map +1 -0
- package/dist/host-storage-BIo5azql.js +31 -0
- package/dist/host-storage-BIo5azql.js.map +1 -0
- package/dist/host-storage-J0089Hyk.d.ts +17 -0
- package/dist/icon-options-Tt6Wzhtv.js +308 -0
- package/dist/icon-options-Tt6Wzhtv.js.map +1 -0
- package/dist/{index-C9mywhyX.d.ts → index-B79hwNcB.d.ts} +17 -1
- package/dist/index-CKsd23jv.d.ts +80 -0
- package/dist/{index-D3UJyWWh.d.ts → index-ICoad2I_.d.ts} +4 -223
- package/dist/index.d.ts +22 -6
- package/dist/index.js +1174 -1112
- package/dist/index.js.map +1 -1
- package/dist/kanban-renderer.d.ts +2 -1
- package/dist/kanban-renderer.js +531 -528
- package/dist/kanban-renderer.js.map +1 -1
- package/dist/list-row-Z4SHkseA.js +1195 -0
- package/dist/list-row-Z4SHkseA.js.map +1 -0
- package/dist/markdown-editor-Dd4mor7l.js +3236 -0
- package/dist/markdown-editor-Dd4mor7l.js.map +1 -0
- package/dist/number-input-7K66wnSC.js +63 -0
- package/dist/number-input-7K66wnSC.js.map +1 -0
- package/dist/param-editor-Dnix-fJo.js +225 -0
- package/dist/param-editor-Dnix-fJo.js.map +1 -0
- package/dist/param-editor-field-B3vLST-B.js +2394 -0
- package/dist/param-editor-field-B3vLST-B.js.map +1 -0
- package/dist/param-editor.js +4 -2
- package/dist/prism-OG4H7Hu4.js +334 -0
- package/dist/prism-OG4H7Hu4.js.map +1 -0
- package/dist/queued-follow-up-Bj_vtMgd.js +208 -0
- package/dist/queued-follow-up-Bj_vtMgd.js.map +1 -0
- package/dist/rich-text-BgEnAHr2.js +1160 -0
- package/dist/rich-text-BgEnAHr2.js.map +1 -0
- package/dist/rich-text.d.ts +1 -1
- package/dist/rich-text.js +4 -2
- package/dist/terminal.js +1 -1
- package/dist/{theme-at0rtSnX.js → theme-CMJdH59Z.js} +224 -90
- package/dist/theme-CMJdH59Z.js.map +1 -0
- package/dist/theme.js +1 -1
- package/dist/tree-list-jarhD31R.js +1652 -0
- package/dist/tree-list-jarhD31R.js.map +1 -0
- package/dist/use-virtualizer-uj43XjBp.js +10 -0
- package/dist/use-virtualizer-uj43XjBp.js.map +1 -0
- package/dist/{host-storage-DP0RLj4i.d.ts → workspace-badge-BKtB805G.d.ts} +6 -16
- package/package.json +6 -2
- package/dist/chat-question-bubble-w2vMbFsS.js +0 -68
- package/dist/chat-question-bubble-w2vMbFsS.js.map +0 -1
- package/dist/diff-drawer-BwZBOObe.js.map +0 -1
- package/dist/list-row-DM0DiIrN.js +0 -1167
- package/dist/list-row-DM0DiIrN.js.map +0 -1
- package/dist/prism-JVIsQMoJ.js +0 -1029
- package/dist/prism-JVIsQMoJ.js.map +0 -1
- package/dist/rich-text-DM24VNQZ.js +0 -10447
- package/dist/rich-text-DM24VNQZ.js.map +0 -1
- package/dist/theme-at0rtSnX.js.map +0 -1
- package/dist/tree-list-Cqgl8mnN.js +0 -1621
- package/dist/tree-list-Cqgl8mnN.js.map +0 -1
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import { chakra as e } from "@chakra-ui/react";
|
|
2
|
+
import { c as t } from "react/compiler-runtime";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
+
import { Archive as r, Ban as i, Bell as a, BookOpen as ee, Bookmark as te, Bot as ne, Bug as re, Circle as ie, Code as o, Component as s, Cpu as c, Eye as l, Feather as u, FileText as d, Flag as f, Flame as p, Folder as m, GitBranch as h, GitCommitHorizontal as g, Hash as _, Heart as v, History as y, Inbox as b, Kanban as x, Layers as S, Lightbulb as C, Link as w, ListChecks as T, MessageSquare as E, Pause as D, Pencil as O, Play as k, Puzzle as ae, Rocket as A, Scale as j, Settings as M, Shield as N, Sparkles as P, SquareKanban as F, Star as I, Tag as L, Target as R, Terminal as z, Ticket as B, Timer as V, Trash2 as H, Users as U, Workflow as W, Wrench as G, Zap as K } from "lucide-react";
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/components/primitives/glyph-icon.tsx
|
|
7
|
+
var q = 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])), J = 89.5, oe = "0.209em", se = e("span"), ce = (e, t) => ({
|
|
8
|
+
position: "relative",
|
|
9
|
+
display: "inline-block",
|
|
10
|
+
verticalAlign: "middle",
|
|
11
|
+
flexShrink: 0,
|
|
12
|
+
boxSize: "1em",
|
|
13
|
+
lineHeight: 1,
|
|
14
|
+
containerType: "size",
|
|
15
|
+
"&::before": {
|
|
16
|
+
content: e,
|
|
17
|
+
fontSize: t,
|
|
18
|
+
position: "absolute",
|
|
19
|
+
inset: 0,
|
|
20
|
+
fontFamily: "\"prompt-studio-icons\", sans-serif",
|
|
21
|
+
fontStyle: "normal",
|
|
22
|
+
fontWeight: "normal",
|
|
23
|
+
lineHeight: "100cqmin",
|
|
24
|
+
textAlign: "center",
|
|
25
|
+
transform: `translateY(${oe})`
|
|
26
|
+
}
|
|
27
|
+
}), Y = (e, r = {}) => {
|
|
28
|
+
let i = ce(`"${q.get(e) ?? ""}"`, `${(J * (r.scale ?? 1)).toFixed(1)}cqmin`), a = (e) => {
|
|
29
|
+
let r = t(2), a;
|
|
30
|
+
return r[0] === e ? a = r[1] : (a = /* @__PURE__ */ n(se, {
|
|
31
|
+
"aria-hidden": !0,
|
|
32
|
+
...e,
|
|
33
|
+
css: i
|
|
34
|
+
}), r[0] = e, r[1] = a), a;
|
|
35
|
+
};
|
|
36
|
+
return a.displayName = `GlyphIcon(${e})`, a;
|
|
37
|
+
}, le = [
|
|
38
|
+
"gray",
|
|
39
|
+
"red",
|
|
40
|
+
"orange",
|
|
41
|
+
"yellow",
|
|
42
|
+
"green",
|
|
43
|
+
"teal",
|
|
44
|
+
"blue",
|
|
45
|
+
"cyan",
|
|
46
|
+
"purple",
|
|
47
|
+
"pink"
|
|
48
|
+
], X = (e, t) => ({
|
|
49
|
+
value: e,
|
|
50
|
+
label: t,
|
|
51
|
+
icon: Y(e)
|
|
52
|
+
}), Z = (e, t) => ({
|
|
53
|
+
value: e,
|
|
54
|
+
label: t,
|
|
55
|
+
icon: Y(e, { scale: .82 })
|
|
56
|
+
}), Q = [
|
|
57
|
+
{
|
|
58
|
+
value: null,
|
|
59
|
+
label: "none",
|
|
60
|
+
icon: i
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
value: "flag",
|
|
64
|
+
label: "flag",
|
|
65
|
+
icon: f
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
value: "bug",
|
|
69
|
+
label: "bug",
|
|
70
|
+
icon: re
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
value: "sparkles",
|
|
74
|
+
label: "sparkles",
|
|
75
|
+
icon: P
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
value: "book-open",
|
|
79
|
+
label: "book open",
|
|
80
|
+
icon: ee
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
value: "wrench",
|
|
84
|
+
label: "wrench",
|
|
85
|
+
icon: G
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
value: "zap",
|
|
89
|
+
label: "zap",
|
|
90
|
+
icon: K
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
value: "feather",
|
|
94
|
+
label: "feather",
|
|
95
|
+
icon: u
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
value: "scale",
|
|
99
|
+
label: "scale",
|
|
100
|
+
icon: j
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
value: "layers",
|
|
104
|
+
label: "layers",
|
|
105
|
+
icon: S
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
value: "star",
|
|
109
|
+
label: "star",
|
|
110
|
+
icon: I
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
value: "flame",
|
|
114
|
+
label: "flame",
|
|
115
|
+
icon: p
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
value: "lightbulb",
|
|
119
|
+
label: "lightbulb",
|
|
120
|
+
icon: C
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
value: "shield",
|
|
124
|
+
label: "shield",
|
|
125
|
+
icon: N
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
value: "eye",
|
|
129
|
+
label: "eye",
|
|
130
|
+
icon: l
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
value: "clock",
|
|
134
|
+
label: "clock",
|
|
135
|
+
icon: V
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
value: "tag",
|
|
139
|
+
label: "tag",
|
|
140
|
+
icon: L
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
value: "code",
|
|
144
|
+
label: "code",
|
|
145
|
+
icon: o
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
value: "rocket",
|
|
149
|
+
label: "rocket",
|
|
150
|
+
icon: A
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
value: "heart",
|
|
154
|
+
label: "heart",
|
|
155
|
+
icon: v
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
value: "bookmark",
|
|
159
|
+
label: "bookmark",
|
|
160
|
+
icon: te
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
value: "target",
|
|
164
|
+
label: "target",
|
|
165
|
+
icon: R
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
value: "bell",
|
|
169
|
+
label: "bell",
|
|
170
|
+
icon: a
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
value: "hash",
|
|
174
|
+
label: "hash",
|
|
175
|
+
icon: _
|
|
176
|
+
},
|
|
177
|
+
X("status-backlog", "status backlog"),
|
|
178
|
+
X("status-todo", "status todo"),
|
|
179
|
+
X("status-progress", "status in progress"),
|
|
180
|
+
X("status-review", "status in review"),
|
|
181
|
+
X("status-done", "status done"),
|
|
182
|
+
X("status-canceled", "status canceled"),
|
|
183
|
+
{
|
|
184
|
+
value: "ticket",
|
|
185
|
+
label: "ticket",
|
|
186
|
+
icon: B
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
value: "git-branch",
|
|
190
|
+
label: "git branch",
|
|
191
|
+
icon: h
|
|
192
|
+
},
|
|
193
|
+
Z("level-low", "level low"),
|
|
194
|
+
Z("level-mid", "level medium"),
|
|
195
|
+
Z("level-high", "level high"),
|
|
196
|
+
Z("level-xhigh", "level very high"),
|
|
197
|
+
{
|
|
198
|
+
value: "bot",
|
|
199
|
+
label: "bot",
|
|
200
|
+
icon: ne
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
value: "puzzle",
|
|
204
|
+
label: "puzzle",
|
|
205
|
+
icon: ae
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
value: "workflow",
|
|
209
|
+
label: "workflow",
|
|
210
|
+
icon: W
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
value: "kanban",
|
|
214
|
+
label: "kanban",
|
|
215
|
+
icon: x
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
value: "message-square",
|
|
219
|
+
label: "message square",
|
|
220
|
+
icon: E
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
value: "folder",
|
|
224
|
+
label: "folder",
|
|
225
|
+
icon: m
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
value: "file-text",
|
|
229
|
+
label: "file text",
|
|
230
|
+
icon: d
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
value: "history",
|
|
234
|
+
label: "history",
|
|
235
|
+
icon: y
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
value: "play",
|
|
239
|
+
label: "play",
|
|
240
|
+
icon: k
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
value: "terminal",
|
|
244
|
+
label: "terminal",
|
|
245
|
+
icon: z
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
value: "cpu",
|
|
249
|
+
label: "CPU",
|
|
250
|
+
icon: c
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
value: "users",
|
|
254
|
+
label: "users",
|
|
255
|
+
icon: U
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
value: "component",
|
|
259
|
+
label: "ticket",
|
|
260
|
+
icon: s
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
value: "square-kanban",
|
|
264
|
+
label: "board",
|
|
265
|
+
icon: F
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
value: "git-commit-horizontal",
|
|
269
|
+
label: "workspace",
|
|
270
|
+
icon: g
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
value: "inbox",
|
|
274
|
+
label: "notifications",
|
|
275
|
+
icon: b
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
value: "list-checks",
|
|
279
|
+
label: "checklist",
|
|
280
|
+
icon: T
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
value: "archive",
|
|
284
|
+
label: "archive",
|
|
285
|
+
icon: r
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
value: "link",
|
|
289
|
+
label: "link",
|
|
290
|
+
icon: w
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
value: "settings",
|
|
294
|
+
label: "settings",
|
|
295
|
+
icon: M
|
|
296
|
+
}
|
|
297
|
+
], $ = {
|
|
298
|
+
pause: D,
|
|
299
|
+
pencil: O,
|
|
300
|
+
"trash-2": H
|
|
301
|
+
}, ue = (e, t = Q) => {
|
|
302
|
+
let n = (e ?? "circle").replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([a-zA-Z])([0-9])/g, "$1-$2").toLowerCase();
|
|
303
|
+
return t.find((e) => e.value === n)?.icon ?? $[n] ?? ie;
|
|
304
|
+
};
|
|
305
|
+
//#endregion
|
|
306
|
+
export { Y as i, le as n, Q as r, ue as t };
|
|
307
|
+
|
|
308
|
+
//# sourceMappingURL=icon-options-Tt6Wzhtv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-options-Tt6Wzhtv.js","names":["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","Pause","Pencil","Play","Puzzle","Rocket","Scale","Settings","Shield","Sparkles","SquareKanban","Star","Tag","Target","Terminal","Ticket","Timer","Trash2","Users","Workflow","Wrench","Zap","ComponentType","createGlyphIcon","IconColorPickerIconOption","value","label","icon","optionColors","const","glyph","name","levelGlyph","scale","optionIcons","actionIcons","Record","pause","pencil","getIconComponent","iconOptions","normalizedName","replace","toLowerCase","entry","find","Tag","Code","Link","Code$1","Link$1","Tag$1","glyphContent","name","content","GLYPH_OPTICAL_SIZE","GLYPH_BASELINE_OFFSET","GlyphRoot","chakra","glyphStyles","createGlyphIcon","styles","glyph","options","GlyphIcon","$","c","t0","props","optionColors","levelGlyph","optionIcons","Ban","Flag","Bug","Sparkles","BookOpen","Wrench","Zap","Feather","Scale","Layers","Star","Flame","Lightbulb","Shield","Eye","Timer","Rocket","Heart","Bookmark","Target","Bell","Hash","Ticket","GitBranch","Bot","Puzzle","Workflow","Kanban","MessageSquare","Folder","FileText","History","Play","Terminal","Cpu","Users","Component","SquareKanban","GitCommitHorizontal","Inbox","ListChecks","Archive","Settings","actionIcons","Pause","Pencil","Trash2","getIconComponent","normalizedName","iconOptions","icon","Circle"],"sources":["../src/components/primitives/glyph-icon.tsx","../src/components/primitives/icon-options.tsx"],"sourcesContent":["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 Pause,\n Pencil,\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 Trash2,\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\nconst actionIcons: Record<string, ComponentType> = { pause: Pause, pencil: Pencil, \"trash-2\": Trash2 };\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 ?? actionIcons[normalizedName] ?? Circle;\n};\n"],"mappings":"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"}
|
|
@@ -62,9 +62,25 @@ interface PromptEditorRef {
|
|
|
62
62
|
setEditorValue: (value: string) => void;
|
|
63
63
|
}
|
|
64
64
|
//#endregion
|
|
65
|
+
//#region src/components/rich-text/prompt-input/plugins/preserve-selection-plugin.d.ts
|
|
66
|
+
interface PromptSelectionSnapshot {
|
|
67
|
+
anchor: {
|
|
68
|
+
path: number[];
|
|
69
|
+
offset: number;
|
|
70
|
+
type: "text" | "element";
|
|
71
|
+
};
|
|
72
|
+
focus: {
|
|
73
|
+
path: number[];
|
|
74
|
+
offset: number;
|
|
75
|
+
type: "text" | "element";
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//#endregion
|
|
65
79
|
//#region src/components/rich-text/prompt-input/prompt-input.d.ts
|
|
66
80
|
interface PromptEditorProps {
|
|
67
81
|
defaultState: string;
|
|
82
|
+
initialSelection?: PromptSelectionSnapshot;
|
|
83
|
+
onSelectionChange?: (selection: PromptSelectionSnapshot) => void;
|
|
68
84
|
debug?: boolean;
|
|
69
85
|
isEditable?: boolean;
|
|
70
86
|
placeholder?: ReactElement | ((isEditable: boolean) => ReactElement | null);
|
|
@@ -221,5 +237,5 @@ declare function inferResourceTypeFromMediaType(mediaType: string): "image" | "p
|
|
|
221
237
|
//#region src/components/rich-text/utils/mediaType.d.ts
|
|
222
238
|
declare function mediaTypeFromPath(path: string): string | null;
|
|
223
239
|
//#endregion
|
|
224
|
-
export {
|
|
240
|
+
export { PromptEditorRef as A, CollaborativeMarkdownEditorProps as B, ResourceActivityIconName as C, PromptEditor as D, getTextFromSerializedEditorState as E, MarkdownSectionAnchor as F, MarkdownSectionNavigation as I, MarkdownUrlKind as L, LazyMarkdownEditor as M, MarkdownEditor as N, PromptEditorProps as O, MarkdownEditorProps as P, MarkdownUrlResolver as R, ResourceActivityFeedSize as S, generateEditorStateFromString as T, ResourceActivityFeedAttention as _, DefaultRichTextCodeEditor as a, ResourceActivityFeedMessageItem as b, DataTableProps as c, ChatLinkCandidate as d, ChatLinkHandler as f, ResourceActivityFeedAction as g, ResourceActivityFeed as h, ResourceType as i, PromptCommand as j, PromptSelectionSnapshot as k, RichMessage as l, parseChatLink as m, inferResourceTypeFromMediaType as n, DefaultRichTextDataTable as o, ChatLinkProps as p, Resource as r, CodeEditorProps as s, mediaTypeFromPath as t, RichMessageProps as u, ResourceActivityFeedEventItem as v, ResourceActivityRelatedResource as w, ResourceActivityFeedProps as x, ResourceActivityFeedItem as y, CollaborativeMarkdownEditor as z };
|
|
225
241
|
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { A as CollectionSavedView, M as CollectionViewsSource, i as CollectionViewStoreInitialState, s as AttributeDescriptor, x as KanbanRendererRow } from "./collection-view-fields-D3cysHNT.js";
|
|
2
|
+
import { ReactNode, RefObject } from "react";
|
|
3
|
+
import { ViewFilterGroup, ViewFilterRule } from "@pstdio/sdk/extensions";
|
|
4
|
+
//#region src/components/collection-view/filter-rule-value.d.ts
|
|
5
|
+
interface RuleValueOption {
|
|
6
|
+
value: string;
|
|
7
|
+
label: string;
|
|
8
|
+
count?: number;
|
|
9
|
+
icon?: string | null;
|
|
10
|
+
color?: string;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/components/collection-view/collection-view-bar.d.ts
|
|
14
|
+
interface CollectionViewBarProps<TSettings> {
|
|
15
|
+
storageKey: string;
|
|
16
|
+
/** Singular resource label used as the subject of boolean predicates. */
|
|
17
|
+
itemLabel?: string;
|
|
18
|
+
initialState: CollectionViewStoreInitialState<TSettings>;
|
|
19
|
+
views: (CollectionSavedView<TSettings> & {
|
|
20
|
+
builtIn: boolean;
|
|
21
|
+
})[];
|
|
22
|
+
viewsSource?: CollectionViewsSource<TSettings>;
|
|
23
|
+
/** Every field of the view. Filter offers the filterable ones and Sort the sortable ones. */
|
|
24
|
+
fields: AttributeDescriptor[];
|
|
25
|
+
optionsFor: (field: AttributeDescriptor) => RuleValueOption[];
|
|
26
|
+
/** Search is screen state owned by the renderer. It is never saved. */
|
|
27
|
+
search: string;
|
|
28
|
+
onSearchChange: (value: string) => void;
|
|
29
|
+
searchResultLabel?: string;
|
|
30
|
+
leading?: ReactNode;
|
|
31
|
+
actions?: ReactNode;
|
|
32
|
+
displayControl: ReactNode;
|
|
33
|
+
align?: "split" | "end";
|
|
34
|
+
}
|
|
35
|
+
/** One view bar for data tables and both kanban displays: saved views, then Search, Filter, and Display. */
|
|
36
|
+
declare const CollectionViewBar: <TSettings>(props: CollectionViewBarProps<TSettings>) => import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/components/collection-view/collection-view-filter.d.ts
|
|
39
|
+
/** Rules that are incomplete or no longer fit a field are skipped, so they never hide rows. */
|
|
40
|
+
declare const filterRowsByView: <TRow extends KanbanRendererRow>(rows: TRow[], filter: ViewFilterGroup, fields: AttributeDescriptor[], today?: Date) => TRow[];
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/components/collection-view/collection-view-search.d.ts
|
|
43
|
+
/** Search only looks at the text a view shows, which the caller collects per row. */
|
|
44
|
+
declare const searchRows: <TRow>(rows: TRow[], query: string, textsOf: (row: TRow) => string[]) => TRow[];
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/components/collection-view/use-collection-views.d.ts
|
|
47
|
+
interface CollectionViewsInput<TSettings> {
|
|
48
|
+
storageKey: string;
|
|
49
|
+
fields?: AttributeDescriptor[];
|
|
50
|
+
initialState: CollectionViewStoreInitialState<TSettings>;
|
|
51
|
+
viewsSource?: CollectionViewsSource<TSettings>;
|
|
52
|
+
defaultViews?: CollectionSavedView<TSettings>[];
|
|
53
|
+
defaultActiveViewId?: string;
|
|
54
|
+
}
|
|
55
|
+
/** Picks the views a renderer offers and keeps the store on a view that still exists. */
|
|
56
|
+
declare const useCollectionViews: <TSettings>(input: CollectionViewsInput<TSettings>) => {
|
|
57
|
+
views: (CollectionSavedView<TSettings> & {
|
|
58
|
+
builtIn: boolean;
|
|
59
|
+
})[];
|
|
60
|
+
defaultId: string | undefined;
|
|
61
|
+
};
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/components/collection-view/view-bar-popover.d.ts
|
|
64
|
+
interface ViewBarPopoverProps {
|
|
65
|
+
open: boolean;
|
|
66
|
+
onOpenChange: (open: boolean) => void;
|
|
67
|
+
/** The button the menu opens from. Several buttons can open the same menu. */
|
|
68
|
+
anchorRef: RefObject<HTMLElement | null>;
|
|
69
|
+
width: string;
|
|
70
|
+
placement?: "bottom-start" | "bottom-end";
|
|
71
|
+
/** The quick picker draws its own panes edge to edge. */
|
|
72
|
+
padding?: "0" | "2xs";
|
|
73
|
+
testId?: string;
|
|
74
|
+
children: ReactNode;
|
|
75
|
+
}
|
|
76
|
+
/** The menu shell for Search, Filter, and Sort. Menus inside it render in place, so using them never closes it. */
|
|
77
|
+
declare const ViewBarPopover: (props: ViewBarPopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
78
|
+
//#endregion
|
|
79
|
+
export { searchRows as a, CollectionViewBarProps as c, useCollectionViews as i, ViewBarPopoverProps as n, filterRowsByView as o, CollectionViewsInput as r, CollectionViewBar as s, ViewBarPopover as t };
|
|
80
|
+
export {};
|