@keyfunc/keybricks-ds 2.6.0 → 2.8.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/DEPLOY.md +3 -3
- package/DESIGN.md +21 -5
- package/INTEGRATION.md +35 -4
- package/_adherence.oxlintrc.json +56 -11
- package/_ds_bundle.js +2153 -216
- package/_scripts/build-index.mjs +1 -1
- package/_src/icon-index.js +1 -1
- package/{components/feedback → _vue-services}/MESSAGE_SERVICES.md +2 -2
- package/_vue-services/_internal/MessageBoxView.vue +150 -0
- package/{components/feedback → _vue-services}/_internal/service-utils.js +0 -12
- package/_vue-services/message.js +87 -0
- package/assets/icons/icon-index.json +1 -1
- package/changelog.js +21 -2
- package/components/_cards/accordion.card.html +1 -1
- package/components/_cards/action-chip.card.html +1 -1
- package/components/_cards/activity.card.html +1 -1
- package/components/_cards/alert.card.html +1 -1
- package/components/_cards/app-chrome.card.html +1 -1
- package/components/_cards/banner.card.html +1 -1
- package/components/_cards/breadcrumb.card.html +1 -1
- package/components/_cards/button-1-base.card.html +5 -2
- package/components/_cards/button-2-states.card.html +5 -5
- package/components/_cards/button-3-sizes-icons.card.html +2 -2
- package/components/_cards/button-4-group.card.html +2 -2
- package/components/_cards/button-5-ai.card.html +34 -0
- package/components/_cards/canvas-zoom-controls.card.html +1 -1
- package/components/_cards/cards-indicators.card.html +1 -1
- package/components/_cards/charts-1-sparkline.card.html +1 -1
- package/components/_cards/charts-10-gauge.card.html +1 -1
- package/components/_cards/charts-11-funnel.card.html +1 -1
- package/components/_cards/charts-12-treemap.card.html +1 -1
- package/components/_cards/charts-14-radar.card.html +1 -1
- package/components/_cards/charts-15-distribution.card.html +1 -1
- package/components/_cards/charts-16-pareto.card.html +1 -1
- package/components/_cards/charts-17-candlestick.card.html +1 -1
- package/components/_cards/charts-18-sankey.card.html +1 -1
- package/components/_cards/charts-19-chord.card.html +1 -1
- package/components/_cards/charts-2-line.card.html +1 -1
- package/components/_cards/charts-20-sunburst.card.html +1 -1
- package/components/_cards/charts-21-worldmap.card.html +1 -1
- package/components/_cards/charts-22-gantt.card.html +1 -1
- package/components/_cards/charts-23-bar3d.card.html +1 -1
- package/components/_cards/charts-24-pie3d.card.html +1 -1
- package/components/_cards/charts-25-surface3d.card.html +1 -1
- package/components/_cards/charts-26-scatter3d.card.html +1 -1
- package/components/_cards/charts-27-ribbon3d.card.html +1 -1
- package/components/_cards/charts-3-bar.card.html +1 -1
- package/components/_cards/charts-4-barlist.card.html +1 -1
- package/components/_cards/charts-5-donut.card.html +1 -1
- package/components/_cards/charts-6-scatter.card.html +1 -1
- package/components/_cards/charts-7-heatmap.card.html +1 -1
- package/components/_cards/charts-8-waterfall.card.html +1 -1
- package/components/_cards/charts-9-bullet.card.html +1 -1
- package/components/_cards/charts-99-fullpage.card.html +1 -1
- package/components/_cards/checkbox.card.html +1 -1
- package/components/_cards/codeblock.card.html +1 -1
- package/components/_cards/combobox.card.html +1 -1
- package/components/_cards/context-menu.card.html +1 -1
- package/components/_cards/date-picker.card.html +1 -1
- package/components/_cards/diffvalue.card.html +1 -1
- package/components/_cards/divider.card.html +1 -1
- package/components/_cards/drawer.card.html +1 -1
- package/components/_cards/dropdown-menu.card.html +1 -1
- package/components/_cards/dropzone.card.html +1 -1
- package/components/_cards/empty-state.card.html +1 -1
- package/components/_cards/filter-bar.card.html +1 -1
- package/components/_cards/icon-button.card.html +1 -1
- package/components/_cards/icons-0-usage.card.html +2 -2
- package/components/_cards/icons-1-core.card.html +1 -1
- package/components/_cards/icons-2-feather.card.html +1 -1
- package/components/_cards/icons-2b-lucide.card.html +1 -1
- package/components/_cards/icons-3-unicons.card.html +1 -1
- package/components/_cards/icons-4-datasource.card.html +1 -1
- package/components/_cards/input.card.html +1 -1
- package/components/_cards/kbd.card.html +5 -7
- package/components/_cards/keyvalue.card.html +1 -1
- package/components/_cards/listrow.card.html +1 -1
- package/components/_cards/loading.card.html +1 -1
- package/components/_cards/log-viewer.card.html +1 -1
- package/components/_cards/modal.card.html +8 -2
- package/components/_cards/multi-select.card.html +1 -1
- package/components/_cards/number-stepper.card.html +1 -1
- package/components/_cards/pagination.card.html +1 -1
- package/components/_cards/people.card.html +1 -1
- package/components/_cards/pipeline-node.card.html +1 -1
- package/components/_cards/pipeline-palette.card.html +1 -1
- package/components/_cards/radio.card.html +1 -1
- package/components/_cards/relative-time-picker.card.html +1 -1
- package/components/_cards/search-global.card.html +72 -0
- package/components/_cards/search.card.html +1 -1
- package/components/_cards/segmented-control.card.html +1 -1
- package/components/_cards/select.card.html +1 -1
- package/components/_cards/slider.card.html +1 -1
- package/components/_cards/smart-table.card.html +1 -1
- package/components/_cards/spreadsheet.card.html +1 -1
- package/components/_cards/stepper.card.html +1 -1
- package/components/_cards/table.card.html +10 -1
- package/components/_cards/tabs.card.html +1 -1
- package/components/_cards/tag.card.html +1 -1
- package/components/_cards/textarea.card.html +1 -1
- package/components/_cards/timeline.card.html +1 -1
- package/components/_cards/toast.card.html +11 -1
- package/components/_cards/toggles.card.html +1 -1
- package/components/_cards/tooltip.card.html +1 -1
- package/components/_cards/tree.card.html +22 -1
- package/components/_vue/index.mjs +2 -0
- package/components/buttons/Button.d.ts +14 -5
- package/components/buttons/Button.jsx +45 -8
- package/components/buttons/Button.vue +40 -38
- package/components/buttons/Button.vue.d.ts +4 -1
- package/components/buttons/ai-button.js +54 -0
- package/components/buttons/buttons.prompt.md +7 -2
- package/components/data/Table.d.ts +5 -0
- package/components/data/Table.jsx +10 -5
- package/components/data/Table.vue +9 -3
- package/components/data/data.prompt.md +2 -0
- package/components/data/row-open.js +13 -0
- package/components/display/Kbd.d.ts +3 -1
- package/components/display/Kbd.jsx +8 -3
- package/components/display/Kbd.vue +7 -3
- package/components/display/display.prompt.md +3 -1
- package/components/feedback/Modal.d.ts +65 -7
- package/components/feedback/Modal.jsx +52 -22
- package/components/feedback/Modal.vue +24 -6
- package/components/feedback/Toast.vue +7 -7
- package/components/feedback/ToastStack.vue +37 -4
- package/components/feedback/feedback.prompt.md +6 -0
- package/components/feedback/modal-behavior.js +50 -0
- package/components/forms/GlobalSearch.d.ts +83 -0
- package/components/forms/GlobalSearch.jsx +172 -0
- package/components/forms/GlobalSearch.vue +161 -0
- package/components/forms/forms.prompt.md +7 -0
- package/components/forms/global-search.js +161 -0
- package/components/icons/Icon.d.ts +2 -0
- package/components/icons/Icon.jsx +14 -6
- package/components/icons/Icon.vue +11 -4
- package/components/icons/icon-paths.js +4 -2
- package/components/index.d.ts +1 -0
- package/components/index.js +1 -0
- package/components/navigation/TopBar.d.ts +9 -3
- package/components/navigation/TopBar.jsx +5 -7
- package/components/navigation/TopBar.vue +5 -6
- package/components/navigation/Tree.d.ts +5 -1
- package/components/navigation/Tree.jsx +9 -7
- package/components/navigation/Tree.vue +7 -6
- package/components/navigation/navigation.prompt.md +2 -0
- package/covers.js +4 -2
- package/gallery.html +1 -1
- package/guidelines/brand-logo.html +1 -1
- package/guidelines/colors-schemes.html +1 -1
- package/guidelines/colors-transparency.html +1 -1
- package/guidelines/foundations-borders.html +1 -1
- package/guidelines/foundations-chrome.html +1 -1
- package/guidelines/foundations-motion.html +1 -1
- package/guidelines/foundations-size-tiers.html +1 -1
- package/guidelines/foundations-spacing.html +1 -1
- package/guidelines/interaction-states.html +1 -1
- package/guidelines/type-extended.html +1 -1
- package/guidelines/type-mono.html +1 -1
- package/guidelines/type-scale.html +1 -1
- package/guidelines/type-weights.html +1 -1
- package/index.html +10 -10
- package/package.json +7 -6
- package/readme.md +4 -4
- package/readme.zh-CN.md +4 -4
- package/site-nav.js +1 -1
- package/styles.css +1 -0
- package/tokens/ai.css +17 -0
- package/tokens/colors.css +1 -1
- package/tokens/tokens.d.ts +28 -0
- package/tokens/tokens.js +47 -5
- package/tokens/tokens.json +123 -5
- package/components/feedback/_internal/MessageBoxView.vue +0 -237
- package/components/feedback/_internal/MessageView.vue +0 -73
- package/components/feedback/message.js +0 -68
- /package/{components/feedback → _vue-services}/message-box.d.ts +0 -0
- /package/{components/feedback → _vue-services}/message-box.js +0 -0
- /package/{components/feedback → _vue-services}/message.d.ts +0 -0
package/_scripts/build-index.mjs
CHANGED
|
@@ -23,7 +23,7 @@ const dirs = readdirSync(componentsDir)
|
|
|
23
23
|
const PUBLIC_LOWER = new Set(['applyStoredTheme', 'loadLucide', 'setLucideSource']);
|
|
24
24
|
const isPublic = (n) => /^[A-Z][A-Za-z0-9_]*$/.test(n) || PUBLIC_LOWER.has(n);
|
|
25
25
|
/* Framework-neutral modules the Vue entry re-exports (React gets the same values through the .jsx files). */
|
|
26
|
-
const VUE_MODULES = ['navigation/nav-model.js', 'navigation/theme-store.js', 'pipeline/pipeline-catalog.js', 'icons/icon-paths.js', 'icons/feather-paths.js', 'icons/lucide-loader.js'];
|
|
26
|
+
const VUE_MODULES = ['navigation/nav-model.js', 'navigation/theme-store.js', 'pipeline/pipeline-catalog.js', 'icons/icon-paths.js', 'icons/feather-paths.js', 'icons/lucide-loader.js', 'forms/global-search.js'];
|
|
27
27
|
|
|
28
28
|
/** Named public exports declared in a source file. */
|
|
29
29
|
function exportsOf(src) {
|
package/_src/icon-index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.KB_ICON_INDEX=[{"name":"search","set":"core","tags":["search","find","magnifier","magnifying glass"]},{"name":"bell","set":"core","tags":["bell","alarm","notification","sound"]},{"name":"panel-left","set":"core","tags":["panel","left"]},{"name":"house","set":"core","tags":["house"]},{"name":"file","set":"core","tags":["file"]},{"name":"file-text","set":"core","tags":["file","text","data","txt","pdf"]},{"name":"file-check","set":"core","tags":["file","check"]},{"name":"layout-grid","set":"core","tags":["layout","grid"]},{"name":"database","set":"core","tags":["database","storage","memory"]},{"name":"scale","set":"core","tags":["scale"]},{"name":"network","set":"core","tags":["network"]},{"name":"folder","set":"core","tags":["folder","directory"]},{"name":"folder-open","set":"core","tags":["folder","open"]},{"name":"folder-cog","set":"core","tags":["folder","cog"]},{"name":"settings","set":"core","tags":["settings","cog","edit","gear","preferences"]},{"name":"settings-2","set":"core","tags":["settings","2"]},{"name":"moon","set":"core","tags":["moon","dark","night"]},{"name":"circle-help","set":"core","tags":["circle","help"]},{"name":"model","set":"core","tags":["model","modeling","cube","box","package","3d","dimension"]},{"name":"workflow","set":"core","tags":["workflow"]},{"name":"shield","set":"core","tags":["shield","security","secure"]},{"name":"refresh-cw","set":"core","tags":["refresh","cw","synchronise","arrows"]},{"name":"chart-line","set":"core","tags":["chart","line"]},{"name":"chart-column","set":"core","tags":["chart","column"]},{"name":"chart-no-axes-column","set":"core","tags":["chart","no","axes","column"]},{"name":"list-todo","set":"core","tags":["list","todo"]},{"name":"circle-check","set":"core","tags":["circle","check"]},{"name":"target","set":"core","tags":["target","logo","bullseye"]},{"name":"book-open","set":"core","tags":["book","open","read","library"]},{"name":"chevron-down","set":"core","tags":["chevron","down","expand"]},{"name":"chevron-right","set":"core","tags":["chevron","right"]},{"name":"chevron-left","set":"core","tags":["chevron","left"]},{"name":"chevron-up","set":"core","tags":["chevron","up","collapse"]},{"name":"arrow-left","set":"core","tags":["arrow","left"]},{"name":"arrow-right","set":"core","tags":["arrow","right"]},{"name":"arrow-right-left","set":"core","tags":["arrow","right","left"]},{"name":"table","set":"core","tags":["table"]},{"name":"layers","set":"core","tags":["layers","stack","hierarchy"]},{"name":"grid-3x3","set":"core","tags":["grid","3x3"]},{"name":"text-search","set":"core","tags":["text","search"]},{"name":"shuffle","set":"core","tags":["shuffle","music"]},{"name":"split","set":"core","tags":["split"]},{"name":"menu","set":"core","tags":["menu","bars","navigation","hamburger"]},{"name":"list","set":"core","tags":["list","options"]},{"name":"funnel","set":"core","tags":["funnel"]},{"name":"sliders-horizontal","set":"core","tags":["sliders","horizontal"]},{"name":"trending-up","set":"core","tags":["trending","up"]},{"name":"code","set":"core","tags":["code","source","programming"]},{"name":"merge","set":"core","tags":["merge"]},{"name":"upload","set":"core","tags":["upload"]},{"name":"download","set":"core","tags":["download"]},{"name":"check","set":"core","tags":["check"]},{"name":"x","set":"core","tags":["x","cancel","close","delete","remove","times","clear"]},{"name":"plus","set":"core","tags":["plus","add","new"]},{"name":"minus","set":"core","tags":["minus","subtract"]},{"name":"ellipsis","set":"core","tags":["ellipsis"]},{"name":"play","set":"core","tags":["play","music","start"]},{"name":"send","set":"core","tags":["send","message","mail","email","paper airplane","paper aeroplane"]},{"name":"eye","set":"core","tags":["eye","view","watch"]},{"name":"copy","set":"core","tags":["copy","clone","duplicate"]},{"name":"trash-2","set":"core","tags":["trash","2","garbage","delete","remove","bin"]},{"name":"clock","set":"core","tags":["clock","time","watch","alarm"]},{"name":"calendar","set":"core","tags":["calendar","date"]},{"name":"undo-2","set":"core","tags":["undo","2"]},{"name":"redo-2","set":"core","tags":["redo","2"]},{"name":"history","set":"core","tags":["history"]},{"name":"bug","set":"core","tags":["bug"]},{"name":"info","set":"core","tags":["info"]},{"name":"triangle-alert","set":"core","tags":["triangle","alert"]},{"name":"event","set":"core","tags":["event","milestone","trigger","business event","diamond","stream"]},{"name":"consolidation","set":"core","tags":["consolidation","sum","aggregate","roll up","entities","group","total"]},{"name":"journal","set":"core","tags":["journal","ledger","entry","debit","credit","t-account","accounting","posting"]},{"name":"reconciliation","set":"core","tags":["reconciliation","match","check","tick","verify","compare","statement"]},{"name":"view-tree","set":"core","tags":["tree","tree view","hierarchy","outline","structure","parent","child"]},{"name":"drilldown","set":"core","tags":["drill down","drilldown","detail","expand","level","arrow down"]},{"name":"add-below","set":"core","tags":["add below","insert","new row","add","plus","after"]},{"name":"copy-data","set":"core","tags":["copy data","copy","import","load","into","transfer"]},{"name":"task-execution","set":"core","tags":["task","execute","execution","run","clipboard","start"]},{"name":"time-future","set":"core","tags":["future","forward","forecast","time","clock","period"]},{"name":"time-restatement","set":"core","tags":["restatement","restate","past","rewind","time","clock","period"]},{"name":"activity","set":"feather","tags":["activity","pulse","health","action","motion"]},{"name":"airplay","set":"feather","tags":["airplay","stream","cast","mirroring"]},{"name":"alert-circle","set":"feather","tags":["alert","circle","warning","danger"]},{"name":"alert-octagon","set":"feather","tags":["alert","octagon","warning","danger"]},{"name":"alert-triangle","set":"feather","tags":["alert","triangle","warning","danger"]},{"name":"align-center","set":"feather","tags":["align","center","text alignment"]},{"name":"align-justify","set":"feather","tags":["align","justify","text alignment","justified"]},{"name":"align-left","set":"feather","tags":["align","left","text alignment"]},{"name":"align-right","set":"feather","tags":["align","right","text alignment"]},{"name":"anchor","set":"feather","tags":["anchor"]},{"name":"aperture","set":"feather","tags":["aperture","camera","photo"]},{"name":"archive","set":"feather","tags":["archive","index","box"]},{"name":"arrow-down-circle","set":"feather","tags":["arrow","down","circle"]},{"name":"arrow-down-left","set":"feather","tags":["arrow","down","left"]},{"name":"arrow-down-right","set":"feather","tags":["arrow","down","right"]},{"name":"arrow-down","set":"feather","tags":["arrow","down"]},{"name":"arrow-left-circle","set":"feather","tags":["arrow","left","circle"]},{"name":"arrow-right-circle","set":"feather","tags":["arrow","right","circle"]},{"name":"arrow-up-circle","set":"feather","tags":["arrow","up","circle"]},{"name":"arrow-up-left","set":"feather","tags":["arrow","up","left"]},{"name":"arrow-up-right","set":"feather","tags":["arrow","up","right"]},{"name":"arrow-up","set":"feather","tags":["arrow","up"]},{"name":"at-sign","set":"feather","tags":["at","sign","mention","email","message"]},{"name":"award","set":"feather","tags":["award","achievement","badge"]},{"name":"bar-chart-2","set":"feather","tags":["bar","chart","2","statistics","diagram","graph"]},{"name":"bar-chart","set":"feather","tags":["bar","chart","statistics","diagram","graph"]},{"name":"battery-charging","set":"feather","tags":["battery","charging","power","electricity"]},{"name":"battery","set":"feather","tags":["battery","power","electricity"]},{"name":"bell-off","set":"feather","tags":["bell","off","alarm","notification","silent"]},{"name":"bluetooth","set":"feather","tags":["bluetooth","wireless"]},{"name":"bold","set":"feather","tags":["bold"]},{"name":"book","set":"feather","tags":["book","read","dictionary","booklet","magazine","library"]},{"name":"bookmark","set":"feather","tags":["bookmark","read","clip","marker","tag"]},{"name":"briefcase","set":"feather","tags":["briefcase","work","bag","baggage","folder"]},{"name":"camera-off","set":"feather","tags":["camera","off"]},{"name":"camera","set":"feather","tags":["camera","photo"]},{"name":"cast","set":"feather","tags":["cast","chromecast","airplay"]},{"name":"check-circle","set":"feather","tags":["check","circle"]},{"name":"check-square","set":"feather","tags":["check","square"]},{"name":"chevrons-down","set":"feather","tags":["chevrons","down"]},{"name":"chevrons-left","set":"feather","tags":["chevrons","left"]},{"name":"chevrons-right","set":"feather","tags":["chevrons","right"]},{"name":"chevrons-up","set":"feather","tags":["chevrons","up"]},{"name":"chrome","set":"feather","tags":["chrome"]},{"name":"circle","set":"feather","tags":["circle","off","zero","record"]},{"name":"clipboard","set":"feather","tags":["clipboard","copy"]},{"name":"cloud-drizzle","set":"feather","tags":["cloud","drizzle","weather","shower"]},{"name":"cloud-lightning","set":"feather","tags":["cloud","lightning","weather","bolt"]},{"name":"cloud-off","set":"feather","tags":["cloud","off"]},{"name":"cloud-rain","set":"feather","tags":["cloud","rain","weather"]},{"name":"cloud-snow","set":"feather","tags":["cloud","snow","weather","blizzard"]},{"name":"cloud","set":"feather","tags":["cloud","weather"]},{"name":"codepen","set":"feather","tags":["codepen","logo"]},{"name":"codesandbox","set":"feather","tags":["codesandbox","logo"]},{"name":"coffee","set":"feather","tags":["coffee","drink","cup","mug","tea","cafe","hot","beverage"]},{"name":"columns","set":"feather","tags":["columns","layout"]},{"name":"command","set":"feather","tags":["command","keyboard","cmd","terminal","prompt"]},{"name":"compass","set":"feather","tags":["compass","navigation","safari","travel","direction"]},{"name":"corner-down-left","set":"feather","tags":["corner","down","left","arrow","return"]},{"name":"corner-down-right","set":"feather","tags":["corner","down","right","arrow"]},{"name":"corner-left-down","set":"feather","tags":["corner","left","down","arrow"]},{"name":"corner-left-up","set":"feather","tags":["corner","left","up","arrow"]},{"name":"corner-right-down","set":"feather","tags":["corner","right","down","arrow"]},{"name":"corner-right-up","set":"feather","tags":["corner","right","up","arrow"]},{"name":"corner-up-left","set":"feather","tags":["corner","up","left","arrow"]},{"name":"corner-up-right","set":"feather","tags":["corner","up","right","arrow"]},{"name":"cpu","set":"feather","tags":["cpu","processor","technology"]},{"name":"credit-card","set":"feather","tags":["credit","card","purchase","payment","cc"]},{"name":"crop","set":"feather","tags":["crop","photo","image"]},{"name":"crosshair","set":"feather","tags":["crosshair","aim","target"]},{"name":"delete","set":"feather","tags":["delete","remove"]},{"name":"disc","set":"feather","tags":["disc","album","cd","dvd","music"]},{"name":"divide-circle","set":"feather","tags":["divide","circle"]},{"name":"divide-square","set":"feather","tags":["divide","square"]},{"name":"divide","set":"feather","tags":["divide"]},{"name":"dollar-sign","set":"feather","tags":["dollar","sign","currency","money","payment"]},{"name":"download-cloud","set":"feather","tags":["download","cloud"]},{"name":"dribbble","set":"feather","tags":["dribbble"]},{"name":"droplet","set":"feather","tags":["droplet","water"]},{"name":"edit-2","set":"feather","tags":["edit","2","pencil","change"]},{"name":"edit-3","set":"feather","tags":["edit","3","pencil","change"]},{"name":"edit","set":"feather","tags":["edit","pencil","change"]},{"name":"external-link","set":"feather","tags":["external","link","outbound"]},{"name":"eye-off","set":"feather","tags":["eye","off","view","watch","hide","hidden"]},{"name":"facebook","set":"feather","tags":["facebook","logo","social"]},{"name":"fast-forward","set":"feather","tags":["fast","forward","music"]},{"name":"feather","set":"feather","tags":["feather"]},{"name":"figma","set":"feather","tags":["figma","logo","design","tool"]},{"name":"file-minus","set":"feather","tags":["file","minus","delete","remove","erase"]},{"name":"file-plus","set":"feather","tags":["file","plus","add","create","new"]},{"name":"film","set":"feather","tags":["film","movie","video"]},{"name":"filter","set":"feather","tags":["filter","funnel","hopper"]},{"name":"flag","set":"feather","tags":["flag","report"]},{"name":"folder-minus","set":"feather","tags":["folder","minus","directory"]},{"name":"folder-plus","set":"feather","tags":["folder","plus","directory"]},{"name":"framer","set":"feather","tags":["framer","logo","design","tool"]},{"name":"frown","set":"feather","tags":["frown","emoji","face","bad","sad","emotion"]},{"name":"gift","set":"feather","tags":["gift","present","box","birthday","party"]},{"name":"git-branch","set":"feather","tags":["git","branch","code","version control"]},{"name":"git-commit","set":"feather","tags":["git","commit","code","version control"]},{"name":"git-merge","set":"feather","tags":["git","merge","code","version control"]},{"name":"git-pull-request","set":"feather","tags":["git","pull","request","code","version control"]},{"name":"github","set":"feather","tags":["github","logo","version control"]},{"name":"gitlab","set":"feather","tags":["gitlab","logo","version control"]},{"name":"globe","set":"feather","tags":["globe","world","browser","language","translate"]},{"name":"grid","set":"feather","tags":["grid"]},{"name":"hard-drive","set":"feather","tags":["hard","drive","computer","server","memory","data"]},{"name":"hash","set":"feather","tags":["hash","hashtag","number","pound"]},{"name":"headphones","set":"feather","tags":["headphones","music","audio","sound"]},{"name":"heart","set":"feather","tags":["heart","like","love","emotion"]},{"name":"help-circle","set":"feather","tags":["help","circle","question mark"]},{"name":"hexagon","set":"feather","tags":["hexagon","shape","node.js","logo"]},{"name":"home","set":"feather","tags":["home","house","living"]},{"name":"image","set":"feather","tags":["image","picture"]},{"name":"inbox","set":"feather","tags":["inbox","email"]},{"name":"instagram","set":"feather","tags":["instagram","logo","camera"]},{"name":"italic","set":"feather","tags":["italic"]},{"name":"key","set":"feather","tags":["key","password","login","authentication","secure"]},{"name":"layout","set":"feather","tags":["layout","window","webpage"]},{"name":"life-buoy","set":"feather","tags":["life","buoy","help","life ring","support"]},{"name":"link-2","set":"feather","tags":["link","2","chain","url"]},{"name":"link","set":"feather","tags":["link","chain","url"]},{"name":"linkedin","set":"feather","tags":["linkedin","logo","social media"]},{"name":"loader","set":"feather","tags":["loader"]},{"name":"lock","set":"feather","tags":["lock","security","password","secure"]},{"name":"log-in","set":"feather","tags":["log","in","sign in","arrow","enter"]},{"name":"log-out","set":"feather","tags":["log","out","sign out","arrow","exit"]},{"name":"mail","set":"feather","tags":["mail","email","message"]},{"name":"map-pin","set":"feather","tags":["map","pin","location","navigation","travel","marker"]},{"name":"map","set":"feather","tags":["map","location","navigation","travel"]},{"name":"maximize-2","set":"feather","tags":["maximize","2","fullscreen","arrows","expand"]},{"name":"maximize","set":"feather","tags":["maximize","fullscreen"]},{"name":"meh","set":"feather","tags":["meh","emoji","face","neutral","emotion"]},{"name":"message-circle","set":"feather","tags":["message","circle","comment","chat"]},{"name":"message-square","set":"feather","tags":["message","square","comment","chat"]},{"name":"mic-off","set":"feather","tags":["mic","off","record","sound","mute"]},{"name":"mic","set":"feather","tags":["mic","record","sound","listen"]},{"name":"minimize-2","set":"feather","tags":["minimize","2","exit fullscreen","arrows","close"]},{"name":"minimize","set":"feather","tags":["minimize","exit fullscreen","close"]},{"name":"minus-circle","set":"feather","tags":["minus","circle"]},{"name":"minus-square","set":"feather","tags":["minus","square"]},{"name":"monitor","set":"feather","tags":["monitor","tv","screen","display"]},{"name":"more-horizontal","set":"feather","tags":["more","horizontal","ellipsis"]},{"name":"more-vertical","set":"feather","tags":["more","vertical","ellipsis"]},{"name":"mouse-pointer","set":"feather","tags":["mouse","pointer","arrow","cursor"]},{"name":"move","set":"feather","tags":["move","arrows"]},{"name":"music","set":"feather","tags":["music","note"]},{"name":"navigation-2","set":"feather","tags":["navigation","2","location","travel"]},{"name":"navigation","set":"feather","tags":["navigation","location","travel"]},{"name":"octagon","set":"feather","tags":["octagon","stop"]},{"name":"package","set":"feather","tags":["package","box","container"]},{"name":"paperclip","set":"feather","tags":["paperclip","attachment"]},{"name":"pause-circle","set":"feather","tags":["pause","circle","music","audio","stop"]},{"name":"pause","set":"feather","tags":["pause","music","stop"]},{"name":"pen-tool","set":"feather","tags":["pen","tool","vector","drawing"]},{"name":"percent","set":"feather","tags":["percent","discount"]},{"name":"phone-call","set":"feather","tags":["phone","call","ring"]},{"name":"phone-forwarded","set":"feather","tags":["phone","forwarded","call"]},{"name":"phone-incoming","set":"feather","tags":["phone","incoming","call"]},{"name":"phone-missed","set":"feather","tags":["phone","missed","call"]},{"name":"phone-off","set":"feather","tags":["phone","off","call","mute"]},{"name":"phone-outgoing","set":"feather","tags":["phone","outgoing","call"]},{"name":"phone","set":"feather","tags":["phone","call"]},{"name":"pie-chart","set":"feather","tags":["pie","chart","statistics","diagram"]},{"name":"play-circle","set":"feather","tags":["play","circle","music","start"]},{"name":"plus-circle","set":"feather","tags":["plus","circle","add","new"]},{"name":"plus-square","set":"feather","tags":["plus","square","add","new"]},{"name":"pocket","set":"feather","tags":["pocket","logo","save"]},{"name":"power","set":"feather","tags":["power","on","off"]},{"name":"printer","set":"feather","tags":["printer","fax","office","device"]},{"name":"radio","set":"feather","tags":["radio","signal"]},{"name":"refresh-ccw","set":"feather","tags":["refresh","ccw","arrows"]},{"name":"repeat","set":"feather","tags":["repeat","loop","arrows","change"]},{"name":"rewind","set":"feather","tags":["rewind","music"]},{"name":"rotate-ccw","set":"feather","tags":["rotate","ccw","arrow"]},{"name":"rotate-cw","set":"feather","tags":["rotate","cw","arrow"]},{"name":"rss","set":"feather","tags":["rss","feed","subscribe"]},{"name":"save","set":"feather","tags":["save","floppy disk"]},{"name":"scissors","set":"feather","tags":["scissors","cut"]},{"name":"server","set":"feather","tags":["server"]},{"name":"share-2","set":"feather","tags":["share","2","network","connections"]},{"name":"share","set":"feather","tags":["share"]},{"name":"shield-off","set":"feather","tags":["shield","off","security","insecure"]},{"name":"shopping-bag","set":"feather","tags":["shopping","bag","ecommerce","cart","purchase","store"]},{"name":"shopping-cart","set":"feather","tags":["shopping","cart","ecommerce","purchase","store"]},{"name":"sidebar","set":"feather","tags":["sidebar"]},{"name":"skip-back","set":"feather","tags":["skip","back","music"]},{"name":"skip-forward","set":"feather","tags":["skip","forward","music"]},{"name":"slack","set":"feather","tags":["slack","logo"]},{"name":"slash","set":"feather","tags":["slash","ban","no"]},{"name":"sliders","set":"feather","tags":["sliders","settings","controls"]},{"name":"smartphone","set":"feather","tags":["smartphone","cellphone","device"]},{"name":"smile","set":"feather","tags":["smile","emoji","face","happy","good","emotion"]},{"name":"speaker","set":"feather","tags":["speaker","audio","music"]},{"name":"square","set":"feather","tags":["square"]},{"name":"star","set":"feather","tags":["star","bookmark","favorite","like"]},{"name":"stop-circle","set":"feather","tags":["stop","circle","media","music"]},{"name":"sun","set":"feather","tags":["sun","brightness","weather","light"]},{"name":"sunrise","set":"feather","tags":["sunrise","weather","time","morning","day"]},{"name":"sunset","set":"feather","tags":["sunset","weather","time","evening","night"]},{"name":"tablet","set":"feather","tags":["tablet","device"]},{"name":"tag","set":"feather","tags":["tag","label"]},{"name":"terminal","set":"feather","tags":["terminal","code","command line","prompt"]},{"name":"thermometer","set":"feather","tags":["thermometer","temperature","celsius","fahrenheit","weather"]},{"name":"thumbs-down","set":"feather","tags":["thumbs","down","dislike","bad","emotion"]},{"name":"thumbs-up","set":"feather","tags":["thumbs","up","like","good","emotion"]},{"name":"toggle-left","set":"feather","tags":["toggle","left","on","off","switch"]},{"name":"toggle-right","set":"feather","tags":["toggle","right","on","off","switch"]},{"name":"tool","set":"feather","tags":["tool","settings","spanner"]},{"name":"trash","set":"feather","tags":["trash","garbage","delete","remove","bin"]},{"name":"trello","set":"feather","tags":["trello"]},{"name":"trending-down","set":"feather","tags":["trending","down"]},{"name":"triangle","set":"feather","tags":["triangle","delta"]},{"name":"truck","set":"feather","tags":["truck","delivery","van","shipping","transport","lorry"]},{"name":"tv","set":"feather","tags":["tv","television","stream"]},{"name":"twitch","set":"feather","tags":["twitch","logo"]},{"name":"twitter","set":"feather","tags":["twitter","logo","social"]},{"name":"type","set":"feather","tags":["type","text"]},{"name":"umbrella","set":"feather","tags":["umbrella","rain","weather"]},{"name":"underline","set":"feather","tags":["underline"]},{"name":"unlock","set":"feather","tags":["unlock","security"]},{"name":"upload-cloud","set":"feather","tags":["upload","cloud"]},{"name":"user-check","set":"feather","tags":["user","check","followed","subscribed"]},{"name":"user-minus","set":"feather","tags":["user","minus","delete","remove","unfollow","unsubscribe"]},{"name":"user-plus","set":"feather","tags":["user","plus","new","add","create","follow","subscribe"]},{"name":"user-x","set":"feather","tags":["user","x","delete","remove","unfollow","unsubscribe","unavailable"]},{"name":"user","set":"feather","tags":["user","person","account"]},{"name":"users","set":"feather","tags":["users","group"]},{"name":"video-off","set":"feather","tags":["video","off","camera","movie","film"]},{"name":"video","set":"feather","tags":["video","camera","movie","film"]},{"name":"voicemail","set":"feather","tags":["voicemail","phone"]},{"name":"volume-1","set":"feather","tags":["volume","1","music","sound"]},{"name":"volume-2","set":"feather","tags":["volume","2","music","sound"]},{"name":"volume-x","set":"feather","tags":["volume","x","music","sound","mute"]},{"name":"volume","set":"feather","tags":["volume","music","sound","mute"]},{"name":"watch","set":"feather","tags":["watch","clock","time"]},{"name":"wifi-off","set":"feather","tags":["wifi","off","disabled"]},{"name":"wifi","set":"feather","tags":["wifi","connection","signal","wireless"]},{"name":"wind","set":"feather","tags":["wind","weather","air"]},{"name":"x-circle","set":"feather","tags":["x","circle","cancel","close","delete","remove","times","clear"]},{"name":"x-octagon","set":"feather","tags":["x","octagon","delete","stop","alert","warning","times","clear"]},{"name":"x-square","set":"feather","tags":["x","square","cancel","close","delete","remove","times","clear"]},{"name":"youtube","set":"feather","tags":["youtube","logo","video","play"]},{"name":"zap-off","set":"feather","tags":["zap","off","flash","camera","lightning"]},{"name":"zap","set":"feather","tags":["zap","flash","camera","lightning"]},{"name":"zoom-in","set":"feather","tags":["zoom","in","magnifying glass"]},{"name":"zoom-out","set":"feather","tags":["zoom","out","magnifying glass"]},{"name":"dimension-account","set":"core","tags":["account","chart of accounts","ledger","general ledger","book","coa","科目","会计科目","总账"]},{"name":"dimension-audit","set":"core","tags":["audit","audit trail","adjustment","search","inspect","file","审计","审计轨迹","调整"]},{"name":"dimension-currency","set":"core","tags":["currency","exchange","fx","conversion","dollar","yen","rmb","币种","货币","汇率","换算"]},{"name":"dimension-custom_default","set":"core","tags":["custom","dimension","model","cube","box","自定义","维度"]},{"name":"dimension-entity","set":"core","tags":["entity","legal entity","company","organization","buildings","subsidiary","实体","法人","公司","组织"]},{"name":"dimension-group","set":"core","tags":["group","consolidation group","hierarchy","network","tree","集团","组","层级"]},{"name":"dimension-intercompany","set":"core","tags":["intercompany","counterparty","exchange","transfer","往来","内部往来","关联方"]},{"name":"dimension-subtable","set":"core","tags":["subtable","table","detail","sub table","grid","子表","明细表"]},{"name":"dimension-time","set":"core","tags":["time","period","fiscal period","calendar","clock","month","year","期间","会计期间","时间","年月"]},{"name":"dimension-version","set":"core","tags":["version","actual","budget","forecast","branch","版本","实际","预算","预测"]},{"name":"version-exempt","set":"core","tags":["version exempt","exclude","excluded","branch","remove","版本豁免","排除"]},{"name":"model-exempt","set":"core","tags":["model exempt","exclude","excluded","cube","remove","模型豁免","排除"]},{"name":"modeling","set":"core","tags":["modeling","model design","designer","monitor","screen","cube","建模","模型设计"]},{"name":"restatement","set":"core","tags":["restatement","retrospective","history","adjust","restate","重述","追溯调整"]},{"name":"review","set":"core","tags":["review","check","view","inspect","eye","file","审阅","复核","查看"]},{"name":"admin","set":"core","tags":["admin","administration","settings","system","manage","管理","系统设置"]},{"name":"analytics","set":"core","tags":["analytics","analysis","insight","trend","dashboard","monitor","chart","分析","洞察","趋势"]},{"name":"automation","set":"core","tags":["automation","automate","run","schedule","gear","play","自动化","自动执行"]},{"name":"data_integration","set":"core","tags":["data integration","sync","connector","external data","数据集成","外部数据","接入","database","sources","merge","hub","数据源","汇集"]},{"name":"reconciliation-entity","set":"core","tags":["reconciliation","entity","company","buildings","实体对账","法人对账"]},{"name":"reconciliation-balance","set":"core","tags":["reconciliation","balance","coins","money","余额对账","科目余额"]},{"name":"scenario","set":"core","tags":["scenario","what if","compare","budget","forecast","情景","假设","对比"]},{"name":"report","set":"core","tags":["report","financial report","chart","line chart","报表","财务报告"]},{"name":"spreadsheet","set":"core","tags":["spreadsheet","sheet","table","grid","excel","电子表格","在线表格"]},{"name":"sheet","set":"core","tags":["sheet","worksheet","form","table","grid","表单","工作表"]},{"name":"script","set":"core","tags":["script","code","custom code","developer","脚本","代码","自定义代码"]},{"name":"workflow_group","set":"core","tags":["workflow group","workflow","folder","process","工作流组","流程集合"]},{"name":"model_interaction","set":"core","tags":["model interaction","model sync","link","exchange","cubes","模型交互","数据联动"]},{"name":"announcement","set":"core","tags":["announcement","notice","megaphone","broadcast","news","file","公告","通知","公示"]},{"name":"approval","set":"core","tags":["approval","approve","approved","badge","check","verified","审批","批准","通过"]},{"name":"data-import","set":"core","tags":["data import","import","load","database","in","down","数据导入","导入"]},{"name":"data-export","set":"core","tags":["data export","export","unload","database","out","up","数据导出","导出"]},{"name":"execution","set":"core","tags":["execution","execute","run","calculate","gear","check","done","执行","运行","计算"]},{"name":"submission","set":"core","tags":["submission","submit","send","report up","check","提交","上报"]},{"name":"expense_control","set":"core","tags":["expense control","expense","cost","budget control","gear","dollar","费用控制","费用","成本"]},{"name":"expense_control-aggregate","set":"core","tags":["expense control","aggregate","total","sum","merge","gear","汇总控制","汇总"]},{"name":"expense_control-limit","set":"core","tags":["expense control","limit","ceiling","cap","max","gear","上限控制","上限"]},{"name":"expense_control-enumerated","set":"core","tags":["expense control","enumerated","list","itemized","detail","gear","明细列举","明细"]},{"name":"expense_control-quota","set":"core","tags":["expense control","quota","percent","ratio","allowance","gear","额度控制","额度","比例"]},{"name":"profile-access","set":"core","tags":["profile access","access","permission","key","user","authorization","权限档案","访问授权","权限"]},{"name":"usergroup","set":"core","tags":["user group","users","team","members","people","用户组","团队"]},{"name":"user","set":"core","tags":["user","person","account","profile","member","用户","个人"]},{"name":"profile-system","set":"core","tags":["profile system","system","settings","user","gear","config","系统档案","系统配置"]},{"name":"rules-initialization","set":"core","tags":["rules","initialization","init","start","power","reset","规则","初始化"]},{"name":"rules-subsidy","set":"core","tags":["rules","subsidy","grant","allowance","dollar","plus","规则","补贴"]},{"name":"rules-transfer","set":"core","tags":["rules","transfer","move","exchange","arrows","规则","转移","调拨"]},{"name":"rules-import","set":"core","tags":["rules","import","load","in","down","规则","导入"]},{"name":"rules-reclassification","set":"core","tags":["rules","reclassification","reclass","split","move","规则","重分类"]},{"name":"rules-allocation","set":"core","tags":["rules","allocation","allocate","distribute","split","规则","分摊","分配"]},{"name":"rules-account","set":"core","tags":["rules","account","list","chart of accounts","规则","科目"]},{"name":"rules-carryforward","set":"core","tags":["rules","carry forward","carryforward","roll forward","forward","规则","结转"]},{"name":"rules-compound","set":"core","tags":["rules","compound","composite","hexagon","规则","复合"]},{"name":"rules-currency","set":"core","tags":["rules","currency","dollar","fx","规则","币种","货币"]},{"name":"rules-deduction","set":"core","tags":["rules","deduction","deduct","minus","subtract","dollar","规则","扣除","抵扣"]},{"name":"rules-depreciation","set":"core","tags":["rules","depreciation","decline","trend down","规则","折旧"]},{"name":"rules-eliminations_n_adjustments","set":"core","tags":["rules","elimination","eliminations","adjustment","adjustments","plus minus","规则","抵销","调整"]},{"name":"rules-general","set":"core","tags":["rules","general","text","lines","规则","通用"]},{"name":"rules-intercompany","set":"core","tags":["rules","intercompany","buildings","companies","规则","内部往来"]},{"name":"rules-journal_matching","set":"core","tags":["rules","journal matching","match","lines","check","规则","凭证匹配","匹配"]},{"name":"rules-method","set":"core","tags":["rules","method","path","route","flow","arrow","规则","方法"]},{"name":"rules-method_coefficient","set":"core","tags":["rules","method coefficient","coefficient","factor","multiply","bracket","规则","方法系数","系数"]},{"name":"rules-validation","set":"core","tags":["rules","validation","validate","check","verify","规则","校验","验证"]},{"name":"rules-shared","set":"core","tags":["rules","shared","share","network","规则","共享"]},{"name":"task-manual","set":"core","tags":["task","manual","edit","pencil","clipboard","任务","手工","手动"]},{"name":"task-reclassification","set":"core","tags":["task","reclassification","reclass","clipboard","任务","重分类"]},{"name":"task-account","set":"core","tags":["task","account","list","clipboard","任务","科目"]},{"name":"task-allocation","set":"core","tags":["task","allocation","allocate","distribute","clipboard","任务","分摊"]},{"name":"task-carryforward","set":"core","tags":["task","carry forward","carryforward","clipboard","任务","结转"]},{"name":"task-currency","set":"core","tags":["task","currency","dollar","fx","clipboard","任务","币种"]},{"name":"task-deduction","set":"core","tags":["task","deduction","deduct","minus","clipboard","任务","扣除"]},{"name":"task-depreciation","set":"core","tags":["task","depreciation","decline","clipboard","任务","折旧"]},{"name":"task-eliminations_n_adjustments","set":"core","tags":["task","elimination","adjustment","plus minus","clipboard","任务","抵销","调整"]},{"name":"task-etl","set":"core","tags":["task","etl","extract","transform","load","database","clipboard","任务","数据抽取"]},{"name":"task-shared","set":"core","tags":["task","shared","share","clipboard","任务","共享"]},{"name":"task-intercompany","set":"core","tags":["task","intercompany","buildings","clipboard","任务","内部往来"]},{"name":"ownership","set":"core","tags":["ownership","owner","own","belongs to","responsible","key","hand","handover","custody","所有权","所有者","负责人","归属","持有"]},{"name":"ai","set":"core","tags":["ai","artificial intelligence","assistant","copilot","agent","ai agent","generative","smart","intelligent","sparkles","badge","workspace","automation"]},{"name":"ai-sparkles","set":"core","tags":["ai","sparkles","magic","generate","generative","suggest","assistant","intelligent","smart","stars","auto"]}];
|
|
1
|
+
window.KB_ICON_INDEX=[{"name":"search","set":"core","tags":["search","find","magnifier","magnifying glass"]},{"name":"bell","set":"core","tags":["bell","alarm","notification","sound"]},{"name":"panel-left","set":"core","tags":["panel","left"]},{"name":"house","set":"core","tags":["house"]},{"name":"file","set":"core","tags":["file"]},{"name":"file-text","set":"core","tags":["file","text","data","txt","pdf"]},{"name":"file-check","set":"core","tags":["file","check"]},{"name":"layout-grid","set":"core","tags":["layout","grid"]},{"name":"database","set":"core","tags":["database","storage","memory"]},{"name":"scale","set":"core","tags":["scale"]},{"name":"network","set":"core","tags":["network"]},{"name":"folder","set":"core","tags":["folder","directory"]},{"name":"folder-open","set":"core","tags":["folder","open"]},{"name":"folder-cog","set":"core","tags":["folder","cog"]},{"name":"settings","set":"core","tags":["settings","cog","edit","gear","preferences"]},{"name":"settings-2","set":"core","tags":["settings","2"]},{"name":"moon","set":"core","tags":["moon","dark","night"]},{"name":"circle-help","set":"core","tags":["circle","help"]},{"name":"model","set":"core","tags":["model","modeling","cube","box","package","3d","dimension"]},{"name":"workflow","set":"core","tags":["workflow"]},{"name":"shield","set":"core","tags":["shield","security","secure"]},{"name":"refresh-cw","set":"core","tags":["refresh","cw","synchronise","arrows"]},{"name":"chart-line","set":"core","tags":["chart","line"]},{"name":"chart-column","set":"core","tags":["chart","column"]},{"name":"chart-no-axes-column","set":"core","tags":["chart","no","axes","column"]},{"name":"list-todo","set":"core","tags":["list","todo"]},{"name":"circle-check","set":"core","tags":["circle","check"]},{"name":"target","set":"core","tags":["target","logo","bullseye"]},{"name":"book-open","set":"core","tags":["book","open","read","library"]},{"name":"chevron-down","set":"core","tags":["chevron","down","expand"]},{"name":"chevron-right","set":"core","tags":["chevron","right"]},{"name":"chevron-left","set":"core","tags":["chevron","left"]},{"name":"chevron-up","set":"core","tags":["chevron","up","collapse"]},{"name":"arrow-left","set":"core","tags":["arrow","left"]},{"name":"arrow-right","set":"core","tags":["arrow","right"]},{"name":"arrow-right-left","set":"core","tags":["arrow","right","left"]},{"name":"table","set":"core","tags":["table"]},{"name":"layers","set":"core","tags":["layers","stack","hierarchy"]},{"name":"grid-3x3","set":"core","tags":["grid","3x3"]},{"name":"text-search","set":"core","tags":["text","search"]},{"name":"shuffle","set":"core","tags":["shuffle","music"]},{"name":"split","set":"core","tags":["split"]},{"name":"menu","set":"core","tags":["menu","bars","navigation","hamburger"]},{"name":"list","set":"core","tags":["list","options"]},{"name":"funnel","set":"core","tags":["funnel"]},{"name":"sliders-horizontal","set":"core","tags":["sliders","horizontal"]},{"name":"trending-up","set":"core","tags":["trending","up"]},{"name":"code","set":"core","tags":["code","source","programming"]},{"name":"merge","set":"core","tags":["merge"]},{"name":"upload","set":"core","tags":["upload"]},{"name":"download","set":"core","tags":["download"]},{"name":"check","set":"core","tags":["check"]},{"name":"x","set":"core","tags":["x","cancel","close","delete","remove","times","clear"]},{"name":"plus","set":"core","tags":["plus","add","new"]},{"name":"minus","set":"core","tags":["minus","subtract"]},{"name":"ellipsis","set":"core","tags":["ellipsis"]},{"name":"play","set":"core","tags":["play","music","start"]},{"name":"send","set":"core","tags":["send","message","mail","email","paper airplane","paper aeroplane"]},{"name":"eye","set":"core","tags":["eye","view","watch"]},{"name":"copy","set":"core","tags":["copy","clone","duplicate"]},{"name":"trash-2","set":"core","tags":["trash","2","garbage","delete","remove","bin"]},{"name":"clock","set":"core","tags":["clock","time","watch","alarm"]},{"name":"calendar","set":"core","tags":["calendar","date"]},{"name":"undo-2","set":"core","tags":["undo","2"]},{"name":"redo-2","set":"core","tags":["redo","2"]},{"name":"history","set":"core","tags":["history"]},{"name":"bug","set":"core","tags":["bug"]},{"name":"info","set":"core","tags":["info"]},{"name":"triangle-alert","set":"core","tags":["triangle","alert"]},{"name":"event","set":"core","tags":["event","milestone","trigger","business event","diamond","stream"]},{"name":"consolidation","set":"core","tags":["consolidation","sum","aggregate","roll up","entities","group","total"]},{"name":"journal","set":"core","tags":["journal","ledger","entry","debit","credit","t-account","accounting","posting"]},{"name":"reconciliation","set":"core","tags":["reconciliation","match","check","tick","verify","compare","statement"]},{"name":"view-tree","set":"core","tags":["tree","tree view","hierarchy","outline","structure","parent","child"]},{"name":"drilldown","set":"core","tags":["drill down","drilldown","detail","expand","level","arrow down"]},{"name":"add-below","set":"core","tags":["add below","insert","new row","add","plus","after"]},{"name":"copy-data","set":"core","tags":["copy data","copy","import","load","into","transfer"]},{"name":"task-execution","set":"core","tags":["task","execute","execution","run","clipboard","start"]},{"name":"time-future","set":"core","tags":["future","forward","forecast","time","clock","period"]},{"name":"time-restatement","set":"core","tags":["restatement","restate","past","rewind","time","clock","period"]},{"name":"activity","set":"feather","tags":["activity","pulse","health","action","motion"]},{"name":"airplay","set":"feather","tags":["airplay","stream","cast","mirroring"]},{"name":"alert-circle","set":"feather","tags":["alert","circle","warning","danger"]},{"name":"alert-octagon","set":"feather","tags":["alert","octagon","warning","danger"]},{"name":"alert-triangle","set":"feather","tags":["alert","triangle","warning","danger"]},{"name":"align-center","set":"feather","tags":["align","center","text alignment"]},{"name":"align-justify","set":"feather","tags":["align","justify","text alignment","justified"]},{"name":"align-left","set":"feather","tags":["align","left","text alignment"]},{"name":"align-right","set":"feather","tags":["align","right","text alignment"]},{"name":"anchor","set":"feather","tags":["anchor"]},{"name":"aperture","set":"feather","tags":["aperture","camera","photo"]},{"name":"archive","set":"feather","tags":["archive","index","box"]},{"name":"arrow-down-circle","set":"feather","tags":["arrow","down","circle"]},{"name":"arrow-down-left","set":"feather","tags":["arrow","down","left"]},{"name":"arrow-down-right","set":"feather","tags":["arrow","down","right"]},{"name":"arrow-down","set":"feather","tags":["arrow","down"]},{"name":"arrow-left-circle","set":"feather","tags":["arrow","left","circle"]},{"name":"arrow-right-circle","set":"feather","tags":["arrow","right","circle"]},{"name":"arrow-up-circle","set":"feather","tags":["arrow","up","circle"]},{"name":"arrow-up-left","set":"feather","tags":["arrow","up","left"]},{"name":"arrow-up-right","set":"feather","tags":["arrow","up","right"]},{"name":"arrow-up","set":"feather","tags":["arrow","up"]},{"name":"at-sign","set":"feather","tags":["at","sign","mention","email","message"]},{"name":"award","set":"feather","tags":["award","achievement","badge"]},{"name":"bar-chart-2","set":"feather","tags":["bar","chart","2","statistics","diagram","graph"]},{"name":"bar-chart","set":"feather","tags":["bar","chart","statistics","diagram","graph"]},{"name":"battery-charging","set":"feather","tags":["battery","charging","power","electricity"]},{"name":"battery","set":"feather","tags":["battery","power","electricity"]},{"name":"bell-off","set":"feather","tags":["bell","off","alarm","notification","silent"]},{"name":"bluetooth","set":"feather","tags":["bluetooth","wireless"]},{"name":"bold","set":"feather","tags":["bold"]},{"name":"book","set":"feather","tags":["book","read","dictionary","booklet","magazine","library"]},{"name":"bookmark","set":"feather","tags":["bookmark","read","clip","marker","tag"]},{"name":"briefcase","set":"feather","tags":["briefcase","work","bag","baggage","folder"]},{"name":"camera-off","set":"feather","tags":["camera","off"]},{"name":"camera","set":"feather","tags":["camera","photo"]},{"name":"cast","set":"feather","tags":["cast","chromecast","airplay"]},{"name":"check-circle","set":"feather","tags":["check","circle"]},{"name":"check-square","set":"feather","tags":["check","square"]},{"name":"chevrons-down","set":"feather","tags":["chevrons","down"]},{"name":"chevrons-left","set":"feather","tags":["chevrons","left"]},{"name":"chevrons-right","set":"feather","tags":["chevrons","right"]},{"name":"chevrons-up","set":"feather","tags":["chevrons","up"]},{"name":"chrome","set":"feather","tags":["chrome"]},{"name":"circle","set":"feather","tags":["circle","off","zero","record"]},{"name":"clipboard","set":"feather","tags":["clipboard","copy"]},{"name":"cloud-drizzle","set":"feather","tags":["cloud","drizzle","weather","shower"]},{"name":"cloud-lightning","set":"feather","tags":["cloud","lightning","weather","bolt"]},{"name":"cloud-off","set":"feather","tags":["cloud","off"]},{"name":"cloud-rain","set":"feather","tags":["cloud","rain","weather"]},{"name":"cloud-snow","set":"feather","tags":["cloud","snow","weather","blizzard"]},{"name":"cloud","set":"feather","tags":["cloud","weather"]},{"name":"codepen","set":"feather","tags":["codepen","logo"]},{"name":"codesandbox","set":"feather","tags":["codesandbox","logo"]},{"name":"coffee","set":"feather","tags":["coffee","drink","cup","mug","tea","cafe","hot","beverage"]},{"name":"columns","set":"feather","tags":["columns","layout"]},{"name":"command","set":"feather","tags":["command","keyboard","cmd","terminal","prompt"]},{"name":"compass","set":"feather","tags":["compass","navigation","safari","travel","direction"]},{"name":"corner-down-left","set":"feather","tags":["corner","down","left","arrow","return"]},{"name":"corner-down-right","set":"feather","tags":["corner","down","right","arrow"]},{"name":"corner-left-down","set":"feather","tags":["corner","left","down","arrow"]},{"name":"corner-left-up","set":"feather","tags":["corner","left","up","arrow"]},{"name":"corner-right-down","set":"feather","tags":["corner","right","down","arrow"]},{"name":"corner-right-up","set":"feather","tags":["corner","right","up","arrow"]},{"name":"corner-up-left","set":"feather","tags":["corner","up","left","arrow"]},{"name":"corner-up-right","set":"feather","tags":["corner","up","right","arrow"]},{"name":"cpu","set":"feather","tags":["cpu","processor","technology"]},{"name":"credit-card","set":"feather","tags":["credit","card","purchase","payment","cc"]},{"name":"crop","set":"feather","tags":["crop","photo","image"]},{"name":"crosshair","set":"feather","tags":["crosshair","aim","target"]},{"name":"delete","set":"feather","tags":["delete","remove"]},{"name":"disc","set":"feather","tags":["disc","album","cd","dvd","music"]},{"name":"divide-circle","set":"feather","tags":["divide","circle"]},{"name":"divide-square","set":"feather","tags":["divide","square"]},{"name":"divide","set":"feather","tags":["divide"]},{"name":"dollar-sign","set":"feather","tags":["dollar","sign","currency","money","payment"]},{"name":"download-cloud","set":"feather","tags":["download","cloud"]},{"name":"dribbble","set":"feather","tags":["dribbble"]},{"name":"droplet","set":"feather","tags":["droplet","water"]},{"name":"edit-2","set":"feather","tags":["edit","2","pencil","change"]},{"name":"edit-3","set":"feather","tags":["edit","3","pencil","change"]},{"name":"edit","set":"feather","tags":["edit","pencil","change"]},{"name":"external-link","set":"feather","tags":["external","link","outbound"]},{"name":"eye-off","set":"feather","tags":["eye","off","view","watch","hide","hidden"]},{"name":"facebook","set":"feather","tags":["facebook","logo","social"]},{"name":"fast-forward","set":"feather","tags":["fast","forward","music"]},{"name":"feather","set":"feather","tags":["feather"]},{"name":"figma","set":"feather","tags":["figma","logo","design","tool"]},{"name":"file-minus","set":"feather","tags":["file","minus","delete","remove","erase"]},{"name":"file-plus","set":"feather","tags":["file","plus","add","create","new"]},{"name":"film","set":"feather","tags":["film","movie","video"]},{"name":"filter","set":"feather","tags":["filter","funnel","hopper"]},{"name":"flag","set":"feather","tags":["flag","report"]},{"name":"folder-minus","set":"feather","tags":["folder","minus","directory"]},{"name":"folder-plus","set":"feather","tags":["folder","plus","directory"]},{"name":"framer","set":"feather","tags":["framer","logo","design","tool"]},{"name":"frown","set":"feather","tags":["frown","emoji","face","bad","sad","emotion"]},{"name":"gift","set":"feather","tags":["gift","present","box","birthday","party"]},{"name":"git-branch","set":"feather","tags":["git","branch","code","version control"]},{"name":"git-commit","set":"feather","tags":["git","commit","code","version control"]},{"name":"git-merge","set":"feather","tags":["git","merge","code","version control"]},{"name":"git-pull-request","set":"feather","tags":["git","pull","request","code","version control"]},{"name":"github","set":"feather","tags":["github","logo","version control"]},{"name":"gitlab","set":"feather","tags":["gitlab","logo","version control"]},{"name":"globe","set":"feather","tags":["globe","world","browser","language","translate"]},{"name":"grid","set":"feather","tags":["grid"]},{"name":"hard-drive","set":"feather","tags":["hard","drive","computer","server","memory","data"]},{"name":"hash","set":"feather","tags":["hash","hashtag","number","pound"]},{"name":"headphones","set":"feather","tags":["headphones","music","audio","sound"]},{"name":"heart","set":"feather","tags":["heart","like","love","emotion"]},{"name":"help-circle","set":"feather","tags":["help","circle","question mark"]},{"name":"hexagon","set":"feather","tags":["hexagon","shape","node.js","logo"]},{"name":"home","set":"feather","tags":["home","house","living"]},{"name":"image","set":"feather","tags":["image","picture"]},{"name":"inbox","set":"feather","tags":["inbox","email"]},{"name":"instagram","set":"feather","tags":["instagram","logo","camera"]},{"name":"italic","set":"feather","tags":["italic"]},{"name":"key","set":"feather","tags":["key","password","login","authentication","secure"]},{"name":"layout","set":"feather","tags":["layout","window","webpage"]},{"name":"life-buoy","set":"feather","tags":["life","buoy","help","life ring","support"]},{"name":"link-2","set":"feather","tags":["link","2","chain","url"]},{"name":"link","set":"feather","tags":["link","chain","url"]},{"name":"linkedin","set":"feather","tags":["linkedin","logo","social media"]},{"name":"loader","set":"feather","tags":["loader"]},{"name":"lock","set":"feather","tags":["lock","security","password","secure"]},{"name":"log-in","set":"feather","tags":["log","in","sign in","arrow","enter"]},{"name":"log-out","set":"feather","tags":["log","out","sign out","arrow","exit"]},{"name":"mail","set":"feather","tags":["mail","email","message"]},{"name":"map-pin","set":"feather","tags":["map","pin","location","navigation","travel","marker"]},{"name":"map","set":"feather","tags":["map","location","navigation","travel"]},{"name":"maximize-2","set":"feather","tags":["maximize","2","fullscreen","arrows","expand"]},{"name":"maximize","set":"feather","tags":["maximize","fullscreen"]},{"name":"meh","set":"feather","tags":["meh","emoji","face","neutral","emotion"]},{"name":"message-circle","set":"feather","tags":["message","circle","comment","chat"]},{"name":"message-square","set":"feather","tags":["message","square","comment","chat"]},{"name":"mic-off","set":"feather","tags":["mic","off","record","sound","mute"]},{"name":"mic","set":"feather","tags":["mic","record","sound","listen"]},{"name":"minimize-2","set":"feather","tags":["minimize","2","exit fullscreen","arrows","close"]},{"name":"minimize","set":"feather","tags":["minimize","exit fullscreen","close"]},{"name":"minus-circle","set":"feather","tags":["minus","circle"]},{"name":"minus-square","set":"feather","tags":["minus","square"]},{"name":"monitor","set":"feather","tags":["monitor","tv","screen","display"]},{"name":"more-horizontal","set":"feather","tags":["more","horizontal","ellipsis"]},{"name":"more-vertical","set":"feather","tags":["more","vertical","ellipsis"]},{"name":"mouse-pointer","set":"feather","tags":["mouse","pointer","arrow","cursor"]},{"name":"move","set":"feather","tags":["move","arrows"]},{"name":"music","set":"feather","tags":["music","note"]},{"name":"navigation-2","set":"feather","tags":["navigation","2","location","travel"]},{"name":"navigation","set":"feather","tags":["navigation","location","travel"]},{"name":"octagon","set":"feather","tags":["octagon","stop"]},{"name":"package","set":"feather","tags":["package","box","container"]},{"name":"paperclip","set":"feather","tags":["paperclip","attachment"]},{"name":"pause-circle","set":"feather","tags":["pause","circle","music","audio","stop"]},{"name":"pause","set":"feather","tags":["pause","music","stop"]},{"name":"pen-tool","set":"feather","tags":["pen","tool","vector","drawing"]},{"name":"percent","set":"feather","tags":["percent","discount"]},{"name":"phone-call","set":"feather","tags":["phone","call","ring"]},{"name":"phone-forwarded","set":"feather","tags":["phone","forwarded","call"]},{"name":"phone-incoming","set":"feather","tags":["phone","incoming","call"]},{"name":"phone-missed","set":"feather","tags":["phone","missed","call"]},{"name":"phone-off","set":"feather","tags":["phone","off","call","mute"]},{"name":"phone-outgoing","set":"feather","tags":["phone","outgoing","call"]},{"name":"phone","set":"feather","tags":["phone","call"]},{"name":"pie-chart","set":"feather","tags":["pie","chart","statistics","diagram"]},{"name":"play-circle","set":"feather","tags":["play","circle","music","start"]},{"name":"plus-circle","set":"feather","tags":["plus","circle","add","new"]},{"name":"plus-square","set":"feather","tags":["plus","square","add","new"]},{"name":"pocket","set":"feather","tags":["pocket","logo","save"]},{"name":"power","set":"feather","tags":["power","on","off"]},{"name":"printer","set":"feather","tags":["printer","fax","office","device"]},{"name":"radio","set":"feather","tags":["radio","signal"]},{"name":"refresh-ccw","set":"feather","tags":["refresh","ccw","arrows"]},{"name":"repeat","set":"feather","tags":["repeat","loop","arrows","change"]},{"name":"rewind","set":"feather","tags":["rewind","music"]},{"name":"rotate-ccw","set":"feather","tags":["rotate","ccw","arrow"]},{"name":"rotate-cw","set":"feather","tags":["rotate","cw","arrow"]},{"name":"rss","set":"feather","tags":["rss","feed","subscribe"]},{"name":"save","set":"feather","tags":["save","floppy disk"]},{"name":"scissors","set":"feather","tags":["scissors","cut"]},{"name":"server","set":"feather","tags":["server"]},{"name":"share-2","set":"feather","tags":["share","2","network","connections"]},{"name":"share","set":"feather","tags":["share"]},{"name":"shield-off","set":"feather","tags":["shield","off","security","insecure"]},{"name":"shopping-bag","set":"feather","tags":["shopping","bag","ecommerce","cart","purchase","store"]},{"name":"shopping-cart","set":"feather","tags":["shopping","cart","ecommerce","purchase","store"]},{"name":"sidebar","set":"feather","tags":["sidebar"]},{"name":"skip-back","set":"feather","tags":["skip","back","music"]},{"name":"skip-forward","set":"feather","tags":["skip","forward","music"]},{"name":"slack","set":"feather","tags":["slack","logo"]},{"name":"slash","set":"feather","tags":["slash","ban","no"]},{"name":"sliders","set":"feather","tags":["sliders","settings","controls"]},{"name":"smartphone","set":"feather","tags":["smartphone","cellphone","device"]},{"name":"smile","set":"feather","tags":["smile","emoji","face","happy","good","emotion"]},{"name":"speaker","set":"feather","tags":["speaker","audio","music"]},{"name":"square","set":"feather","tags":["square"]},{"name":"star","set":"feather","tags":["star","bookmark","favorite","like"]},{"name":"stop-circle","set":"feather","tags":["stop","circle","media","music"]},{"name":"sun","set":"feather","tags":["sun","brightness","weather","light"]},{"name":"sunrise","set":"feather","tags":["sunrise","weather","time","morning","day"]},{"name":"sunset","set":"feather","tags":["sunset","weather","time","evening","night"]},{"name":"tablet","set":"feather","tags":["tablet","device"]},{"name":"tag","set":"feather","tags":["tag","label"]},{"name":"terminal","set":"feather","tags":["terminal","code","command line","prompt"]},{"name":"thermometer","set":"feather","tags":["thermometer","temperature","celsius","fahrenheit","weather"]},{"name":"thumbs-down","set":"feather","tags":["thumbs","down","dislike","bad","emotion"]},{"name":"thumbs-up","set":"feather","tags":["thumbs","up","like","good","emotion"]},{"name":"toggle-left","set":"feather","tags":["toggle","left","on","off","switch"]},{"name":"toggle-right","set":"feather","tags":["toggle","right","on","off","switch"]},{"name":"tool","set":"feather","tags":["tool","settings","spanner"]},{"name":"trash","set":"feather","tags":["trash","garbage","delete","remove","bin"]},{"name":"trello","set":"feather","tags":["trello"]},{"name":"trending-down","set":"feather","tags":["trending","down"]},{"name":"triangle","set":"feather","tags":["triangle","delta"]},{"name":"truck","set":"feather","tags":["truck","delivery","van","shipping","transport","lorry"]},{"name":"tv","set":"feather","tags":["tv","television","stream"]},{"name":"twitch","set":"feather","tags":["twitch","logo"]},{"name":"twitter","set":"feather","tags":["twitter","logo","social"]},{"name":"type","set":"feather","tags":["type","text"]},{"name":"umbrella","set":"feather","tags":["umbrella","rain","weather"]},{"name":"underline","set":"feather","tags":["underline"]},{"name":"unlock","set":"feather","tags":["unlock","security"]},{"name":"upload-cloud","set":"feather","tags":["upload","cloud"]},{"name":"user-check","set":"feather","tags":["user","check","followed","subscribed"]},{"name":"user-minus","set":"feather","tags":["user","minus","delete","remove","unfollow","unsubscribe"]},{"name":"user-plus","set":"feather","tags":["user","plus","new","add","create","follow","subscribe"]},{"name":"user-x","set":"feather","tags":["user","x","delete","remove","unfollow","unsubscribe","unavailable"]},{"name":"user","set":"feather","tags":["user","person","account"]},{"name":"users","set":"feather","tags":["users","group"]},{"name":"video-off","set":"feather","tags":["video","off","camera","movie","film"]},{"name":"video","set":"feather","tags":["video","camera","movie","film"]},{"name":"voicemail","set":"feather","tags":["voicemail","phone"]},{"name":"volume-1","set":"feather","tags":["volume","1","music","sound"]},{"name":"volume-2","set":"feather","tags":["volume","2","music","sound"]},{"name":"volume-x","set":"feather","tags":["volume","x","music","sound","mute"]},{"name":"volume","set":"feather","tags":["volume","music","sound","mute"]},{"name":"watch","set":"feather","tags":["watch","clock","time"]},{"name":"wifi-off","set":"feather","tags":["wifi","off","disabled"]},{"name":"wifi","set":"feather","tags":["wifi","connection","signal","wireless"]},{"name":"wind","set":"feather","tags":["wind","weather","air"]},{"name":"x-circle","set":"feather","tags":["x","circle","cancel","close","delete","remove","times","clear"]},{"name":"x-octagon","set":"feather","tags":["x","octagon","delete","stop","alert","warning","times","clear"]},{"name":"x-square","set":"feather","tags":["x","square","cancel","close","delete","remove","times","clear"]},{"name":"youtube","set":"feather","tags":["youtube","logo","video","play"]},{"name":"zap-off","set":"feather","tags":["zap","off","flash","camera","lightning"]},{"name":"zap","set":"feather","tags":["zap","flash","camera","lightning"]},{"name":"zoom-in","set":"feather","tags":["zoom","in","magnifying glass"]},{"name":"zoom-out","set":"feather","tags":["zoom","out","magnifying glass"]},{"name":"dimension-account","set":"core","tags":["account","chart of accounts","ledger","general ledger","book","coa","科目","会计科目","总账"]},{"name":"dimension-audit","set":"core","tags":["audit","audit trail","adjustment","search","inspect","file","审计","审计轨迹","调整"]},{"name":"dimension-currency","set":"core","tags":["currency","exchange","fx","conversion","dollar","yen","rmb","币种","货币","汇率","换算"]},{"name":"dimension-custom_default","set":"core","tags":["custom","dimension","model","cube","box","自定义","维度"]},{"name":"dimension-entity","set":"core","tags":["entity","legal entity","company","organization","buildings","subsidiary","实体","法人","公司","组织"]},{"name":"dimension-group","set":"core","tags":["group","consolidation group","hierarchy","network","tree","集团","组","层级"]},{"name":"dimension-intercompany","set":"core","tags":["intercompany","counterparty","exchange","transfer","往来","内部往来","关联方"]},{"name":"dimension-subtable","set":"core","tags":["subtable","table","detail","sub table","grid","子表","明细表"]},{"name":"dimension-time","set":"core","tags":["time","period","fiscal period","calendar","clock","month","year","期间","会计期间","时间","年月"]},{"name":"dimension-version","set":"core","tags":["version","actual","budget","forecast","branch","版本","实际","预算","预测"]},{"name":"version-exempt","set":"core","tags":["version exempt","exclude","excluded","branch","remove","版本豁免","排除"]},{"name":"model-exempt","set":"core","tags":["model exempt","exclude","excluded","cube","remove","模型豁免","排除"]},{"name":"modeling","set":"core","tags":["modeling","model design","designer","monitor","screen","cube","建模","模型设计"]},{"name":"restatement","set":"core","tags":["restatement","retrospective","history","adjust","restate","重述","追溯调整"]},{"name":"review","set":"core","tags":["review","check","view","inspect","eye","file","审阅","复核","查看"]},{"name":"admin","set":"core","tags":["admin","administration","settings","system","manage","管理","系统设置"]},{"name":"analytics","set":"core","tags":["analytics","analysis","insight","trend","dashboard","monitor","chart","分析","洞察","趋势"]},{"name":"automation","set":"core","tags":["automation","automate","run","schedule","gear","play","自动化","自动执行"]},{"name":"data_integration","set":"core","tags":["data integration","sync","connector","external data","数据集成","外部数据","接入","database","sources","merge","hub","数据源","汇集"]},{"name":"reconciliation-entity","set":"core","tags":["reconciliation","entity","company","buildings","实体对账","法人对账"]},{"name":"reconciliation-balance","set":"core","tags":["reconciliation","balance","coins","money","余额对账","科目余额"]},{"name":"scenario","set":"core","tags":["scenario","what if","compare","budget","forecast","情景","假设","对比"]},{"name":"report","set":"core","tags":["report","financial report","chart","line chart","报表","财务报告"]},{"name":"spreadsheet","set":"core","tags":["spreadsheet","sheet","table","grid","excel","电子表格","在线表格"]},{"name":"sheet","set":"core","tags":["sheet","worksheet","form","table","grid","表单","工作表"]},{"name":"script","set":"core","tags":["script","code","custom code","developer","脚本","代码","自定义代码"]},{"name":"workflow_group","set":"core","tags":["workflow group","workflow","folder","process","工作流组","流程集合"]},{"name":"model_interaction","set":"core","tags":["model interaction","model sync","link","exchange","cubes","模型交互","数据联动"]},{"name":"announcement","set":"core","tags":["announcement","notice","megaphone","broadcast","news","file","公告","通知","公示"]},{"name":"approval","set":"core","tags":["approval","approve","approved","badge","check","verified","审批","批准","通过"]},{"name":"data-import","set":"core","tags":["data import","import","load","database","in","down","数据导入","导入"]},{"name":"data-export","set":"core","tags":["data export","export","unload","database","out","up","数据导出","导出"]},{"name":"execution","set":"core","tags":["execution","execute","run","calculate","gear","check","done","执行","运行","计算"]},{"name":"submission","set":"core","tags":["submission","submit","send","report up","check","提交","上报"]},{"name":"expense_control","set":"core","tags":["expense control","expense","cost","budget control","gear","dollar","费用控制","费用","成本"]},{"name":"expense_control-aggregate","set":"core","tags":["expense control","aggregate","total","sum","merge","gear","汇总控制","汇总"]},{"name":"expense_control-limit","set":"core","tags":["expense control","limit","ceiling","cap","max","gear","上限控制","上限"]},{"name":"expense_control-enumerated","set":"core","tags":["expense control","enumerated","list","itemized","detail","gear","明细列举","明细"]},{"name":"expense_control-quota","set":"core","tags":["expense control","quota","percent","ratio","allowance","gear","额度控制","额度","比例"]},{"name":"profile-access","set":"core","tags":["profile access","access","permission","key","user","authorization","权限档案","访问授权","权限"]},{"name":"usergroup","set":"core","tags":["user group","users","team","members","people","用户组","团队"]},{"name":"user","set":"core","tags":["user","person","account","profile","member","用户","个人"]},{"name":"profile-system","set":"core","tags":["profile system","system","settings","user","gear","config","系统档案","系统配置"]},{"name":"rules-initialization","set":"core","tags":["rules","initialization","init","start","power","reset","规则","初始化"]},{"name":"rules-subsidy","set":"core","tags":["rules","subsidy","grant","allowance","dollar","plus","规则","补贴"]},{"name":"rules-transfer","set":"core","tags":["rules","transfer","move","exchange","arrows","规则","转移","调拨"]},{"name":"rules-import","set":"core","tags":["rules","import","load","in","down","规则","导入"]},{"name":"rules-reclassification","set":"core","tags":["rules","reclassification","reclass","split","move","规则","重分类"]},{"name":"rules-allocation","set":"core","tags":["rules","allocation","allocate","distribute","split","规则","分摊","分配"]},{"name":"rules-account","set":"core","tags":["rules","account","list","chart of accounts","规则","科目"]},{"name":"rules-carryforward","set":"core","tags":["rules","carry forward","carryforward","roll forward","forward","规则","结转"]},{"name":"rules-compound","set":"core","tags":["rules","compound","composite","hexagon","规则","复合"]},{"name":"rules-currency","set":"core","tags":["rules","currency","dollar","fx","规则","币种","货币"]},{"name":"rules-deduction","set":"core","tags":["rules","deduction","deduct","minus","subtract","dollar","规则","扣除","抵扣"]},{"name":"rules-depreciation","set":"core","tags":["rules","depreciation","decline","trend down","规则","折旧"]},{"name":"rules-eliminations_n_adjustments","set":"core","tags":["rules","elimination","eliminations","adjustment","adjustments","plus minus","规则","抵销","调整"]},{"name":"rules-general","set":"core","tags":["rules","general","text","lines","规则","通用"]},{"name":"rules-intercompany","set":"core","tags":["rules","intercompany","buildings","companies","规则","内部往来"]},{"name":"rules-journal_matching","set":"core","tags":["rules","journal matching","match","lines","check","规则","凭证匹配","匹配"]},{"name":"rules-method","set":"core","tags":["rules","method","path","route","flow","arrow","规则","方法"]},{"name":"rules-method_coefficient","set":"core","tags":["rules","method coefficient","coefficient","factor","multiply","bracket","规则","方法系数","系数"]},{"name":"rules-validation","set":"core","tags":["rules","validation","validate","check","verify","规则","校验","验证"]},{"name":"rules-shared","set":"core","tags":["rules","shared","share","network","规则","共享"]},{"name":"task-manual","set":"core","tags":["task","manual","edit","pencil","clipboard","任务","手工","手动"]},{"name":"task-reclassification","set":"core","tags":["task","reclassification","reclass","clipboard","任务","重分类"]},{"name":"task-account","set":"core","tags":["task","account","list","clipboard","任务","科目"]},{"name":"task-allocation","set":"core","tags":["task","allocation","allocate","distribute","clipboard","任务","分摊"]},{"name":"task-carryforward","set":"core","tags":["task","carry forward","carryforward","clipboard","任务","结转"]},{"name":"task-currency","set":"core","tags":["task","currency","dollar","fx","clipboard","任务","币种"]},{"name":"task-deduction","set":"core","tags":["task","deduction","deduct","minus","clipboard","任务","扣除"]},{"name":"task-depreciation","set":"core","tags":["task","depreciation","decline","clipboard","任务","折旧"]},{"name":"task-eliminations_n_adjustments","set":"core","tags":["task","elimination","adjustment","plus minus","clipboard","任务","抵销","调整"]},{"name":"task-etl","set":"core","tags":["task","etl","extract","transform","load","database","clipboard","任务","数据抽取"]},{"name":"task-shared","set":"core","tags":["task","shared","share","clipboard","任务","共享"]},{"name":"task-intercompany","set":"core","tags":["task","intercompany","buildings","clipboard","任务","内部往来"]},{"name":"ownership","set":"core","tags":["ownership","owner","own","belongs to","responsible","key","hand","handover","custody","所有权","所有者","负责人","归属","持有"]},{"name":"prophet","set":"core","tags":["prophet","sage","oracle","seer","ai","agent","assistant","forecast","prediction","wisdom","halo","先知","智者","预测","预言","智能体","助手"]},{"name":"prophet-sparkle","set":"core","tags":["prophet-sparkle","sage","oracle","seer","ai","agent","assistant","forecast","prediction","wisdom","halo","先知","智者","预测","预言","智能体","助手","prophet","sparkle","star","星星"]},{"name":"ai","set":"core","tags":["ai","artificial intelligence","assistant","copilot","agent","ai agent","generative","smart","intelligent","sparkles","badge","workspace","automation"]},{"name":"ai-sparkles","set":"core","tags":["ai","sparkles","magic","generate","generative","suggest","assistant","intelligent","smart","stars","auto"]}];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Vue 消息服务与 Element Plus 迁移
|
|
2
2
|
|
|
3
|
-
2.6.0 新增源码入口,适用于 Vue 3
|
|
3
|
+
2.6.0 新增源码入口,适用于 Vue 3。2.8.0 起两个服务不再自带样式:Message 用 DS 的 `ToastStack`(`placement="top-center"`)和 `Toast` 显示,MessageBox 用 DS 的 `Modal`、`Button`、`Input` / `Textarea` 显示,焦点、Esc、遮罩和滚动锁定都由 `Modal` 负责。改 Toast 或 Modal 的外观,两个服务会自动跟着变。源码位于 `_vue-services/`。
|
|
4
4
|
本次仅补齐源码,未执行测试、类型检查、构建或浏览器验证,也尚未发布。
|
|
5
5
|
|
|
6
6
|
```js
|
|
@@ -28,7 +28,7 @@ const { value } = await MessageBox.prompt('请输入名称', '新建', {
|
|
|
28
28
|
| `ElMessage(options / string / VNode)` | `Message(...)`,返回 `{ close() }` |
|
|
29
29
|
| `success / info / warning / error` | 同名快捷方法 |
|
|
30
30
|
| `duration / showClose / offset / zIndex / customClass / center` | 支持;默认 3000 毫秒,0 不自动关闭 |
|
|
31
|
-
| 消息堆叠与 `grouping` |
|
|
31
|
+
| 消息堆叠与 `grouping` | 同一挂载目标放进一个顶部居中的 ToastStack,间距 8px;分组显示 × n 并重置计时 |
|
|
32
32
|
| 悬停与焦点暂停计时 | 支持,离开后重新计时 |
|
|
33
33
|
| `onClose / closeAll(type?)` | 支持,手动及自动关闭均清理实例 |
|
|
34
34
|
| `MessageBox(options)` | 返回 Promise,弹窗按调用顺序排队 |
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, h, isVNode, onBeforeUnmount, ref } from 'vue'
|
|
3
|
+
import Modal from '../../components/feedback/Modal.vue'
|
|
4
|
+
import Button from '../../components/buttons/Button.vue'
|
|
5
|
+
import Icon from '../../components/icons/Icon.vue'
|
|
6
|
+
import Input from '../../components/forms/Input.vue'
|
|
7
|
+
import Textarea from '../../components/forms/Textarea.vue'
|
|
8
|
+
import { contentNode } from './service-utils.js'
|
|
9
|
+
|
|
10
|
+
// MessageBox 的显示完全交给 DS:Modal(焦点、Esc、遮罩、滚动锁定)、Button、Input / Textarea、Icon。
|
|
11
|
+
// 本组件只负责 Element Plus 风格的选项映射、输入校验和确认 / 取消 / 关闭动作。
|
|
12
|
+
const props = defineProps({ options: { type: Object, required: true } })
|
|
13
|
+
const emit = defineEmits(['action'])
|
|
14
|
+
const error = ref('')
|
|
15
|
+
const validating = ref(false)
|
|
16
|
+
const Content = () => contentNode(props.options.message, props.options.dangerouslyUseHTMLString)
|
|
17
|
+
const Title = () => contentNode(props.options.title)
|
|
18
|
+
const icons = { success: 'circle-check', warning: 'triangle-alert', error: 'triangle-alert', info: 'info' }
|
|
19
|
+
const colors = { success: 'var(--success-text)', warning: 'var(--warning-text)', error: 'var(--danger-text)', info: 'var(--info-fg)' }
|
|
20
|
+
const icon = computed(() => props.options.icon || icons[props.options.type])
|
|
21
|
+
const CustomIcon = () => isVNode(icon.value) ? icon.value : h(icon.value)
|
|
22
|
+
const confirmVariant = computed(() => props.options.confirmButtonClass?.includes('el-button--danger') ? 'danger' : 'primary')
|
|
23
|
+
const titleIsText = computed(() => props.options.title == null || typeof props.options.title === 'string')
|
|
24
|
+
const inputId = computed(() => `${props.options.id}-input`)
|
|
25
|
+
const round = computed(() => props.options.roundButton ? { borderRadius: 'var(--radius-full)' } : null)
|
|
26
|
+
let disposed = false
|
|
27
|
+
let validationRevision = 0
|
|
28
|
+
onBeforeUnmount(() => { disposed = true })
|
|
29
|
+
|
|
30
|
+
function focusInput() {
|
|
31
|
+
const el = document.getElementById(inputId.value)
|
|
32
|
+
const target = el && (el.matches('input, textarea') ? el : el.querySelector('input, textarea'))
|
|
33
|
+
target?.focus()
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async function confirm() {
|
|
37
|
+
const options = props.options
|
|
38
|
+
if (validating.value || options.confirmButtonDisabled || options.confirmButtonLoading) return
|
|
39
|
+
if (options.showInput) {
|
|
40
|
+
const revision = ++validationRevision
|
|
41
|
+
const value = options.inputValue ?? ''
|
|
42
|
+
validating.value = true
|
|
43
|
+
let message = ''
|
|
44
|
+
try {
|
|
45
|
+
if (options.inputPattern) {
|
|
46
|
+
// 避免全局正则的 lastIndex 导致同一输入校验结果交替。
|
|
47
|
+
const pattern = new RegExp(options.inputPattern.source, options.inputPattern.flags)
|
|
48
|
+
if (!pattern.test(value)) message = options.inputErrorMessage || 'Invalid input'
|
|
49
|
+
}
|
|
50
|
+
if (!message && options.inputValidator) {
|
|
51
|
+
const result = await options.inputValidator(value)
|
|
52
|
+
if (result === false || typeof result === 'string') message = result || options.inputErrorMessage || 'Invalid input'
|
|
53
|
+
}
|
|
54
|
+
} catch (reason) {
|
|
55
|
+
message = options.inputErrorMessage || reason?.message || 'Invalid input'
|
|
56
|
+
} finally {
|
|
57
|
+
validating.value = false
|
|
58
|
+
}
|
|
59
|
+
if (disposed || revision !== validationRevision) return
|
|
60
|
+
error.value = message
|
|
61
|
+
if (message) { focusInput(); return }
|
|
62
|
+
}
|
|
63
|
+
emit('action', 'confirm')
|
|
64
|
+
}
|
|
65
|
+
function changeInput(value) {
|
|
66
|
+
validationRevision++
|
|
67
|
+
props.options.inputValue = value
|
|
68
|
+
error.value = ''
|
|
69
|
+
}
|
|
70
|
+
function onEnter(event) {
|
|
71
|
+
if (event.isComposing || props.options.inputType === 'textarea') return
|
|
72
|
+
event.preventDefault()
|
|
73
|
+
confirm()
|
|
74
|
+
}
|
|
75
|
+
</script>
|
|
76
|
+
|
|
77
|
+
<template>
|
|
78
|
+
<Modal
|
|
79
|
+
open alert
|
|
80
|
+
:title="titleIsText ? options.title : undefined"
|
|
81
|
+
:width="options.width ?? 440"
|
|
82
|
+
:size="options.size || 'lg'"
|
|
83
|
+
:close-on-esc="options.closeOnPressEscape"
|
|
84
|
+
:close-on-scrim="options.closeOnClickModal"
|
|
85
|
+
:show-close="options.showClose"
|
|
86
|
+
:lock-scroll="options.lockScroll"
|
|
87
|
+
:scrim="options.modal !== false"
|
|
88
|
+
:auto-focus="options.autofocus"
|
|
89
|
+
:z-index="options.zIndex"
|
|
90
|
+
:close-label="options.closeLabel || 'Close'"
|
|
91
|
+
:class="[options.modalClass, options.customClass]"
|
|
92
|
+
@close="emit('action', 'close')"
|
|
93
|
+
>
|
|
94
|
+
<template v-if="!titleIsText" #title><Title /></template>
|
|
95
|
+
<div :id="`${options.id}-content`" :style="{ display: 'flex', alignItems: 'flex-start', gap: '12px', justifyContent: options.center ? 'center' : undefined, textAlign: options.center ? 'center' : undefined, fontFamily: 'var(--font-sans)', fontSize: 'var(--text-base)', lineHeight: 'var(--leading-base)', letterSpacing: 'var(--tracking-base)', color: 'var(--text-body)' }">
|
|
96
|
+
<span v-if="icon" :style="{ color: colors[options.type] || 'var(--text-secondary)', display: 'inline-flex', flexShrink: 0 }">
|
|
97
|
+
<Icon v-if="typeof icon === 'string'" :name="icon" :size="20" />
|
|
98
|
+
<CustomIcon v-else />
|
|
99
|
+
</span>
|
|
100
|
+
<div style="min-width:0;overflow-wrap:anywhere;white-space:pre-wrap"><Content /></div>
|
|
101
|
+
</div>
|
|
102
|
+
<div v-if="options.showInput" style="display:flex;flex-direction:column;gap:var(--control-gap);margin-top:var(--group-gap)">
|
|
103
|
+
<Textarea
|
|
104
|
+
v-if="options.inputType === 'textarea'"
|
|
105
|
+
:id="inputId" data-autofocus
|
|
106
|
+
:model-value="options.inputValue" :error="!!error"
|
|
107
|
+
:placeholder="options.inputPlaceholder"
|
|
108
|
+
:aria-label="options.inputPlaceholder || (titleIsText && options.title) || 'Input'"
|
|
109
|
+
:aria-invalid="!!error" :aria-describedby="error ? `${options.id}-error` : undefined"
|
|
110
|
+
@update:model-value="changeInput"
|
|
111
|
+
/>
|
|
112
|
+
<Input
|
|
113
|
+
v-else
|
|
114
|
+
:id="inputId" data-autofocus
|
|
115
|
+
:type="options.inputType"
|
|
116
|
+
:model-value="options.inputValue" :error="!!error"
|
|
117
|
+
:placeholder="options.inputPlaceholder"
|
|
118
|
+
:aria-label="options.inputPlaceholder || (titleIsText && options.title) || 'Input'"
|
|
119
|
+
:aria-invalid="!!error" :aria-describedby="error ? `${options.id}-error` : undefined"
|
|
120
|
+
:style="{ width: '100%' }"
|
|
121
|
+
@update:model-value="changeInput"
|
|
122
|
+
@keydown.enter="onEnter"
|
|
123
|
+
/>
|
|
124
|
+
<div v-if="error" :id="`${options.id}-error`" role="alert" style="font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);color:var(--danger-text)">{{ error }}</div>
|
|
125
|
+
</div>
|
|
126
|
+
<template #footer>
|
|
127
|
+
<div :style="{ display: 'flex', flex: 1, gap: 'var(--control-gap)', justifyContent: options.center ? 'center' : 'flex-end' }">
|
|
128
|
+
<Button
|
|
129
|
+
v-if="options.showCancelButton"
|
|
130
|
+
variant="outline"
|
|
131
|
+
:class="options.cancelButtonClass"
|
|
132
|
+
:style="round"
|
|
133
|
+
:disabled="options.cancelButtonDisabled"
|
|
134
|
+
:loading="options.cancelButtonLoading"
|
|
135
|
+
@click="emit('action', 'cancel')"
|
|
136
|
+
>{{ options.cancelButtonText ?? 'Cancel' }}</Button>
|
|
137
|
+
<Button
|
|
138
|
+
v-if="options.showConfirmButton"
|
|
139
|
+
:variant="confirmVariant"
|
|
140
|
+
:class="options.confirmButtonClass"
|
|
141
|
+
:style="round"
|
|
142
|
+
:data-autofocus="options.showInput ? undefined : ''"
|
|
143
|
+
:disabled="options.confirmButtonDisabled"
|
|
144
|
+
:loading="options.confirmButtonLoading || validating"
|
|
145
|
+
@click="confirm"
|
|
146
|
+
>{{ options.confirmButtonText ?? 'OK' }}</Button>
|
|
147
|
+
</div>
|
|
148
|
+
</template>
|
|
149
|
+
</Modal>
|
|
150
|
+
</template>
|
|
@@ -32,15 +32,3 @@ export function mountService(component, props, options = {}, appContext) {
|
|
|
32
32
|
container.remove()
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
let locks = 0
|
|
37
|
-
let previousOverflow
|
|
38
|
-
export function lockBody() {
|
|
39
|
-
if (locks++ === 0) {
|
|
40
|
-
previousOverflow = document.body.style.overflow
|
|
41
|
-
document.body.style.overflow = 'hidden'
|
|
42
|
-
}
|
|
43
|
-
return () => {
|
|
44
|
-
if (--locks === 0) document.body.style.overflow = previousOverflow
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { getCurrentInstance, h, isVNode, reactive, render } from 'vue'
|
|
2
|
+
import ToastStack from '../components/feedback/ToastStack.vue'
|
|
3
|
+
import { contentNode, resolveTarget } from './_internal/service-utils.js'
|
|
4
|
+
|
|
5
|
+
/* Vue 消息服务。显示交给 DS 的 ToastStack(placement="top-center")和 Toast,本文件只负责调用方式、分组、计时参数和关闭句柄;
|
|
6
|
+
业务错误脱敏仍由应用处理。 */
|
|
7
|
+
const TONE = { success: 'success', info: 'info', warning: 'warning', error: 'danger' }
|
|
8
|
+
const hosts = new Map()
|
|
9
|
+
const entries = new Map()
|
|
10
|
+
let seed = 0
|
|
11
|
+
const normalize = value => typeof value === 'string' || typeof value === 'function' || isVNode(value)
|
|
12
|
+
? { message: value } : { ...value }
|
|
13
|
+
|
|
14
|
+
function onEscape(event) {
|
|
15
|
+
if (event.key !== 'Escape' || event.defaultPrevented) return
|
|
16
|
+
const last = [...entries.values()].pop()
|
|
17
|
+
if (last) last.handle.close()
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function hostFor(target, options, appContext) {
|
|
21
|
+
let host = hosts.get(target)
|
|
22
|
+
if (host) { host.state.offset = Number(options.offset) || 0; if (options.zIndex != null) host.state.zIndex = options.zIndex; return host }
|
|
23
|
+
const list = reactive([])
|
|
24
|
+
const state = reactive({ offset: Number(options.offset) || 0, zIndex: options.zIndex })
|
|
25
|
+
const container = document.createElement('div')
|
|
26
|
+
target.appendChild(container)
|
|
27
|
+
const vnode = h({ render: () => h(ToastStack, {
|
|
28
|
+
toasts: list, placement: 'top-center', offset: state.offset, zIndex: state.zIndex,
|
|
29
|
+
onDismiss: id => entries.get(id)?.handle.close(),
|
|
30
|
+
}) })
|
|
31
|
+
vnode.appContext = appContext || null
|
|
32
|
+
render(vnode, container)
|
|
33
|
+
if (!hosts.size) document.addEventListener('keydown', onEscape)
|
|
34
|
+
host = { list, state, dispose() {
|
|
35
|
+
render(null, container); container.remove(); hosts.delete(target)
|
|
36
|
+
if (!hosts.size) document.removeEventListener('keydown', onEscape)
|
|
37
|
+
} }
|
|
38
|
+
hosts.set(target, host)
|
|
39
|
+
return host
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Message(options | string | VNode, appContext?) → { close() } */
|
|
43
|
+
export function Message(value = {}, appContext) {
|
|
44
|
+
if (typeof document === 'undefined') return { close() {} }
|
|
45
|
+
const options = { type: 'info', duration: 3000, offset: 16, ...Message.defaults, ...normalize(value) }
|
|
46
|
+
const target = resolveTarget(options)
|
|
47
|
+
if (options.grouping) {
|
|
48
|
+
const existing = [...entries.values()].find(e => e.target === target && e.message === options.message)
|
|
49
|
+
if (existing) {
|
|
50
|
+
existing.item.count++
|
|
51
|
+
existing.item.tone = TONE[options.type] || 'info'
|
|
52
|
+
return existing.handle
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const host = hostFor(target, options, appContext || getCurrentInstance()?.appContext)
|
|
56
|
+
const id = `kb-message-${++seed}`
|
|
57
|
+
host.list.push({
|
|
58
|
+
id, tone: TONE[options.type] || 'info', count: 1, duration: Number(options.duration) || 0,
|
|
59
|
+
content: () => contentNode(options.message, options.dangerouslyUseHTMLString),
|
|
60
|
+
icon: options.icon, dismissible: !!options.showClose, closeLabel: options.closeLabel, class: options.customClass,
|
|
61
|
+
style: { minWidth: 'min(280px, 92vw)', maxWidth: '100%', boxSizing: 'border-box', ...(options.center ? { textAlign: 'center' } : null), ...(options.plain ? { boxShadow: 'none' } : null) },
|
|
62
|
+
})
|
|
63
|
+
const item = host.list[host.list.length - 1]
|
|
64
|
+
let closed = false
|
|
65
|
+
const handle = { close() {
|
|
66
|
+
if (closed) return
|
|
67
|
+
closed = true
|
|
68
|
+
entries.delete(id)
|
|
69
|
+
const i = host.list.indexOf(item)
|
|
70
|
+
if (i >= 0) host.list.splice(i, 1)
|
|
71
|
+
if (!host.list.length) host.dispose()
|
|
72
|
+
options.onClose?.(handle)
|
|
73
|
+
} }
|
|
74
|
+
entries.set(id, { item, handle, target, message: options.message, type: options.type })
|
|
75
|
+
return handle
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
for (const type of ['success', 'info', 'warning', 'error']) {
|
|
79
|
+
Message[type] = (value, appContext) => Message({ ...normalize(value), type }, appContext)
|
|
80
|
+
}
|
|
81
|
+
Message.closeAll = type => {
|
|
82
|
+
for (const entry of [...entries.values()]) {
|
|
83
|
+
if (!type || entry.type === type) entry.handle.close()
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export default Message
|
|
87
|
+
Message.defaults = {}
|