├── .github
└── workflows
│ └── release.yml
├── .gitignore
├── Quick-Kanban
├── dist
│ └── index.html
├── index.html
├── package.json
├── src
│ ├── App.vue
│ ├── assets
│ │ └── vue.svg
│ ├── components
│ │ ├── Assignments.vue
│ │ ├── IndicatorPill.vue
│ │ └── KanbanBoard
│ │ │ ├── KanbanBoard.vue
│ │ │ ├── KanbanCard.vue
│ │ │ └── KanbanColumn.vue
│ ├── main.js
│ ├── style.css
│ └── utils
│ │ ├── colors.js
│ │ └── store.js
├── vite.config.js
└── yarn.lock
├── README.md
├── license.txt
├── package.json
├── pyproject.toml
├── quick_kanban
├── __init__.py
├── config
│ └── __init__.py
├── get_beta _users.py
├── hooks.py
├── modules.txt
├── patches.txt
├── public
│ ├── .gitkeep
│ ├── css
│ │ └── quick_kanban.bundle.css
│ └── js
│ │ ├── kanban_highlight.js
│ │ ├── kanban_view.bundle.js
│ │ └── quick_kanban.bundle.js
├── quick_kanban
│ ├── __init__.py
│ ├── custom
│ │ └── kanban_board.json
│ └── doctype
│ │ ├── __init__.py
│ │ └── kanban_board_highlight
│ │ ├── __init__.py
│ │ ├── kanban_board_highlight.json
│ │ └── kanban_board_highlight.py
├── templates
│ ├── __init__.py
│ └── pages
│ │ └── __init__.py
└── www
│ └── __init__.py
└── yarn.lock
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: release
2 |
3 | on:
4 | push:
5 | branches:
6 | - "develop"
7 | - "BRANCH2"
8 |
9 | concurrency:
10 | group: ${{ github.workflow }}-${{ github.ref }}
11 |
12 | # https://github.com/marketplace/actions/skip-based-on-commit-message
13 | jobs:
14 | develop:
15 | if: |
16 | github.ref == 'refs/heads/develop'
17 | && contains(github.event.head_commit.message, '--BUILD')
18 | # https://github.com/orgs/community/discussions/25641
19 | name: Build and test STG
20 | runs-on: ubuntu-latest
21 | # https://stackoverflow.com/questions/71361539/github-action-test-if-a-commit-containing-a-specific-word-was-previously-made
22 | # https://docs.github.com/en/rest/actions/workflows?apiVersion=2022-11-28#create-a-workflow-dispatch-event
23 | steps:
24 | - name: Trigger build in another repository
25 | run: |
26 | curl -X POST \
27 | -H "Accept: application/vnd.github+json" \
28 | -H "Authorization: Bearer ${{ secrets.TRIDZ_TOKEN }}" \
29 | https://api.github.com/repos/tridz-dev/visaguy_gitops/actions/workflows/release_on_dispatch_stg.yml/dispatches \
30 | -d '{"ref":"main"}'
31 |
32 | BRANCH2:
33 | if: |
34 | github.ref == 'refs/heads/BRANCH2'
35 | && contains(github.event.head_commit.message, '--BUILD')
36 | name: Build and test
37 | runs-on: ubuntu-latest
38 | # https://stackoverflow.com/questions/71361539/github-action-test-if-a-commit-containing-a-specific-word-was-previously-made
39 | # https://docs.github.com/en/rest/actions/workflows?apiVersion=2022-11-28#create-a-workflow-dispatch-event
40 | steps:
41 | - name: Trigger build in another repository
42 | run: |
43 | curl -X POST \
44 | -H "Accept: application/vnd.github+json" \
45 | -H "Authorization: Bearer ${{ secrets.TRIDZ_TOKEN }}" \
46 | https://api.github.com/repos/OWNER/REPO/actions/workflows/WORKFLOW.yml/dispatches \
47 | -d '{"ref":"main"}'
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.pyc
3 | *.egg-info
4 | *.swp
5 | tags
6 | node_modules
7 | __pycache__
8 | quick_kanban/public/dist
9 | Quick-Kanban/dist
--------------------------------------------------------------------------------
/Quick-Kanban/dist/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Quick-Kanban/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Quick-Kanban/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "quick_kanban",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "description": "An enhanced version of Kanban Board in frappe made with Vue",
7 | "license": "MIT",
8 | "scripts": {
9 | "dev": "vite",
10 | "build": "vite build && yarn copy-js",
11 | "preview": "vite preview",
12 | "watch": "./node_modules/.bin/chokidar './dist/assets/index*.js' './src/**/*' -c 'yarn build'",
13 | "copy-js": "cp ./dist/assets/index*.js ../quick_kanban/public/js/quick_kanban.bundle.js && cp ./dist/assets/index*.css ../quick_kanban/public/css/quick_kanban.bundle.css"
14 | },
15 | "dependencies": {
16 | "vue": "^3.4.21",
17 | "vue-virtual-draglist": "^3.3.2",
18 | "vuex": "^4.0.2"
19 | },
20 | "devDependencies": {
21 | "@vitejs/plugin-vue": "^5.0.4",
22 | "chokidar-cli": "^3.0.0",
23 | "vite": "^5.2.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/assets/vue.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/components/Assignments.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ assignee?.charAt(0) }}
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/components/IndicatorPill.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
15 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/components/KanbanBoard/KanbanBoard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
12 |
13 |
120 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/components/KanbanBoard/KanbanCard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
12 |
13 | {{ field === 'creation' ? card[field]?.split('.')[0] : card[field] }}
14 |
15 |
16 |
17 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/components/KanbanBoard/KanbanColumn.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
15 | {{ column.column_name }}
16 |
17 |
18 |
21 |
32 |
33 |
38 |
39 | -
40 |
46 |
47 |
48 |
49 |
50 |
55 |
56 |
57 |
58 |
70 |
71 |
76 |
77 |
78 |
79 |
80 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
144 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import './style.css'
3 | import App from './App.vue'
4 | import store from './utils/store'
5 |
6 | window.frappe = frappe;
7 |
8 | const app = createApp(App)
9 | app.use(store);
10 | app.mount('#kanbanapp')
--------------------------------------------------------------------------------
/Quick-Kanban/src/style.css:
--------------------------------------------------------------------------------
1 | /* Kanban Board */
2 | [data-theme="dark"] {
3 | --kanban-column-gray: var(--gray-800);
4 | --kanban-column-red: #6b151580;
5 | --kanban-column-blue: #00488080;
6 | --kanban-column-light-blue: #0070cc80;
7 | --kanban-column-yellow: #733f1280;
8 | --kanban-column-purple: #40186380;
9 | --kanban-column-pink: #570f3e80;
10 | --kanban-column-green: #173b2c80;
11 | --kanban-column-orange: #6b271180;
12 | --kanban-column-cyan: #16475980;
13 | }
14 |
15 | [data-theme="light"] {
16 | --kanban-column-gray: var(--gray-200);
17 | --kanban-column-red: var(--red-200);
18 | --kanban-column-blue: var(--blue-200);
19 | --kanban-column-light-blue: var(--blue-100);
20 | --kanban-column-yellow: var(--yellow-100);
21 | --kanban-column-purple: var(--purple-200);
22 | --kanban-column-pink: var(--pink-200);
23 | --kanban-column-green: var(--green-200);
24 | --kanban-column-orange: var(--orange-200);
25 | --kanban-column-cyan: var(--cyan-100);
26 | }
27 |
28 | #kanbanapp {
29 | height: 80vh;
30 | }
31 |
32 | #kanbanapp .clickdrag-active {
33 | cursor: grabbing;
34 | }
35 |
36 | #kanbanapp .kanban {
37 | position: relative;
38 | display: flex;
39 | justify-content: flex-start;
40 | gap: 8px;
41 | overflow-x: auto;
42 | scrollbar-width: thin;
43 | height: 80vh;
44 | padding-bottom: 5px;
45 | }
46 |
47 | #kanbanapp .kanban-column {
48 | display: flex;
49 | flex-direction: column;
50 | gap: 8px;
51 | width: 250px;
52 | max-width: 350px;
53 | max-height: calc(
54 | 100vh - var(--navbar-height) - var(--page-bottom-margin)
55 | ) !important;
56 | border-radius: 12px;
57 | min-height: 70vh;
58 | }
59 |
60 | #kanbanapp .kanban-column-header {
61 | display: flex;
62 | justify-content: space-between;
63 | margin-bottom: 10px;
64 | }
65 |
66 | #kanbanapp .column-dropdown {
67 | max-height: 300px;
68 | overflow-y: auto;
69 | position: absolute;
70 | transform: translate3d(0px, 16px, 0px);
71 | top: 0px;
72 | left: 0px;
73 | will-change: transform;
74 | }
75 |
76 | #kanbanapp .column-title {
77 | color: inherit;
78 | font-size: medium;
79 | font-weight: 600;
80 | text-align: start;
81 | }
82 |
83 | #kanbanapp .indicator-pill {
84 | margin-right: 6px;
85 | }
86 |
87 | #kanbanapp .kanban-card {
88 | display: flex;
89 | position: relative;
90 | font-size: var(--text-md);
91 | gap: 2px;
92 | flex-direction: column;
93 | padding: 8px 12px 8px 12px;
94 | margin-bottom: 8px;
95 | background: var(--card-bg);
96 | color: var(--text-muted);
97 | border: 1px solid var(--border-color);
98 | border-radius: 8px !important;
99 | opacity: 1;
100 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
101 | cursor: grab;
102 | user-select: none;
103 | overflow-x: clip;
104 | }
105 |
106 | #kanbanapp .chosen-card {
107 | filter: contrast(0.9);
108 | }
109 |
110 | #kanbanapp .ghost-card {
111 | filter: contrast(1);
112 | }
113 |
114 | #kanbanapp .chosen-card .drag {
115 | opacity: 0.5;
116 | }
117 |
118 | #kanbanapp .ghost-card .drag {
119 | opacity: 1;
120 | }
121 |
122 | #kanbanapp .kanban-card-meta {
123 | display: flex;
124 | align-items: flex-start;
125 | justify-content: space-between;
126 | margin: 12px 0 5px;
127 | }
128 |
129 | #kanbanapp .card-title {
130 | font-weight: 600;
131 | text-align: start;
132 | margin-bottom: 7px;
133 | }
134 |
135 | #kanbanapp .addcard {
136 | display: flex;
137 | align-items: center;
138 | justify-content: center;
139 | margin-bottom: 4px;
140 | }
141 |
142 | #kanbanapp .addcard button {
143 | background-color: var(--card-bg);
144 | }
145 |
146 | #kanbanapp .header-item {
147 | display: flex;
148 | align-items: center;
149 | justify-content: center;
150 | padding: 5px;
151 | border-radius: 8px;
152 | cursor: pointer;
153 | }
154 |
155 | #kanbanapp .header-item:hover {
156 | background-color: #5b5f611c;
157 | }
158 |
159 | #kanbanapp .loadbtn {
160 | display: flex;
161 | justify-content: center;
162 | cursor: pointer;
163 | }
164 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/utils/colors.js:
--------------------------------------------------------------------------------
1 | export const indicators = [
2 | { name: 'Blue', class: 'blue' },
3 | { name: 'Cyan', class: 'cyan' },
4 | { name: 'Gray', class: 'gray' },
5 | { name: 'Green', class: 'green' },
6 | { name: 'Light Blue', class: 'light-blue' },
7 | { name: 'Orange', class: 'orange' },
8 | { name: 'Pink', class: 'pink' },
9 | { name: 'Purple', class: 'purple' },
10 | { name: 'Red', class: 'red' },
11 | { name: 'Yellow', class: 'yellow' }
12 | ];
13 |
--------------------------------------------------------------------------------
/Quick-Kanban/src/utils/store.js:
--------------------------------------------------------------------------------
1 | import { createStore } from 'vuex';
2 |
3 | const store = createStore({
4 | state: {
5 | columns: [],
6 | config: {
7 | board_name: '',
8 | ref_doctype: '',
9 | field_name: '',
10 | title_field: '',
11 | fields: [],
12 | highlighted_field: '',
13 | highlight_table: '',
14 | },
15 | },
16 | mutations: {
17 | SET_COLUMNS(state, columns) {
18 | if (state.columns.length === 0) {
19 | state.columns = columns;
20 | } else {
21 | columns.forEach((newColumn, index) => {
22 | if (state.columns[index]) {
23 | state.columns[index] = newColumn.cards
24 | ? newColumn
25 | : Object.assign(state.columns[index], ...Object.keys(newColumn).filter(key => key !== 'cards').map(key => ({ [key]: newColumn[key] })));
26 | } else {
27 | state.columns.push(newColumn);
28 | }
29 | });
30 | }
31 | state.columns = state.columns.filter(oldColumn =>
32 | columns.some(newColumn => newColumn.name === oldColumn.name)
33 | );
34 | },
35 | MOVE_CARD(state, { fromColumn, toColumn, fromIndex, toIndex, card }) {
36 | state.columns[fromColumn].cards.splice(fromIndex, 1);
37 | if (toIndex !== null) {
38 | state.columns[toColumn].cards.splice(toIndex, 0, card);
39 | } else {
40 | state.columns[toColumn].cards.push(card);
41 | }
42 | },
43 | UPDATE_COLUMN_INDICATOR(state, { columnIndex, indicator }) {
44 | state.columns[columnIndex].indicator = indicator;
45 | },
46 | SET_KANBAN_CONFIG(state, config) {
47 | state.config = config;
48 | },
49 | },
50 | actions: {
51 | async fetchKanban({ commit, state }, { args }) {
52 | if (args === undefined) {
53 | args = window.cur_list.get_args();
54 | }
55 | try {
56 | const response = await frappe.call({
57 | method: 'frappe.desk.reportview.get',
58 | args: args,
59 | });
60 |
61 | const board = response.message;
62 | if (board.length !== 0) {
63 | const columns = state.columns;
64 | const fieldIndex = board.keys.findIndex(key => key === state.config.field_name);
65 | const userInfoLookup = {};
66 | Object.values(board.user_info).forEach((user) => {
67 | userInfoLookup[user.name] = user.fullname
68 | });
69 |
70 | columns.forEach((column) => {
71 | column.cards = [];
72 | board.values.forEach((card) => {
73 | if (card[fieldIndex] === column.column_name) {
74 | const transformedCard = transformCard(board.keys, card, userInfoLookup);
75 | column.cards.push(transformedCard);
76 | }
77 | });
78 | });
79 | commit('SET_COLUMNS', columns);
80 | }
81 | } catch (error) {
82 | console.error('Error fetching columns:', error);
83 | }
84 | },
85 | async fetchColumns({ commit }, { board_name }) {
86 | try {
87 | const response = await frappe.call({
88 | method: 'frappe.client.get',
89 | args: {
90 | doctype: 'Kanban Board',
91 | name: board_name,
92 | },
93 | });
94 |
95 | const board = response.message;
96 | commit('SET_COLUMNS', board.columns);
97 |
98 | const ref_doctype = board.reference_doctype;
99 | const field_name = board.field_name;
100 | const highlighted_field = board.custom_highlighted_field
101 | const highlight_table = board.custom_highlight_table
102 | let fields = [];
103 | if (board.fields) {
104 | try {
105 | fields = JSON.parse(board.fields);
106 | } catch (e) {
107 | console.error("Error parsing fields:", e);
108 | }
109 | } else {
110 | fields = ['name', 'title'];
111 | }
112 | const meta = frappe.get_meta(ref_doctype);
113 |
114 | const config = { board_name, ref_doctype, field_name, title_field: meta.title_field, fields, highlighted_field, highlight_table }
115 | commit('SET_KANBAN_CONFIG', config);
116 |
117 | } catch (error) {
118 | console.error('Error fetching columns:', error);
119 | }
120 | },
121 | async updateOrder({ commit, state }, { fromColumn, toColumn, fromIndex, toIndex, card }) {
122 | // console.log(fromColumn, toColumn, fromIndex, toIndex, card.title);
123 | // commit('MOVE_CARD', { fromColumn, toColumn, fromIndex, toIndex, card })
124 | try {
125 | await frappe.call({
126 | method: 'frappe.client.set_value',
127 | args: {
128 | doctype: state.config.ref_doctype,
129 | name: card.name,
130 | fieldname: state.config.field_name,
131 | value: state.columns[toColumn].column_name,
132 | },
133 | // callback: function (r) {
134 | // console.log('Dropped', card.title, 'to', r.message[state.config.field_name]);
135 | // }
136 | });
137 | } catch (error) {
138 | // commit('MOVE_CARD', { fromColumn: toColumn, toColumn: fromColumn, fromIndex: toIndex, toIndex: fromIndex, card })
139 | console.error(error);
140 | }
141 | },
142 | async setIndicator({ commit, state }, { indicator, columnIndex, board_name }) {
143 | try {
144 | await frappe.call({
145 | method: 'frappe.desk.doctype.kanban_board.kanban_board.set_indicator',
146 | args: {
147 | board_name: board_name,
148 | column_name: state.columns[columnIndex].column_name,
149 | indicator: indicator,
150 | },
151 | callback: function () {
152 | commit('UPDATE_COLUMN_INDICATOR', { columnIndex, indicator });
153 | }
154 | });
155 | } catch (error) {
156 | console.error(`Error updating indicator ${indicator}:`, error);
157 | }
158 | },
159 | },
160 | getters: {
161 | getColumns: state => state.columns,
162 | getConfig: state => state.config,
163 | },
164 | });
165 |
166 | function transformCard(keys, card, userInfoLookup) {
167 | try {
168 | const transformedCard = {};
169 | keys.forEach((key, index) => {
170 | transformedCard[key] = card[index];
171 | });
172 |
173 | const transformedAssign = {};
174 | if (transformedCard['_assign']) {
175 | const assignees = JSON.parse(transformedCard['_assign']);
176 | assignees.forEach((assignee) => {
177 | transformedAssign[assignee] = userInfoLookup[assignee];
178 | });
179 |
180 | }
181 | transformedCard['_assign'] = transformedAssign;
182 | return transformedCard;
183 |
184 | } catch (e) {
185 | console.error("Error parsing fields:", e);
186 | }
187 | }
188 |
189 | export default store;
--------------------------------------------------------------------------------
/Quick-Kanban/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import vue from '@vitejs/plugin-vue'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [vue()],
7 | })
8 |
--------------------------------------------------------------------------------
/Quick-Kanban/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/parser@^7.24.4":
6 | version "7.24.7"
7 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85"
8 | integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==
9 |
10 | "@esbuild/aix-ppc64@0.20.2":
11 | version "0.20.2"
12 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
13 | integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
14 |
15 | "@esbuild/android-arm64@0.20.2":
16 | version "0.20.2"
17 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
18 | integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
19 |
20 | "@esbuild/android-arm@0.20.2":
21 | version "0.20.2"
22 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
23 | integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
24 |
25 | "@esbuild/android-x64@0.20.2":
26 | version "0.20.2"
27 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
28 | integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
29 |
30 | "@esbuild/darwin-arm64@0.20.2":
31 | version "0.20.2"
32 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb"
33 | integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
34 |
35 | "@esbuild/darwin-x64@0.20.2":
36 | version "0.20.2"
37 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
38 | integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
39 |
40 | "@esbuild/freebsd-arm64@0.20.2":
41 | version "0.20.2"
42 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
43 | integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
44 |
45 | "@esbuild/freebsd-x64@0.20.2":
46 | version "0.20.2"
47 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
48 | integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
49 |
50 | "@esbuild/linux-arm64@0.20.2":
51 | version "0.20.2"
52 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
53 | integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
54 |
55 | "@esbuild/linux-arm@0.20.2":
56 | version "0.20.2"
57 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
58 | integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
59 |
60 | "@esbuild/linux-ia32@0.20.2":
61 | version "0.20.2"
62 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
63 | integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
64 |
65 | "@esbuild/linux-loong64@0.20.2":
66 | version "0.20.2"
67 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
68 | integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
69 |
70 | "@esbuild/linux-mips64el@0.20.2":
71 | version "0.20.2"
72 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
73 | integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
74 |
75 | "@esbuild/linux-ppc64@0.20.2":
76 | version "0.20.2"
77 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
78 | integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
79 |
80 | "@esbuild/linux-riscv64@0.20.2":
81 | version "0.20.2"
82 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
83 | integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
84 |
85 | "@esbuild/linux-s390x@0.20.2":
86 | version "0.20.2"
87 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
88 | integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
89 |
90 | "@esbuild/linux-x64@0.20.2":
91 | version "0.20.2"
92 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
93 | integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
94 |
95 | "@esbuild/netbsd-x64@0.20.2":
96 | version "0.20.2"
97 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
98 | integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
99 |
100 | "@esbuild/openbsd-x64@0.20.2":
101 | version "0.20.2"
102 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
103 | integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
104 |
105 | "@esbuild/sunos-x64@0.20.2":
106 | version "0.20.2"
107 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
108 | integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
109 |
110 | "@esbuild/win32-arm64@0.20.2":
111 | version "0.20.2"
112 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
113 | integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
114 |
115 | "@esbuild/win32-ia32@0.20.2":
116 | version "0.20.2"
117 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
118 | integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
119 |
120 | "@esbuild/win32-x64@0.20.2":
121 | version "0.20.2"
122 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
123 | integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
124 |
125 | "@jridgewell/sourcemap-codec@^1.4.15":
126 | version "1.4.15"
127 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
128 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
129 |
130 | "@rollup/rollup-android-arm-eabi@4.18.0":
131 | version "4.18.0"
132 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27"
133 | integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==
134 |
135 | "@rollup/rollup-android-arm64@4.18.0":
136 | version "4.18.0"
137 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203"
138 | integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==
139 |
140 | "@rollup/rollup-darwin-arm64@4.18.0":
141 | version "4.18.0"
142 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096"
143 | integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==
144 |
145 | "@rollup/rollup-darwin-x64@4.18.0":
146 | version "4.18.0"
147 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c"
148 | integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==
149 |
150 | "@rollup/rollup-linux-arm-gnueabihf@4.18.0":
151 | version "4.18.0"
152 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8"
153 | integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==
154 |
155 | "@rollup/rollup-linux-arm-musleabihf@4.18.0":
156 | version "4.18.0"
157 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549"
158 | integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==
159 |
160 | "@rollup/rollup-linux-arm64-gnu@4.18.0":
161 | version "4.18.0"
162 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577"
163 | integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==
164 |
165 | "@rollup/rollup-linux-arm64-musl@4.18.0":
166 | version "4.18.0"
167 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c"
168 | integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==
169 |
170 | "@rollup/rollup-linux-powerpc64le-gnu@4.18.0":
171 | version "4.18.0"
172 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf"
173 | integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==
174 |
175 | "@rollup/rollup-linux-riscv64-gnu@4.18.0":
176 | version "4.18.0"
177 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9"
178 | integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==
179 |
180 | "@rollup/rollup-linux-s390x-gnu@4.18.0":
181 | version "4.18.0"
182 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec"
183 | integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==
184 |
185 | "@rollup/rollup-linux-x64-gnu@4.18.0":
186 | version "4.18.0"
187 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942"
188 | integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==
189 |
190 | "@rollup/rollup-linux-x64-musl@4.18.0":
191 | version "4.18.0"
192 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d"
193 | integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==
194 |
195 | "@rollup/rollup-win32-arm64-msvc@4.18.0":
196 | version "4.18.0"
197 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf"
198 | integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==
199 |
200 | "@rollup/rollup-win32-ia32-msvc@4.18.0":
201 | version "4.18.0"
202 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54"
203 | integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==
204 |
205 | "@rollup/rollup-win32-x64-msvc@4.18.0":
206 | version "4.18.0"
207 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4"
208 | integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==
209 |
210 | "@types/estree@1.0.5":
211 | version "1.0.5"
212 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
213 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
214 |
215 | "@vitejs/plugin-vue@^5.0.4":
216 | version "5.0.5"
217 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz#e3dc11e427d4b818b7e3202766ad156e3d5e2eaa"
218 | integrity sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==
219 |
220 | "@vue/compiler-core@3.4.27":
221 | version "3.4.27"
222 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.27.tgz#e69060f4b61429fe57976aa5872cfa21389e4d91"
223 | integrity sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==
224 | dependencies:
225 | "@babel/parser" "^7.24.4"
226 | "@vue/shared" "3.4.27"
227 | entities "^4.5.0"
228 | estree-walker "^2.0.2"
229 | source-map-js "^1.2.0"
230 |
231 | "@vue/compiler-dom@3.4.27":
232 | version "3.4.27"
233 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz#d51d35f40d00ce235d7afc6ad8b09dfd92b1cc1c"
234 | integrity sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==
235 | dependencies:
236 | "@vue/compiler-core" "3.4.27"
237 | "@vue/shared" "3.4.27"
238 |
239 | "@vue/compiler-sfc@3.4.27":
240 | version "3.4.27"
241 | resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz#399cac1b75c6737bf5440dc9cf3c385bb2959701"
242 | integrity sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==
243 | dependencies:
244 | "@babel/parser" "^7.24.4"
245 | "@vue/compiler-core" "3.4.27"
246 | "@vue/compiler-dom" "3.4.27"
247 | "@vue/compiler-ssr" "3.4.27"
248 | "@vue/shared" "3.4.27"
249 | estree-walker "^2.0.2"
250 | magic-string "^0.30.10"
251 | postcss "^8.4.38"
252 | source-map-js "^1.2.0"
253 |
254 | "@vue/compiler-ssr@3.4.27":
255 | version "3.4.27"
256 | resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz#2a8ecfef1cf448b09be633901a9c020360472e3d"
257 | integrity sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==
258 | dependencies:
259 | "@vue/compiler-dom" "3.4.27"
260 | "@vue/shared" "3.4.27"
261 |
262 | "@vue/devtools-api@^6.0.0-beta.11":
263 | version "6.6.3"
264 | resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.3.tgz#b23a588154cba8986bba82b6e1d0248bde3fd1a0"
265 | integrity sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==
266 |
267 | "@vue/reactivity@3.4.27":
268 | version "3.4.27"
269 | resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.27.tgz#6ece72331bf719953f5eaa95ec60b2b8d49e3791"
270 | integrity sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==
271 | dependencies:
272 | "@vue/shared" "3.4.27"
273 |
274 | "@vue/runtime-core@3.4.27":
275 | version "3.4.27"
276 | resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.27.tgz#1b6e1d71e4604ba7442dd25ed22e4a1fc6adbbda"
277 | integrity sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==
278 | dependencies:
279 | "@vue/reactivity" "3.4.27"
280 | "@vue/shared" "3.4.27"
281 |
282 | "@vue/runtime-dom@3.4.27":
283 | version "3.4.27"
284 | resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.27.tgz#fe8d1ce9bbe8921d5dd0ad5c10df0e04ef7a5ee7"
285 | integrity sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==
286 | dependencies:
287 | "@vue/runtime-core" "3.4.27"
288 | "@vue/shared" "3.4.27"
289 | csstype "^3.1.3"
290 |
291 | "@vue/server-renderer@3.4.27":
292 | version "3.4.27"
293 | resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.27.tgz#3306176f37e648ba665f97dda3ce705687be63d2"
294 | integrity sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==
295 | dependencies:
296 | "@vue/compiler-ssr" "3.4.27"
297 | "@vue/shared" "3.4.27"
298 |
299 | "@vue/shared@3.4.27":
300 | version "3.4.27"
301 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.27.tgz#f05e3cd107d157354bb4ae7a7b5fc9cf73c63b50"
302 | integrity sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==
303 |
304 | ansi-regex@^4.1.0:
305 | version "4.1.1"
306 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
307 | integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
308 |
309 | ansi-styles@^3.2.0:
310 | version "3.2.1"
311 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
312 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
313 | dependencies:
314 | color-convert "^1.9.0"
315 |
316 | anymatch@~3.1.2:
317 | version "3.1.3"
318 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
319 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
320 | dependencies:
321 | normalize-path "^3.0.0"
322 | picomatch "^2.0.4"
323 |
324 | binary-extensions@^2.0.0:
325 | version "2.3.0"
326 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
327 | integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
328 |
329 | braces@~3.0.2:
330 | version "3.0.3"
331 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
332 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
333 | dependencies:
334 | fill-range "^7.1.1"
335 |
336 | camelcase@^5.0.0:
337 | version "5.3.1"
338 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
339 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
340 |
341 | chokidar-cli@^3.0.0:
342 | version "3.0.0"
343 | resolved "https://registry.yarnpkg.com/chokidar-cli/-/chokidar-cli-3.0.0.tgz#29283666063b9e167559d30f247ff8fc48794eb7"
344 | integrity sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==
345 | dependencies:
346 | chokidar "^3.5.2"
347 | lodash.debounce "^4.0.8"
348 | lodash.throttle "^4.1.1"
349 | yargs "^13.3.0"
350 |
351 | chokidar@^3.5.2:
352 | version "3.6.0"
353 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
354 | integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
355 | dependencies:
356 | anymatch "~3.1.2"
357 | braces "~3.0.2"
358 | glob-parent "~5.1.2"
359 | is-binary-path "~2.1.0"
360 | is-glob "~4.0.1"
361 | normalize-path "~3.0.0"
362 | readdirp "~3.6.0"
363 | optionalDependencies:
364 | fsevents "~2.3.2"
365 |
366 | cliui@^5.0.0:
367 | version "5.0.0"
368 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
369 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
370 | dependencies:
371 | string-width "^3.1.0"
372 | strip-ansi "^5.2.0"
373 | wrap-ansi "^5.1.0"
374 |
375 | color-convert@^1.9.0:
376 | version "1.9.3"
377 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
378 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
379 | dependencies:
380 | color-name "1.1.3"
381 |
382 | color-name@1.1.3:
383 | version "1.1.3"
384 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
385 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
386 |
387 | csstype@^3.1.3:
388 | version "3.1.3"
389 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
390 | integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
391 |
392 | decamelize@^1.2.0:
393 | version "1.2.0"
394 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
395 | integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
396 |
397 | emoji-regex@^7.0.1:
398 | version "7.0.3"
399 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
400 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
401 |
402 | entities@^4.5.0:
403 | version "4.5.0"
404 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
405 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
406 |
407 | esbuild@^0.20.1:
408 | version "0.20.2"
409 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1"
410 | integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==
411 | optionalDependencies:
412 | "@esbuild/aix-ppc64" "0.20.2"
413 | "@esbuild/android-arm" "0.20.2"
414 | "@esbuild/android-arm64" "0.20.2"
415 | "@esbuild/android-x64" "0.20.2"
416 | "@esbuild/darwin-arm64" "0.20.2"
417 | "@esbuild/darwin-x64" "0.20.2"
418 | "@esbuild/freebsd-arm64" "0.20.2"
419 | "@esbuild/freebsd-x64" "0.20.2"
420 | "@esbuild/linux-arm" "0.20.2"
421 | "@esbuild/linux-arm64" "0.20.2"
422 | "@esbuild/linux-ia32" "0.20.2"
423 | "@esbuild/linux-loong64" "0.20.2"
424 | "@esbuild/linux-mips64el" "0.20.2"
425 | "@esbuild/linux-ppc64" "0.20.2"
426 | "@esbuild/linux-riscv64" "0.20.2"
427 | "@esbuild/linux-s390x" "0.20.2"
428 | "@esbuild/linux-x64" "0.20.2"
429 | "@esbuild/netbsd-x64" "0.20.2"
430 | "@esbuild/openbsd-x64" "0.20.2"
431 | "@esbuild/sunos-x64" "0.20.2"
432 | "@esbuild/win32-arm64" "0.20.2"
433 | "@esbuild/win32-ia32" "0.20.2"
434 | "@esbuild/win32-x64" "0.20.2"
435 |
436 | estree-walker@^2.0.2:
437 | version "2.0.2"
438 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
439 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
440 |
441 | fill-range@^7.1.1:
442 | version "7.1.1"
443 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
444 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
445 | dependencies:
446 | to-regex-range "^5.0.1"
447 |
448 | find-up@^3.0.0:
449 | version "3.0.0"
450 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
451 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
452 | dependencies:
453 | locate-path "^3.0.0"
454 |
455 | fsevents@~2.3.2, fsevents@~2.3.3:
456 | version "2.3.3"
457 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
458 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
459 |
460 | get-caller-file@^2.0.1:
461 | version "2.0.5"
462 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
463 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
464 |
465 | glob-parent@~5.1.2:
466 | version "5.1.2"
467 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
468 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
469 | dependencies:
470 | is-glob "^4.0.1"
471 |
472 | is-binary-path@~2.1.0:
473 | version "2.1.0"
474 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
475 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
476 | dependencies:
477 | binary-extensions "^2.0.0"
478 |
479 | is-extglob@^2.1.1:
480 | version "2.1.1"
481 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
482 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
483 |
484 | is-fullwidth-code-point@^2.0.0:
485 | version "2.0.0"
486 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
487 | integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
488 |
489 | is-glob@^4.0.1, is-glob@~4.0.1:
490 | version "4.0.3"
491 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
492 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
493 | dependencies:
494 | is-extglob "^2.1.1"
495 |
496 | is-number@^7.0.0:
497 | version "7.0.0"
498 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
499 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
500 |
501 | locate-path@^3.0.0:
502 | version "3.0.0"
503 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
504 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
505 | dependencies:
506 | p-locate "^3.0.0"
507 | path-exists "^3.0.0"
508 |
509 | lodash.debounce@^4.0.8:
510 | version "4.0.8"
511 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
512 | integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
513 |
514 | lodash.throttle@^4.1.1:
515 | version "4.1.1"
516 | resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
517 | integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
518 |
519 | magic-string@^0.30.10:
520 | version "0.30.10"
521 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e"
522 | integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==
523 | dependencies:
524 | "@jridgewell/sourcemap-codec" "^1.4.15"
525 |
526 | nanoid@^3.3.7:
527 | version "3.3.7"
528 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
529 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
530 |
531 | normalize-path@^3.0.0, normalize-path@~3.0.0:
532 | version "3.0.0"
533 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
534 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
535 |
536 | p-limit@^2.0.0:
537 | version "2.3.0"
538 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
539 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
540 | dependencies:
541 | p-try "^2.0.0"
542 |
543 | p-locate@^3.0.0:
544 | version "3.0.0"
545 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
546 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
547 | dependencies:
548 | p-limit "^2.0.0"
549 |
550 | p-try@^2.0.0:
551 | version "2.2.0"
552 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
553 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
554 |
555 | path-exists@^3.0.0:
556 | version "3.0.0"
557 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
558 | integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
559 |
560 | picocolors@^1.0.0:
561 | version "1.0.1"
562 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1"
563 | integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
564 |
565 | picomatch@^2.0.4, picomatch@^2.2.1:
566 | version "2.3.1"
567 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
568 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
569 |
570 | postcss@^8.4.38:
571 | version "8.4.38"
572 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e"
573 | integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
574 | dependencies:
575 | nanoid "^3.3.7"
576 | picocolors "^1.0.0"
577 | source-map-js "^1.2.0"
578 |
579 | readdirp@~3.6.0:
580 | version "3.6.0"
581 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
582 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
583 | dependencies:
584 | picomatch "^2.2.1"
585 |
586 | require-directory@^2.1.1:
587 | version "2.1.1"
588 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
589 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
590 |
591 | require-main-filename@^2.0.0:
592 | version "2.0.0"
593 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
594 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
595 |
596 | rollup@^4.13.0:
597 | version "4.18.0"
598 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.18.0.tgz#497f60f0c5308e4602cf41136339fbf87d5f5dda"
599 | integrity sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==
600 | dependencies:
601 | "@types/estree" "1.0.5"
602 | optionalDependencies:
603 | "@rollup/rollup-android-arm-eabi" "4.18.0"
604 | "@rollup/rollup-android-arm64" "4.18.0"
605 | "@rollup/rollup-darwin-arm64" "4.18.0"
606 | "@rollup/rollup-darwin-x64" "4.18.0"
607 | "@rollup/rollup-linux-arm-gnueabihf" "4.18.0"
608 | "@rollup/rollup-linux-arm-musleabihf" "4.18.0"
609 | "@rollup/rollup-linux-arm64-gnu" "4.18.0"
610 | "@rollup/rollup-linux-arm64-musl" "4.18.0"
611 | "@rollup/rollup-linux-powerpc64le-gnu" "4.18.0"
612 | "@rollup/rollup-linux-riscv64-gnu" "4.18.0"
613 | "@rollup/rollup-linux-s390x-gnu" "4.18.0"
614 | "@rollup/rollup-linux-x64-gnu" "4.18.0"
615 | "@rollup/rollup-linux-x64-musl" "4.18.0"
616 | "@rollup/rollup-win32-arm64-msvc" "4.18.0"
617 | "@rollup/rollup-win32-ia32-msvc" "4.18.0"
618 | "@rollup/rollup-win32-x64-msvc" "4.18.0"
619 | fsevents "~2.3.2"
620 |
621 | set-blocking@^2.0.0:
622 | version "2.0.0"
623 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
624 | integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
625 |
626 | sortable-dnd@latest:
627 | version "0.6.15"
628 | resolved "https://registry.yarnpkg.com/sortable-dnd/-/sortable-dnd-0.6.15.tgz#29bfbcabf3b3c5ca4d0300fdd23ebd1fb7129fb7"
629 | integrity sha512-5Nrvdz6iFX5G7YT2V/aVtP+Miq/Tvlx9nNts2FW11MNuxIXh2oyebxdpzQZEo1qmNGvb0yygROXbU9cjQI1RgA==
630 |
631 | source-map-js@^1.2.0:
632 | version "1.2.0"
633 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
634 | integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
635 |
636 | string-width@^3.0.0, string-width@^3.1.0:
637 | version "3.1.0"
638 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
639 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
640 | dependencies:
641 | emoji-regex "^7.0.1"
642 | is-fullwidth-code-point "^2.0.0"
643 | strip-ansi "^5.1.0"
644 |
645 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
646 | version "5.2.0"
647 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
648 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
649 | dependencies:
650 | ansi-regex "^4.1.0"
651 |
652 | to-regex-range@^5.0.1:
653 | version "5.0.1"
654 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
655 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
656 | dependencies:
657 | is-number "^7.0.0"
658 |
659 | vite@^5.2.0:
660 | version "5.2.13"
661 | resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.13.tgz#945ababcbe3d837ae2479c29f661cd20bc5e1a80"
662 | integrity sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==
663 | dependencies:
664 | esbuild "^0.20.1"
665 | postcss "^8.4.38"
666 | rollup "^4.13.0"
667 | optionalDependencies:
668 | fsevents "~2.3.3"
669 |
670 | vue-virtual-draglist@^3.3.2:
671 | version "3.3.2"
672 | resolved "https://registry.yarnpkg.com/vue-virtual-draglist/-/vue-virtual-draglist-3.3.2.tgz#25659156970e03505b09149048b5cd685dcb34af"
673 | integrity sha512-CUpTvaT5F2Kb/qqQQVK2X//VgbgOMt8X1fmDdQa6XPoJ/ZPW9LmGVt5lEVr/MnXaTD6qN8gXIyuRKno33/pPbQ==
674 | dependencies:
675 | sortable-dnd latest
676 |
677 | vue@^3.4.21:
678 | version "3.4.27"
679 | resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.27.tgz#40b7d929d3e53f427f7f5945386234d2854cc2a1"
680 | integrity sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==
681 | dependencies:
682 | "@vue/compiler-dom" "3.4.27"
683 | "@vue/compiler-sfc" "3.4.27"
684 | "@vue/runtime-dom" "3.4.27"
685 | "@vue/server-renderer" "3.4.27"
686 | "@vue/shared" "3.4.27"
687 |
688 | vuex@^4.0.2:
689 | version "4.1.0"
690 | resolved "https://registry.yarnpkg.com/vuex/-/vuex-4.1.0.tgz#aa1b3ea5c7385812b074c86faeeec2217872e36c"
691 | integrity sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==
692 | dependencies:
693 | "@vue/devtools-api" "^6.0.0-beta.11"
694 |
695 | which-module@^2.0.0:
696 | version "2.0.1"
697 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409"
698 | integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
699 |
700 | wrap-ansi@^5.1.0:
701 | version "5.1.0"
702 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
703 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
704 | dependencies:
705 | ansi-styles "^3.2.0"
706 | string-width "^3.0.0"
707 | strip-ansi "^5.0.0"
708 |
709 | y18n@^4.0.0:
710 | version "4.0.3"
711 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
712 | integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
713 |
714 | yargs-parser@^13.1.2:
715 | version "13.1.2"
716 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
717 | integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
718 | dependencies:
719 | camelcase "^5.0.0"
720 | decamelize "^1.2.0"
721 |
722 | yargs@^13.3.0:
723 | version "13.3.2"
724 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
725 | integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
726 | dependencies:
727 | cliui "^5.0.0"
728 | find-up "^3.0.0"
729 | get-caller-file "^2.0.1"
730 | require-directory "^2.1.1"
731 | require-main-filename "^2.0.0"
732 | set-blocking "^2.0.0"
733 | string-width "^3.0.0"
734 | which-module "^2.0.0"
735 | y18n "^4.0.0"
736 | yargs-parser "^13.1.2"
737 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Quick Kanban
2 |
3 | Quick Kanban is a Frappe app designed to enhance the default Kanban view in Frappe/ERPNext by replacing it with a Vue-based Kanban. This app aims to provide better performance and an improved user experience, especially for instances with a high volume of Kanban cards and frequent updates.
4 |
5 | ## Objective
6 |
7 | - **Vue-based Kanban View**: Improved performance and user interface.
8 | - **Optimized for Large Data**: Handles hundreds of cards efficiently.
9 | - **Seamless Integration**: Works seamlessly within the Frappe framework.
10 |
11 | ## Installation
12 |
13 | Follow the steps below to install and set up Quick Kanban in your Frappe/ERPNext instance.
14 |
15 | ### Step 1: Get the App
16 |
17 | Run the following command to get the Quick Kanban app from the repository:
18 |
19 | ```bash
20 | bench get-app https://github.com/tridz-dev/quick_kanban.git
21 | ```
22 |
23 | ### Step 2: Install the App
24 |
25 | Once you have the app, install it on your desired site using the command below. Replace `[sitename]` with the name of your site:
26 |
27 | ```bash
28 | bench install-app --site [sitename] quick_kanban
29 | ```
30 |
31 | ### Step 3: Modify Site Config
32 |
33 | After installation, you can enable the new Kanban board using the following bench command. Replace `[sitename]` with the name of your site:
34 |
35 | ```bash
36 | bench set-config kanban_beta 1
37 | ```
38 |
39 | Alternatively, to enable the new Kanban board, add the `kanban_beta` attribute to the `site_config.json` in your `sites/[sitename]` directory.
40 |
41 | ```json
42 | "kanban_beta": 1
43 | ```
44 |
45 | To enable the new Kanban board for specific users, add the usernames of desired users to the `kanban_beta_users` list in `site_config.json`.
For example:
46 |
47 | ```json
48 | "kanban_beta_users": [
49 | "Username1",
50 | "Username2"
51 | ]
52 | ```
53 |
54 | ## Usage
55 |
56 | Create a Kanban Board for any doctype using the desired field as a reference, and you're all set!
57 |
58 | ### Highlighted Field
59 |
60 | You can choose a field to be highlighted inside the Kanban card. To enable this feature, select a field as the `Highlighted Field` for your Kanban board.
61 |
62 | Additionally, you can assign a color for each value of that field in the highlight table of your Kanban Board. Simply type the expected value in the Tag column and select a corresponding color for it.
63 | For example:
64 | 
65 |
66 | ## License
67 |
68 | This project is licensed under the MIT License.
69 |
--------------------------------------------------------------------------------
/license.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) [year] [fullname]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "workspaces": ["Quick-Kanban"],
4 | "scripts": {
5 | "postinstall": "cd Quick-Kanban && yarn install",
6 | "dev": "cd Quick-Kanban && yarn dev",
7 | "build": "cd Quick-Kanban && yarn build"
8 | }
9 | }
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | [project]
2 | name = "quick_kanban"
3 | authors = [
4 | { name = "tridz", email = "raihanbinabduljal@gmail.com"}
5 | ]
6 | description = "An enhanced version of Kanban Board in frappe"
7 | requires-python = ">=3.10"
8 | readme = "README.md"
9 | dynamic = ["version"]
10 | dependencies = [
11 | # "frappe~=15.0.0" # Installed and managed by bench.
12 | ]
13 |
14 | [build-system]
15 | requires = ["flit_core >=3.4,<4"]
16 | build-backend = "flit_core.buildapi"
17 |
18 | # These dependencies are only installed when developer mode is enabled
19 | [tool.bench.dev-dependencies]
20 | # package_name = "~=1.1.0"
21 |
--------------------------------------------------------------------------------
/quick_kanban/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = "0.0.1"
2 |
--------------------------------------------------------------------------------
/quick_kanban/config/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/config/__init__.py
--------------------------------------------------------------------------------
/quick_kanban/get_beta _users.py:
--------------------------------------------------------------------------------
1 |
2 | import frappe
3 |
4 | @frappe.whitelist()
5 | def get_kanban_config():
6 | config = frappe.local.conf
7 | kanban_beta = config.get('kanban_beta', 0)
8 | kanban_beta_users = config.get('kanban_beta_users', {})
9 | return {
10 | "kanban_beta": kanban_beta,
11 | "kanban_beta_users": kanban_beta_users
12 | }
13 |
--------------------------------------------------------------------------------
/quick_kanban/hooks.py:
--------------------------------------------------------------------------------
1 | app_name = "quick_kanban"
2 | app_title = "Quick-Kanban"
3 | app_publisher = "tridz"
4 | app_description = "An enhanced version of Kanban Board in frappe"
5 | app_email = "raihanbinabduljal@gmail.com"
6 | app_license = "mit"
7 | # required_apps = []
8 |
9 | # Includes in
10 | # ------------------
11 |
12 | # include js, css files in header of desk.html
13 | app_include_css = "quick_kanban.bundle.css"
14 | app_include_js = "kanban_view.bundle.js"
15 |
16 | # include js, css files in header of web template
17 | # web_include_css = "/assets/quick_kanban/css/quick_kanban.css"
18 | # web_include_js = "/assets/quick_kanban/js/quick_kanban.js"
19 |
20 | # include custom scss in every website theme (without file extension ".scss")
21 | # website_theme_scss = "quick_kanban/public/scss/website"
22 |
23 | # include js, css files in header of web form
24 | # webform_include_js = {"doctype": "public/js/doctype.js"}
25 | # webform_include_css = {"doctype": "public/css/doctype.css"}
26 |
27 | # include js in page
28 | # page_js = {"page" : "public/js/file.js"}
29 |
30 | # include js in doctype views
31 | doctype_js = {"Kanban Board" : "public/js/kanban_highlight.js"}
32 | # doctype_list_js = {"doctype" : "public/js/doctype_list.js"}
33 | # doctype_tree_js = {"doctype" : "public/js/doctype_tree.js"}
34 | # doctype_calendar_js = {"doctype" : "public/js/doctype_calendar.js"}
35 |
36 | # Svg Icons
37 | # ------------------
38 | # include app icons in desk
39 | # app_include_icons = "quick_kanban/public/icons.svg"
40 |
41 | # Home Pages
42 | # ----------
43 |
44 | # application home page (will override Website Settings)
45 | # home_page = "login"
46 |
47 | # website user home page (by Role)
48 | # role_home_page = {
49 | # "Role": "home_page"
50 | # }
51 |
52 | # Generators
53 | # ----------
54 |
55 | # automatically create page for each record of this doctype
56 | # website_generators = ["Web Page"]
57 |
58 | # Jinja
59 | # ----------
60 |
61 | # add methods and filters to jinja environment
62 | # jinja = {
63 | # "methods": "quick_kanban.utils.jinja_methods",
64 | # "filters": "quick_kanban.utils.jinja_filters"
65 | # }
66 |
67 | # Installation
68 | # ------------
69 |
70 | # before_install = "quick_kanban.install.before_install"
71 | # after_install = "quick_kanban.install.after_install"
72 |
73 | # Uninstallation
74 | # ------------
75 |
76 | # before_uninstall = "quick_kanban.uninstall.before_uninstall"
77 | # after_uninstall = "quick_kanban.uninstall.after_uninstall"
78 |
79 | # Integration Setup
80 | # ------------------
81 | # To set up dependencies/integrations with other apps
82 | # Name of the app being installed is passed as an argument
83 |
84 | # before_app_install = "quick_kanban.utils.before_app_install"
85 | # after_app_install = "quick_kanban.utils.after_app_install"
86 |
87 | # Integration Cleanup
88 | # -------------------
89 | # To clean up dependencies/integrations with other apps
90 | # Name of the app being uninstalled is passed as an argument
91 |
92 | # before_app_uninstall = "quick_kanban.utils.before_app_uninstall"
93 | # after_app_uninstall = "quick_kanban.utils.after_app_uninstall"
94 |
95 | # Desk Notifications
96 | # ------------------
97 | # See frappe.core.notifications.get_notification_config
98 |
99 | # notification_config = "quick_kanban.notifications.get_notification_config"
100 |
101 | # Permissions
102 | # -----------
103 | # Permissions evaluated in scripted ways
104 |
105 | # permission_query_conditions = {
106 | # "Event": "frappe.desk.doctype.event.event.get_permission_query_conditions",
107 | # }
108 | #
109 | # has_permission = {
110 | # "Event": "frappe.desk.doctype.event.event.has_permission",
111 | # }
112 |
113 | # DocType Class
114 | # ---------------
115 | # Override standard doctype classes
116 |
117 | # override_doctype_class = {
118 | # "ToDo": "custom_app.overrides.CustomToDo"
119 | # }
120 |
121 | # Document Events
122 | # ---------------
123 | # Hook on document methods and events
124 |
125 | # doc_events = {
126 | # "*": {
127 | # "on_update": "method",
128 | # "on_cancel": "method",
129 | # "on_trash": "method"
130 | # }
131 | # }
132 |
133 | # Scheduled Tasks
134 | # ---------------
135 |
136 | # scheduler_events = {
137 | # "all": [
138 | # "quick_kanban.tasks.all"
139 | # ],
140 | # "daily": [
141 | # "quick_kanban.tasks.daily"
142 | # ],
143 | # "hourly": [
144 | # "quick_kanban.tasks.hourly"
145 | # ],
146 | # "weekly": [
147 | # "quick_kanban.tasks.weekly"
148 | # ],
149 | # "monthly": [
150 | # "quick_kanban.tasks.monthly"
151 | # ],
152 | # }
153 |
154 | # Testing
155 | # -------
156 |
157 | # before_tests = "quick_kanban.install.before_tests"
158 |
159 | # Overriding Methods
160 | # ------------------------------
161 | #
162 | # override_whitelisted_methods = {
163 | # "frappe.desk.doctype.event.event.get_events": "quick_kanban.event.get_events"
164 | # }
165 | #
166 | # each overriding function accepts a `data` argument;
167 | # generated from the base implementation of the doctype dashboard,
168 | # along with any modifications made in other Frappe apps
169 | # override_doctype_dashboards = {
170 | # "Task": "quick_kanban.task.get_dashboard_data"
171 | # }
172 |
173 | # exempt linked doctypes from being automatically cancelled
174 | #
175 | # auto_cancel_exempted_doctypes = ["Auto Repeat"]
176 |
177 | # Ignore links to specified DocTypes when deleting documents
178 | # -----------------------------------------------------------
179 |
180 | # ignore_links_on_delete = ["Communication", "ToDo"]
181 |
182 | # Request Events
183 | # ----------------
184 | # before_request = ["quick_kanban.utils.before_request"]
185 | # after_request = ["quick_kanban.utils.after_request"]
186 |
187 | # Job Events
188 | # ----------
189 | # before_job = ["quick_kanban.utils.before_job"]
190 | # after_job = ["quick_kanban.utils.after_job"]
191 |
192 | # User Data Protection
193 | # --------------------
194 |
195 | # user_data_fields = [
196 | # {
197 | # "doctype": "{doctype_1}",
198 | # "filter_by": "{filter_by}",
199 | # "redact_fields": ["{field_1}", "{field_2}"],
200 | # "partial": 1,
201 | # },
202 | # {
203 | # "doctype": "{doctype_2}",
204 | # "filter_by": "{filter_by}",
205 | # "partial": 1,
206 | # },
207 | # {
208 | # "doctype": "{doctype_3}",
209 | # "strict": False,
210 | # },
211 | # {
212 | # "doctype": "{doctype_4}"
213 | # }
214 | # ]
215 |
216 | # Authentication and authorization
217 | # --------------------------------
218 |
219 | # auth_hooks = [
220 | # "quick_kanban.auth.validate"
221 | # ]
222 |
223 | # Automatically update python controller files with type annotations for this app.
224 | # export_python_type_annotations = True
225 |
226 | # default_log_clearing_doctypes = {
227 | # "Logging DocType Name": 30 # days to retain logs
228 | # }
229 |
230 |
--------------------------------------------------------------------------------
/quick_kanban/modules.txt:
--------------------------------------------------------------------------------
1 | Quick-Kanban
--------------------------------------------------------------------------------
/quick_kanban/patches.txt:
--------------------------------------------------------------------------------
1 | [pre_model_sync]
2 | # Patches added in this section will be executed before doctypes are migrated
3 | # Read docs to understand patches: https://frappeframework.com/docs/v14/user/en/database-migrations
4 |
5 | [post_model_sync]
6 | # Patches added in this section will be executed after doctypes are migrated
--------------------------------------------------------------------------------
/quick_kanban/public/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/public/.gitkeep
--------------------------------------------------------------------------------
/quick_kanban/public/css/quick_kanban.bundle.css:
--------------------------------------------------------------------------------
1 | [data-theme=dark]{--kanban-column-gray: var(--gray-800);--kanban-column-red: #6b151580;--kanban-column-blue: #00488080;--kanban-column-light-blue: #0070cc80;--kanban-column-yellow: #733f1280;--kanban-column-purple: #40186380;--kanban-column-pink: #570f3e80;--kanban-column-green: #173b2c80;--kanban-column-orange: #6b271180;--kanban-column-cyan: #16475980}[data-theme=light]{--kanban-column-gray: var(--gray-200);--kanban-column-red: var(--red-200);--kanban-column-blue: var(--blue-200);--kanban-column-light-blue: var(--blue-100);--kanban-column-yellow: var(--yellow-100);--kanban-column-purple: var(--purple-200);--kanban-column-pink: var(--pink-200);--kanban-column-green: var(--green-200);--kanban-column-orange: var(--orange-200);--kanban-column-cyan: var(--cyan-100)}#kanbanapp{height:80vh}#kanbanapp .clickdrag-active{cursor:grabbing}#kanbanapp .kanban{position:relative;display:flex;justify-content:flex-start;gap:8px;overflow-x:auto;scrollbar-width:thin;height:80vh;padding-bottom:5px}#kanbanapp .kanban-column{display:flex;flex-direction:column;gap:8px;width:250px;max-width:350px;max-height:calc(100vh - var(--navbar-height) - var(--page-bottom-margin))!important;border-radius:12px;min-height:70vh}#kanbanapp .kanban-column-header{display:flex;justify-content:space-between;margin-bottom:10px}#kanbanapp .column-dropdown{max-height:300px;overflow-y:auto;position:absolute;transform:translate3d(0,16px,0);top:0;left:0;will-change:transform}#kanbanapp .column-title{color:inherit;font-size:medium;font-weight:600;text-align:start}#kanbanapp .indicator-pill{margin-right:6px}#kanbanapp .kanban-card{display:flex;position:relative;font-size:var(--text-md);gap:2px;flex-direction:column;padding:8px 12px;margin-bottom:8px;background:var(--card-bg);color:var(--text-muted);border:1px solid var(--border-color);border-radius:8px!important;opacity:1;box-shadow:0 1px 2px #0000001a;cursor:grab;-webkit-user-select:none;user-select:none;overflow-x:clip}#kanbanapp .chosen-card{filter:contrast(.9)}#kanbanapp .ghost-card{filter:contrast(1)}#kanbanapp .chosen-card .drag{opacity:.5}#kanbanapp .ghost-card .drag{opacity:1}#kanbanapp .kanban-card-meta{display:flex;align-items:flex-start;justify-content:space-between;margin:12px 0 5px}#kanbanapp .card-title{font-weight:600;text-align:start;margin-bottom:7px}#kanbanapp .addcard{display:flex;align-items:center;justify-content:center;margin-bottom:4px}#kanbanapp .addcard button{background-color:var(--card-bg)}#kanbanapp .header-item{display:flex;align-items:center;justify-content:center;padding:5px;border-radius:8px;cursor:pointer}#kanbanapp .header-item:hover{background-color:#5b5f611c}#kanbanapp .loadbtn{display:flex;justify-content:center;cursor:pointer}
2 |
--------------------------------------------------------------------------------
/quick_kanban/public/js/kanban_highlight.js:
--------------------------------------------------------------------------------
1 | frappe.ui.form.on('Kanban Board', {
2 | reference_doctype: function (frm) {
3 | if (!frm.doc.reference_doctype) return;
4 |
5 | frappe.model.with_doctype(frm.doc.reference_doctype, function () {
6 | var options = $.map(frappe.get_meta(frm.doc.reference_doctype).fields, function (d) {
7 | if (
8 | d.fieldname &&
9 | d.fieldtype === "Select" &&
10 | frappe.model.no_value_type.indexOf(d.fieldtype) === -1
11 | ) {
12 | return d.fieldname;
13 | }
14 | return null;
15 | });
16 | frm.set_df_property("custom_highlighted_field", "options", options);
17 | frm.get_field("custom_highlighted_field").refresh();
18 | });
19 | }
20 | })
--------------------------------------------------------------------------------
/quick_kanban/public/js/kanban_view.bundle.js:
--------------------------------------------------------------------------------
1 |
2 | frappe.provide("frappe.views");
3 |
4 | let kanban_conf = frappe.call({
5 | method: "quick_kanban.get_beta _users.get_kanban_config",
6 | callback: function (r) {
7 | if (!r.exc && r.message) {
8 | kanban_conf = r.message
9 | }
10 | }
11 | });
12 |
13 | frappe.views.KanbanView = class KanbanView extends frappe.views.KanbanView {
14 |
15 | render() {
16 | if (!kanban_conf.kanban_beta) {
17 | this.renderOld()
18 | return
19 | }
20 | if (kanban_conf.kanban_beta_users?.length) {
21 | if (kanban_conf.kanban_beta_users.includes(frappe.session.user)) {
22 | this.renderBeta()
23 | }
24 | else {
25 | this.renderOld()
26 | }
27 | }
28 | else {
29 | this.renderBeta()
30 | }
31 | }
32 |
33 | renderBeta() {
34 | if (!window.refreshKanbanBoard) {
35 | const script = document.createElement('script');
36 | script.src = '/assets/quick_kanban/js/quick_kanban.bundle.js';
37 | document.head.appendChild(script);
38 | this.$result.html(``);
39 | } else {
40 | if (window.refreshKanbanBoard) {
41 | let args = this.get_args();
42 | window.refreshKanbanBoard(args);
43 | }
44 | }
45 | }
46 |
47 | renderOld() {
48 | const board_name = this.board_name;
49 | if (!this.kanban) {
50 | this.kanban = new frappe.views.KanbanBoard({
51 | doctype: this.doctype,
52 | board: this.board,
53 | board_name: board_name,
54 | cards: this.data,
55 | card_meta: this.card_meta,
56 | wrapper: this.$result,
57 | cur_list: this,
58 | user_settings: this.view_user_settings,
59 | });
60 | } else if (board_name === this.kanban.board_name) {
61 | this.kanban.update(this.data);
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/quick_kanban/quick_kanban/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/quick_kanban/__init__.py
--------------------------------------------------------------------------------
/quick_kanban/quick_kanban/custom/kanban_board.json:
--------------------------------------------------------------------------------
1 | {
2 | "custom_fields": [
3 | {
4 | "_assign": null,
5 | "_comments": null,
6 | "_liked_by": null,
7 | "_user_tags": null,
8 | "allow_in_quick_entry": 0,
9 | "allow_on_submit": 0,
10 | "bold": 0,
11 | "collapsible": 0,
12 | "collapsible_depends_on": null,
13 | "columns": 0,
14 | "creation": "2024-06-11 11:16:29.416509",
15 | "default": null,
16 | "depends_on": null,
17 | "description": null,
18 | "docstatus": 0,
19 | "dt": "Kanban Board",
20 | "fetch_from": null,
21 | "fetch_if_empty": 0,
22 | "fieldname": "custom_highlight_table",
23 | "fieldtype": "Table",
24 | "hidden": 0,
25 | "hide_border": 0,
26 | "hide_days": 0,
27 | "hide_seconds": 0,
28 | "idx": 12,
29 | "ignore_user_permissions": 0,
30 | "ignore_xss_filter": 0,
31 | "in_global_search": 0,
32 | "in_list_view": 0,
33 | "in_preview": 0,
34 | "in_standard_filter": 0,
35 | "insert_after": "custom_highlighted_field",
36 | "is_system_generated": 0,
37 | "is_virtual": 0,
38 | "label": "Highlight Table",
39 | "length": 0,
40 | "link_filters": null,
41 | "mandatory_depends_on": null,
42 | "modified": "2024-06-11 11:16:29.416509",
43 | "modified_by": "Administrator",
44 | "module": null,
45 | "name": "Kanban Board-custom_highlight_table",
46 | "no_copy": 0,
47 | "non_negative": 0,
48 | "options": "Kanban Board Highlight",
49 | "owner": "Administrator",
50 | "permlevel": 0,
51 | "precision": "",
52 | "print_hide": 0,
53 | "print_hide_if_no_value": 0,
54 | "print_width": null,
55 | "read_only": 0,
56 | "read_only_depends_on": null,
57 | "report_hide": 0,
58 | "reqd": 0,
59 | "search_index": 0,
60 | "show_dashboard": 0,
61 | "sort_options": 0,
62 | "translatable": 0,
63 | "unique": 0,
64 | "width": null
65 | },
66 | {
67 | "_assign": null,
68 | "_comments": null,
69 | "_liked_by": null,
70 | "_user_tags": null,
71 | "allow_in_quick_entry": 0,
72 | "allow_on_submit": 0,
73 | "bold": 0,
74 | "collapsible": 0,
75 | "collapsible_depends_on": null,
76 | "columns": 0,
77 | "creation": "2024-06-10 20:54:40.935840",
78 | "default": "",
79 | "depends_on": null,
80 | "description": null,
81 | "docstatus": 0,
82 | "dt": "Kanban Board",
83 | "fetch_from": "",
84 | "fetch_if_empty": 0,
85 | "fieldname": "custom_highlighted_field",
86 | "fieldtype": "Select",
87 | "hidden": 0,
88 | "hide_border": 0,
89 | "hide_days": 0,
90 | "hide_seconds": 0,
91 | "idx": 11,
92 | "ignore_user_permissions": 0,
93 | "ignore_xss_filter": 0,
94 | "in_global_search": 0,
95 | "in_list_view": 0,
96 | "in_preview": 0,
97 | "in_standard_filter": 0,
98 | "insert_after": "fields",
99 | "is_system_generated": 0,
100 | "is_virtual": 0,
101 | "label": "Highlighted Field",
102 | "length": 0,
103 | "link_filters": null,
104 | "mandatory_depends_on": null,
105 | "modified": "2024-06-10 20:54:40.935840",
106 | "modified_by": "Administrator",
107 | "module": null,
108 | "name": "Kanban Board-custom_highlighted_field",
109 | "no_copy": 0,
110 | "non_negative": 0,
111 | "options": "",
112 | "owner": "Administrator",
113 | "permlevel": 0,
114 | "precision": "",
115 | "print_hide": 0,
116 | "print_hide_if_no_value": 0,
117 | "print_width": null,
118 | "read_only": 0,
119 | "read_only_depends_on": null,
120 | "report_hide": 0,
121 | "reqd": 0,
122 | "search_index": 0,
123 | "show_dashboard": 0,
124 | "sort_options": 0,
125 | "translatable": 0,
126 | "unique": 0,
127 | "width": null
128 | }
129 | ],
130 | "custom_perms": [],
131 | "doctype": "Kanban Board",
132 | "links": [],
133 | "property_setters": [
134 | {
135 | "_assign": null,
136 | "_comments": null,
137 | "_liked_by": null,
138 | "_user_tags": null,
139 | "creation": "2024-06-11 13:25:13.861705",
140 | "default_value": null,
141 | "doc_type": "Kanban Board",
142 | "docstatus": 0,
143 | "doctype_or_field": "DocType",
144 | "field_name": null,
145 | "idx": 0,
146 | "is_system_generated": 0,
147 | "modified": "2024-06-11 13:25:13.861705",
148 | "modified_by": "Administrator",
149 | "module": null,
150 | "name": "Kanban Board-main-field_order",
151 | "owner": "Administrator",
152 | "property": "field_order",
153 | "property_type": "Data",
154 | "row_name": null,
155 | "value": "[\"kanban_board_name\", \"reference_doctype\", \"field_name\", \"column_break_4\", \"private\", \"show_labels\", \"section_break_3\", \"columns\", \"filters\", \"fields\", \"custom_highlighted_field\", \"custom_highlight_table\"]"
156 | }
157 | ],
158 | "sync_on_migrate": 1
159 | }
--------------------------------------------------------------------------------
/quick_kanban/quick_kanban/doctype/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/quick_kanban/doctype/__init__.py
--------------------------------------------------------------------------------
/quick_kanban/quick_kanban/doctype/kanban_board_highlight/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/quick_kanban/doctype/kanban_board_highlight/__init__.py
--------------------------------------------------------------------------------
/quick_kanban/quick_kanban/doctype/kanban_board_highlight/kanban_board_highlight.json:
--------------------------------------------------------------------------------
1 | {
2 | "actions": [],
3 | "allow_rename": 1,
4 | "creation": "2024-06-11 11:12:14.156270",
5 | "doctype": "DocType",
6 | "editable_grid": 1,
7 | "engine": "InnoDB",
8 | "field_order": [
9 | "tag",
10 | "color"
11 | ],
12 | "fields": [
13 | {
14 | "fieldname": "tag",
15 | "fieldtype": "Data",
16 | "in_list_view": 1,
17 | "label": "Tag",
18 | "reqd": 1
19 | },
20 | {
21 | "default": "gray",
22 | "fieldname": "color",
23 | "fieldtype": "Select",
24 | "in_list_view": 1,
25 | "label": "Color",
26 | "options": "gray\nblue\ngreen\nred\norange\namber\nyellow\ncyan\nteal\nviolet\npink\npurple",
27 | "reqd": 1
28 | }
29 | ],
30 | "index_web_pages_for_search": 1,
31 | "istable": 1,
32 | "links": [],
33 | "modified": "2024-06-12 10:56:24.028551",
34 | "modified_by": "Administrator",
35 | "module": "Quick-Kanban",
36 | "name": "Kanban Board Highlight",
37 | "owner": "Administrator",
38 | "permissions": [],
39 | "sort_field": "modified",
40 | "sort_order": "DESC",
41 | "states": []
42 | }
--------------------------------------------------------------------------------
/quick_kanban/quick_kanban/doctype/kanban_board_highlight/kanban_board_highlight.py:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2024, tridz and contributors
2 | # For license information, please see license.txt
3 |
4 | # import frappe
5 | from frappe.model.document import Document
6 |
7 |
8 | class KanbanBoardHighlight(Document):
9 | pass
10 |
--------------------------------------------------------------------------------
/quick_kanban/templates/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/templates/__init__.py
--------------------------------------------------------------------------------
/quick_kanban/templates/pages/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/templates/pages/__init__.py
--------------------------------------------------------------------------------
/quick_kanban/www/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tridz-dev/quick_kanban/8ca57a621591aae46a9c18035fae60448ba0bcf6/quick_kanban/www/__init__.py
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/helper-string-parser@^7.24.8":
6 | version "7.24.8"
7 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d"
8 | integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==
9 |
10 | "@babel/helper-validator-identifier@^7.24.7":
11 | version "7.24.7"
12 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db"
13 | integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==
14 |
15 | "@babel/parser@^7.25.3":
16 | version "7.25.6"
17 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f"
18 | integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==
19 | dependencies:
20 | "@babel/types" "^7.25.6"
21 |
22 | "@babel/types@^7.25.6":
23 | version "7.25.6"
24 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6"
25 | integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==
26 | dependencies:
27 | "@babel/helper-string-parser" "^7.24.8"
28 | "@babel/helper-validator-identifier" "^7.24.7"
29 | to-fast-properties "^2.0.0"
30 |
31 | "@esbuild/aix-ppc64@0.21.5":
32 | version "0.21.5"
33 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
34 | integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==
35 |
36 | "@esbuild/android-arm64@0.21.5":
37 | version "0.21.5"
38 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052"
39 | integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==
40 |
41 | "@esbuild/android-arm@0.21.5":
42 | version "0.21.5"
43 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28"
44 | integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==
45 |
46 | "@esbuild/android-x64@0.21.5":
47 | version "0.21.5"
48 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e"
49 | integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==
50 |
51 | "@esbuild/darwin-arm64@0.21.5":
52 | version "0.21.5"
53 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a"
54 | integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==
55 |
56 | "@esbuild/darwin-x64@0.21.5":
57 | version "0.21.5"
58 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22"
59 | integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==
60 |
61 | "@esbuild/freebsd-arm64@0.21.5":
62 | version "0.21.5"
63 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e"
64 | integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==
65 |
66 | "@esbuild/freebsd-x64@0.21.5":
67 | version "0.21.5"
68 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261"
69 | integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==
70 |
71 | "@esbuild/linux-arm64@0.21.5":
72 | version "0.21.5"
73 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b"
74 | integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==
75 |
76 | "@esbuild/linux-arm@0.21.5":
77 | version "0.21.5"
78 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9"
79 | integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==
80 |
81 | "@esbuild/linux-ia32@0.21.5":
82 | version "0.21.5"
83 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2"
84 | integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==
85 |
86 | "@esbuild/linux-loong64@0.21.5":
87 | version "0.21.5"
88 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df"
89 | integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==
90 |
91 | "@esbuild/linux-mips64el@0.21.5":
92 | version "0.21.5"
93 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe"
94 | integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==
95 |
96 | "@esbuild/linux-ppc64@0.21.5":
97 | version "0.21.5"
98 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4"
99 | integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==
100 |
101 | "@esbuild/linux-riscv64@0.21.5":
102 | version "0.21.5"
103 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc"
104 | integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==
105 |
106 | "@esbuild/linux-s390x@0.21.5":
107 | version "0.21.5"
108 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de"
109 | integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==
110 |
111 | "@esbuild/linux-x64@0.21.5":
112 | version "0.21.5"
113 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0"
114 | integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==
115 |
116 | "@esbuild/netbsd-x64@0.21.5":
117 | version "0.21.5"
118 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047"
119 | integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==
120 |
121 | "@esbuild/openbsd-x64@0.21.5":
122 | version "0.21.5"
123 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70"
124 | integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==
125 |
126 | "@esbuild/sunos-x64@0.21.5":
127 | version "0.21.5"
128 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b"
129 | integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==
130 |
131 | "@esbuild/win32-arm64@0.21.5":
132 | version "0.21.5"
133 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d"
134 | integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==
135 |
136 | "@esbuild/win32-ia32@0.21.5":
137 | version "0.21.5"
138 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b"
139 | integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==
140 |
141 | "@esbuild/win32-x64@0.21.5":
142 | version "0.21.5"
143 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
144 | integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
145 |
146 | "@jridgewell/sourcemap-codec@^1.5.0":
147 | version "1.5.0"
148 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
149 | integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
150 |
151 | "@rollup/rollup-android-arm-eabi@4.21.2":
152 | version "4.21.2"
153 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz#0412834dc423d1ff7be4cb1fc13a86a0cd262c11"
154 | integrity sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==
155 |
156 | "@rollup/rollup-android-arm64@4.21.2":
157 | version "4.21.2"
158 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz#baf1a014b13654f3b9e835388df9caf8c35389cb"
159 | integrity sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==
160 |
161 | "@rollup/rollup-darwin-arm64@4.21.2":
162 | version "4.21.2"
163 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz#0a2c364e775acdf1172fe3327662eec7c46e55b1"
164 | integrity sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==
165 |
166 | "@rollup/rollup-darwin-x64@4.21.2":
167 | version "4.21.2"
168 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz#a972db75890dfab8df0da228c28993220a468c42"
169 | integrity sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==
170 |
171 | "@rollup/rollup-linux-arm-gnueabihf@4.21.2":
172 | version "4.21.2"
173 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz#1609d0630ef61109dd19a278353e5176d92e30a1"
174 | integrity sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==
175 |
176 | "@rollup/rollup-linux-arm-musleabihf@4.21.2":
177 | version "4.21.2"
178 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz#3c1dca5f160aa2e79e4b20ff6395eab21804f266"
179 | integrity sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==
180 |
181 | "@rollup/rollup-linux-arm64-gnu@4.21.2":
182 | version "4.21.2"
183 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz#c2fe376e8b04eafb52a286668a8df7c761470ac7"
184 | integrity sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==
185 |
186 | "@rollup/rollup-linux-arm64-musl@4.21.2":
187 | version "4.21.2"
188 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz#e62a4235f01e0f66dbba587c087ca6db8008ec80"
189 | integrity sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==
190 |
191 | "@rollup/rollup-linux-powerpc64le-gnu@4.21.2":
192 | version "4.21.2"
193 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz#24b3457e75ee9ae5b1c198bd39eea53222a74e54"
194 | integrity sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==
195 |
196 | "@rollup/rollup-linux-riscv64-gnu@4.21.2":
197 | version "4.21.2"
198 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz#38edfba9620fe2ca8116c97e02bd9f2d606bde09"
199 | integrity sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==
200 |
201 | "@rollup/rollup-linux-s390x-gnu@4.21.2":
202 | version "4.21.2"
203 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz#a3bfb8bc5f1e802f8c76cff4a4be2e9f9ac36a18"
204 | integrity sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==
205 |
206 | "@rollup/rollup-linux-x64-gnu@4.21.2":
207 | version "4.21.2"
208 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz#0dadf34be9199fcdda44b5985a086326344f30ad"
209 | integrity sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==
210 |
211 | "@rollup/rollup-linux-x64-musl@4.21.2":
212 | version "4.21.2"
213 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz#7b7deddce240400eb87f2406a445061b4fed99a8"
214 | integrity sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==
215 |
216 | "@rollup/rollup-win32-arm64-msvc@4.21.2":
217 | version "4.21.2"
218 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz#a0ca0c5149c2cfb26fab32e6ba3f16996fbdb504"
219 | integrity sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==
220 |
221 | "@rollup/rollup-win32-ia32-msvc@4.21.2":
222 | version "4.21.2"
223 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz#aae2886beec3024203dbb5569db3a137bc385f8e"
224 | integrity sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==
225 |
226 | "@rollup/rollup-win32-x64-msvc@4.21.2":
227 | version "4.21.2"
228 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz#e4291e3c1bc637083f87936c333cdbcad22af63b"
229 | integrity sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==
230 |
231 | "@types/estree@1.0.5":
232 | version "1.0.5"
233 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
234 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
235 |
236 | "@vitejs/plugin-vue@^5.0.4":
237 | version "5.1.3"
238 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.1.3.tgz#42b55c1a4d6f329aea25c5a24db51a31db31c693"
239 | integrity sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==
240 |
241 | "@vue/compiler-core@3.5.0":
242 | version "3.5.0"
243 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.0.tgz#d12c44faa56eb80c637fef050096e12bcc3bf091"
244 | integrity sha512-ja7cpqAOfw4tyFAxgBz70Z42miNDeaqTxExTsnXDLomRpqfyCgyvZvFp482fmsElpfvsoMJUsvzULhvxUTW6Iw==
245 | dependencies:
246 | "@babel/parser" "^7.25.3"
247 | "@vue/shared" "3.5.0"
248 | entities "^4.5.0"
249 | estree-walker "^2.0.2"
250 | source-map-js "^1.2.0"
251 |
252 | "@vue/compiler-dom@3.5.0":
253 | version "3.5.0"
254 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.0.tgz#108ed4315968d0197277128c4e5cb689f8a1ddd6"
255 | integrity sha512-xYjUybWZXl+1R/toDy815i4PbeehL2hThiSGkcpmIOCy2HoYyeeC/gAWK/Y/xsoK+GSw198/T5O31bYuQx5uvQ==
256 | dependencies:
257 | "@vue/compiler-core" "3.5.0"
258 | "@vue/shared" "3.5.0"
259 |
260 | "@vue/compiler-sfc@3.5.0":
261 | version "3.5.0"
262 | resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.0.tgz#dc1e34a331d5deea9e258a1e10e1b4d711b1afd6"
263 | integrity sha512-B9DgLtrqok2GLuaFjLlSL15ZG3ZDBiitUH1ecex9guh/ZcA5MCdwuVE6nsfQxktuZY/QY0awJ35/ripIviCQTQ==
264 | dependencies:
265 | "@babel/parser" "^7.25.3"
266 | "@vue/compiler-core" "3.5.0"
267 | "@vue/compiler-dom" "3.5.0"
268 | "@vue/compiler-ssr" "3.5.0"
269 | "@vue/shared" "3.5.0"
270 | estree-walker "^2.0.2"
271 | magic-string "^0.30.11"
272 | postcss "^8.4.44"
273 | source-map-js "^1.2.0"
274 |
275 | "@vue/compiler-ssr@3.5.0":
276 | version "3.5.0"
277 | resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.0.tgz#b9d31cf32b748fc4e554996c99988cb920c2458b"
278 | integrity sha512-E263QZmA1dqRd7c3u/sWTLRMpQOT0aZ8av/L9SoD/v/BVMZaWFHPUUBswS+bzrfvG2suJF8vSLKx6k6ba5SUdA==
279 | dependencies:
280 | "@vue/compiler-dom" "3.5.0"
281 | "@vue/shared" "3.5.0"
282 |
283 | "@vue/devtools-api@^6.0.0-beta.11":
284 | version "6.6.3"
285 | resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.3.tgz#b23a588154cba8986bba82b6e1d0248bde3fd1a0"
286 | integrity sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==
287 |
288 | "@vue/reactivity@3.5.0":
289 | version "3.5.0"
290 | resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.0.tgz#d566bf42a72d862f5dd7840e15ebe702797a2468"
291 | integrity sha512-Ew3F5riP3B3ZDGjD3ZKb9uZylTTPSqt8hAf4sGbvbjrjDjrFb3Jm15Tk1/w7WwTE5GbQ2Qhwxx1moc9hr8A/OQ==
292 | dependencies:
293 | "@vue/shared" "3.5.0"
294 |
295 | "@vue/runtime-core@3.5.0":
296 | version "3.5.0"
297 | resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.0.tgz#3c82f489fc9e0752823a821b06227c1f6313fe72"
298 | integrity sha512-mQyW0F9FaNRdt8ghkAs+BMG3iQ7LGgWKOpkzUzR5AI5swPNydHGL5hvVTqFaeMzwecF1g0c86H4yFQsSxJhH1w==
299 | dependencies:
300 | "@vue/reactivity" "3.5.0"
301 | "@vue/shared" "3.5.0"
302 |
303 | "@vue/runtime-dom@3.5.0":
304 | version "3.5.0"
305 | resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.0.tgz#514d225c0d0ee63826698ef0240ee29ce217dfd4"
306 | integrity sha512-NQQXjpdXgyYVJ2M56FJ+lSJgZiecgQ2HhxhnQBN95FymXegRNY/N2htI7vOTwpP75pfxhIeYOJ8mE8sW8KAW6A==
307 | dependencies:
308 | "@vue/reactivity" "3.5.0"
309 | "@vue/runtime-core" "3.5.0"
310 | "@vue/shared" "3.5.0"
311 | csstype "^3.1.3"
312 |
313 | "@vue/server-renderer@3.5.0":
314 | version "3.5.0"
315 | resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.0.tgz#e332480e58ec5ef6acfecfefc743b1d35ef3f1d3"
316 | integrity sha512-HyDIFUg+l7L4PKrEnJlCYWHUOlm6NxZhmSxIefZ5MTYjkIPfDfkwhX7hqxAQHfgIAE1uLMLQZwuNR/ozI0NhZg==
317 | dependencies:
318 | "@vue/compiler-ssr" "3.5.0"
319 | "@vue/shared" "3.5.0"
320 |
321 | "@vue/shared@3.5.0":
322 | version "3.5.0"
323 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.0.tgz#4842753ae38bab2323c710a4aff98338f1b0a8f5"
324 | integrity sha512-m9IgiteBpCkFaMNwCOBkFksA7z8QiKc30ooRuoXWUFRDu0mGyNPlFHmbncF0/Kra1RlX8QrmBbRaIxVvikaR0Q==
325 |
326 | ansi-regex@^4.1.0:
327 | version "4.1.1"
328 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
329 | integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
330 |
331 | ansi-styles@^3.2.0:
332 | version "3.2.1"
333 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
334 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
335 | dependencies:
336 | color-convert "^1.9.0"
337 |
338 | anymatch@~3.1.2:
339 | version "3.1.3"
340 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
341 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
342 | dependencies:
343 | normalize-path "^3.0.0"
344 | picomatch "^2.0.4"
345 |
346 | binary-extensions@^2.0.0:
347 | version "2.3.0"
348 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
349 | integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
350 |
351 | braces@~3.0.2:
352 | version "3.0.3"
353 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
354 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
355 | dependencies:
356 | fill-range "^7.1.1"
357 |
358 | camelcase@^5.0.0:
359 | version "5.3.1"
360 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
361 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
362 |
363 | chokidar-cli@^3.0.0:
364 | version "3.0.0"
365 | resolved "https://registry.yarnpkg.com/chokidar-cli/-/chokidar-cli-3.0.0.tgz#29283666063b9e167559d30f247ff8fc48794eb7"
366 | integrity sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==
367 | dependencies:
368 | chokidar "^3.5.2"
369 | lodash.debounce "^4.0.8"
370 | lodash.throttle "^4.1.1"
371 | yargs "^13.3.0"
372 |
373 | chokidar@^3.5.2:
374 | version "3.6.0"
375 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
376 | integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
377 | dependencies:
378 | anymatch "~3.1.2"
379 | braces "~3.0.2"
380 | glob-parent "~5.1.2"
381 | is-binary-path "~2.1.0"
382 | is-glob "~4.0.1"
383 | normalize-path "~3.0.0"
384 | readdirp "~3.6.0"
385 | optionalDependencies:
386 | fsevents "~2.3.2"
387 |
388 | cliui@^5.0.0:
389 | version "5.0.0"
390 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
391 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
392 | dependencies:
393 | string-width "^3.1.0"
394 | strip-ansi "^5.2.0"
395 | wrap-ansi "^5.1.0"
396 |
397 | color-convert@^1.9.0:
398 | version "1.9.3"
399 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
400 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
401 | dependencies:
402 | color-name "1.1.3"
403 |
404 | color-name@1.1.3:
405 | version "1.1.3"
406 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
407 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
408 |
409 | csstype@^3.1.3:
410 | version "3.1.3"
411 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
412 | integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
413 |
414 | decamelize@^1.2.0:
415 | version "1.2.0"
416 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
417 | integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
418 |
419 | emoji-regex@^7.0.1:
420 | version "7.0.3"
421 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
422 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
423 |
424 | entities@^4.5.0:
425 | version "4.5.0"
426 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
427 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
428 |
429 | esbuild@^0.21.3:
430 | version "0.21.5"
431 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d"
432 | integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==
433 | optionalDependencies:
434 | "@esbuild/aix-ppc64" "0.21.5"
435 | "@esbuild/android-arm" "0.21.5"
436 | "@esbuild/android-arm64" "0.21.5"
437 | "@esbuild/android-x64" "0.21.5"
438 | "@esbuild/darwin-arm64" "0.21.5"
439 | "@esbuild/darwin-x64" "0.21.5"
440 | "@esbuild/freebsd-arm64" "0.21.5"
441 | "@esbuild/freebsd-x64" "0.21.5"
442 | "@esbuild/linux-arm" "0.21.5"
443 | "@esbuild/linux-arm64" "0.21.5"
444 | "@esbuild/linux-ia32" "0.21.5"
445 | "@esbuild/linux-loong64" "0.21.5"
446 | "@esbuild/linux-mips64el" "0.21.5"
447 | "@esbuild/linux-ppc64" "0.21.5"
448 | "@esbuild/linux-riscv64" "0.21.5"
449 | "@esbuild/linux-s390x" "0.21.5"
450 | "@esbuild/linux-x64" "0.21.5"
451 | "@esbuild/netbsd-x64" "0.21.5"
452 | "@esbuild/openbsd-x64" "0.21.5"
453 | "@esbuild/sunos-x64" "0.21.5"
454 | "@esbuild/win32-arm64" "0.21.5"
455 | "@esbuild/win32-ia32" "0.21.5"
456 | "@esbuild/win32-x64" "0.21.5"
457 |
458 | estree-walker@^2.0.2:
459 | version "2.0.2"
460 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
461 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
462 |
463 | fill-range@^7.1.1:
464 | version "7.1.1"
465 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
466 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
467 | dependencies:
468 | to-regex-range "^5.0.1"
469 |
470 | find-up@^3.0.0:
471 | version "3.0.0"
472 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
473 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
474 | dependencies:
475 | locate-path "^3.0.0"
476 |
477 | fsevents@~2.3.2, fsevents@~2.3.3:
478 | version "2.3.3"
479 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
480 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
481 |
482 | get-caller-file@^2.0.1:
483 | version "2.0.5"
484 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
485 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
486 |
487 | glob-parent@~5.1.2:
488 | version "5.1.2"
489 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
490 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
491 | dependencies:
492 | is-glob "^4.0.1"
493 |
494 | is-binary-path@~2.1.0:
495 | version "2.1.0"
496 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
497 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
498 | dependencies:
499 | binary-extensions "^2.0.0"
500 |
501 | is-extglob@^2.1.1:
502 | version "2.1.1"
503 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
504 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
505 |
506 | is-fullwidth-code-point@^2.0.0:
507 | version "2.0.0"
508 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
509 | integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
510 |
511 | is-glob@^4.0.1, is-glob@~4.0.1:
512 | version "4.0.3"
513 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
514 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
515 | dependencies:
516 | is-extglob "^2.1.1"
517 |
518 | is-number@^7.0.0:
519 | version "7.0.0"
520 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
521 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
522 |
523 | locate-path@^3.0.0:
524 | version "3.0.0"
525 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
526 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
527 | dependencies:
528 | p-locate "^3.0.0"
529 | path-exists "^3.0.0"
530 |
531 | lodash.debounce@^4.0.8:
532 | version "4.0.8"
533 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
534 | integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
535 |
536 | lodash.throttle@^4.1.1:
537 | version "4.1.1"
538 | resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
539 | integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
540 |
541 | magic-string@^0.30.11:
542 | version "0.30.11"
543 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954"
544 | integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==
545 | dependencies:
546 | "@jridgewell/sourcemap-codec" "^1.5.0"
547 |
548 | nanoid@^3.3.7:
549 | version "3.3.7"
550 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
551 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
552 |
553 | normalize-path@^3.0.0, normalize-path@~3.0.0:
554 | version "3.0.0"
555 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
556 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
557 |
558 | p-limit@^2.0.0:
559 | version "2.3.0"
560 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
561 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
562 | dependencies:
563 | p-try "^2.0.0"
564 |
565 | p-locate@^3.0.0:
566 | version "3.0.0"
567 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
568 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
569 | dependencies:
570 | p-limit "^2.0.0"
571 |
572 | p-try@^2.0.0:
573 | version "2.2.0"
574 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
575 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
576 |
577 | path-exists@^3.0.0:
578 | version "3.0.0"
579 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
580 | integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
581 |
582 | picocolors@^1.0.1:
583 | version "1.1.0"
584 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59"
585 | integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==
586 |
587 | picomatch@^2.0.4, picomatch@^2.2.1:
588 | version "2.3.1"
589 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
590 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
591 |
592 | postcss@^8.4.43, postcss@^8.4.44:
593 | version "8.4.45"
594 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.45.tgz#538d13d89a16ef71edbf75d895284ae06b79e603"
595 | integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==
596 | dependencies:
597 | nanoid "^3.3.7"
598 | picocolors "^1.0.1"
599 | source-map-js "^1.2.0"
600 |
601 | readdirp@~3.6.0:
602 | version "3.6.0"
603 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
604 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
605 | dependencies:
606 | picomatch "^2.2.1"
607 |
608 | require-directory@^2.1.1:
609 | version "2.1.1"
610 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
611 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
612 |
613 | require-main-filename@^2.0.0:
614 | version "2.0.0"
615 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
616 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
617 |
618 | rollup@^4.20.0:
619 | version "4.21.2"
620 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.21.2.tgz#f41f277a448d6264e923dd1ea179f0a926aaf9b7"
621 | integrity sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==
622 | dependencies:
623 | "@types/estree" "1.0.5"
624 | optionalDependencies:
625 | "@rollup/rollup-android-arm-eabi" "4.21.2"
626 | "@rollup/rollup-android-arm64" "4.21.2"
627 | "@rollup/rollup-darwin-arm64" "4.21.2"
628 | "@rollup/rollup-darwin-x64" "4.21.2"
629 | "@rollup/rollup-linux-arm-gnueabihf" "4.21.2"
630 | "@rollup/rollup-linux-arm-musleabihf" "4.21.2"
631 | "@rollup/rollup-linux-arm64-gnu" "4.21.2"
632 | "@rollup/rollup-linux-arm64-musl" "4.21.2"
633 | "@rollup/rollup-linux-powerpc64le-gnu" "4.21.2"
634 | "@rollup/rollup-linux-riscv64-gnu" "4.21.2"
635 | "@rollup/rollup-linux-s390x-gnu" "4.21.2"
636 | "@rollup/rollup-linux-x64-gnu" "4.21.2"
637 | "@rollup/rollup-linux-x64-musl" "4.21.2"
638 | "@rollup/rollup-win32-arm64-msvc" "4.21.2"
639 | "@rollup/rollup-win32-ia32-msvc" "4.21.2"
640 | "@rollup/rollup-win32-x64-msvc" "4.21.2"
641 | fsevents "~2.3.2"
642 |
643 | set-blocking@^2.0.0:
644 | version "2.0.0"
645 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
646 | integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
647 |
648 | sortable-dnd@latest:
649 | version "0.6.16"
650 | resolved "https://registry.yarnpkg.com/sortable-dnd/-/sortable-dnd-0.6.16.tgz#b446c5f83485435b5a6e34497d47200a2293e711"
651 | integrity sha512-oXrWO9ItzbpFQBqK5TnTdRzbuvFHqfweYizJ6rBV7XyZ99w9/7XeCvzouIMiIAOA2qhYENPxmCUVX45Hwr6WuA==
652 |
653 | source-map-js@^1.2.0:
654 | version "1.2.0"
655 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
656 | integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
657 |
658 | string-width@^3.0.0, string-width@^3.1.0:
659 | version "3.1.0"
660 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
661 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
662 | dependencies:
663 | emoji-regex "^7.0.1"
664 | is-fullwidth-code-point "^2.0.0"
665 | strip-ansi "^5.1.0"
666 |
667 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
668 | version "5.2.0"
669 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
670 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
671 | dependencies:
672 | ansi-regex "^4.1.0"
673 |
674 | to-fast-properties@^2.0.0:
675 | version "2.0.0"
676 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
677 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
678 |
679 | to-regex-range@^5.0.1:
680 | version "5.0.1"
681 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
682 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
683 | dependencies:
684 | is-number "^7.0.0"
685 |
686 | vite@^5.2.0:
687 | version "5.4.3"
688 | resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.3.tgz#771c470e808cb6732f204e1ee96c2ed65b97a0eb"
689 | integrity sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==
690 | dependencies:
691 | esbuild "^0.21.3"
692 | postcss "^8.4.43"
693 | rollup "^4.20.0"
694 | optionalDependencies:
695 | fsevents "~2.3.3"
696 |
697 | vue-virtual-draglist@^3.3.2:
698 | version "3.3.2"
699 | resolved "https://registry.yarnpkg.com/vue-virtual-draglist/-/vue-virtual-draglist-3.3.2.tgz#25659156970e03505b09149048b5cd685dcb34af"
700 | integrity sha512-CUpTvaT5F2Kb/qqQQVK2X//VgbgOMt8X1fmDdQa6XPoJ/ZPW9LmGVt5lEVr/MnXaTD6qN8gXIyuRKno33/pPbQ==
701 | dependencies:
702 | sortable-dnd latest
703 |
704 | vue@^3.4.21:
705 | version "3.5.0"
706 | resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.0.tgz#39ad668cc76052b058a5160976fb23298afed5da"
707 | integrity sha512-1t70favYoFijwfWJ7g81aTd32obGaAnKYE9FNyMgnEzn3F4YncRi/kqAHHKloG0VXTD8vBYMhbgLKCA+Sk6QDw==
708 | dependencies:
709 | "@vue/compiler-dom" "3.5.0"
710 | "@vue/compiler-sfc" "3.5.0"
711 | "@vue/runtime-dom" "3.5.0"
712 | "@vue/server-renderer" "3.5.0"
713 | "@vue/shared" "3.5.0"
714 |
715 | vuex@^4.0.2:
716 | version "4.1.0"
717 | resolved "https://registry.yarnpkg.com/vuex/-/vuex-4.1.0.tgz#aa1b3ea5c7385812b074c86faeeec2217872e36c"
718 | integrity sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==
719 | dependencies:
720 | "@vue/devtools-api" "^6.0.0-beta.11"
721 |
722 | which-module@^2.0.0:
723 | version "2.0.1"
724 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409"
725 | integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
726 |
727 | wrap-ansi@^5.1.0:
728 | version "5.1.0"
729 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
730 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
731 | dependencies:
732 | ansi-styles "^3.2.0"
733 | string-width "^3.0.0"
734 | strip-ansi "^5.0.0"
735 |
736 | y18n@^4.0.0:
737 | version "4.0.3"
738 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
739 | integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
740 |
741 | yargs-parser@^13.1.2:
742 | version "13.1.2"
743 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
744 | integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
745 | dependencies:
746 | camelcase "^5.0.0"
747 | decamelize "^1.2.0"
748 |
749 | yargs@^13.3.0:
750 | version "13.3.2"
751 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
752 | integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
753 | dependencies:
754 | cliui "^5.0.0"
755 | find-up "^3.0.0"
756 | get-caller-file "^2.0.1"
757 | require-directory "^2.1.1"
758 | require-main-filename "^2.0.0"
759 | set-blocking "^2.0.0"
760 | string-width "^3.0.0"
761 | which-module "^2.0.0"
762 | y18n "^4.0.0"
763 | yargs-parser "^13.1.2"
764 |
--------------------------------------------------------------------------------