fds-vue-core 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fds-vue-core.cjs.js +3 -2
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.css +1 -1
- package/dist/fds-vue-core.es.js +3 -2
- package/dist/fds-vue-core.es.js.map +1 -1
- package/package.json +2 -3
- package/scripts/sync-peers-from-dev.mjs +29 -0
- package/scripts/sync-vscode-settings.mjs +44 -0
- package/src/.DS_Store +0 -0
- package/src/App.vue +0 -133
- package/src/apply.css +0 -60
- package/src/assets/icons.ts +0 -517
- package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.stories.ts +0 -94
- package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue +0 -112
- package/src/components/Blocks/FdsBlockAlert/types.ts +0 -12
- package/src/components/Blocks/FdsBlockContent/FdsBlockContent.stories.ts +0 -110
- package/src/components/Blocks/FdsBlockContent/FdsBlockContent.vue +0 -66
- package/src/components/Blocks/FdsBlockContent/types.ts +0 -6
- package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.stories.ts +0 -123
- package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue +0 -87
- package/src/components/Blocks/FdsBlockExpander/types.ts +0 -8
- package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.stories.ts +0 -110
- package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue +0 -98
- package/src/components/Blocks/FdsBlockInfo/types.ts +0 -8
- package/src/components/Blocks/FdsBlockLink/FdsBlockLink.css +0 -9
- package/src/components/Blocks/FdsBlockLink/FdsBlockLink.stories.ts +0 -179
- package/src/components/Blocks/FdsBlockLink/FdsBlockLink.vue +0 -149
- package/src/components/Blocks/FdsBlockLink/types.ts +0 -14
- package/src/components/Buttons/ButtonBaseProps.ts +0 -18
- package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.ts +0 -53
- package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue +0 -87
- package/src/components/Buttons/FdsButtonCopy/types.ts +0 -8
- package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.stories.ts +0 -111
- package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue +0 -187
- package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.ts +0 -55
- package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue +0 -57
- package/src/components/Buttons/FdsButtonIcon/types.ts +0 -12
- package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.ts +0 -68
- package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue +0 -126
- package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.ts +0 -86
- package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue +0 -107
- package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.ts +0 -68
- package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue +0 -107
- package/src/components/FdsIcon/FdsIcon.stories.ts +0 -69
- package/src/components/FdsIcon/FdsIcon.vue +0 -34
- package/src/components/FdsIcon/types.ts +0 -9
- package/src/components/FdsModal/FdsModal.stories.ts +0 -241
- package/src/components/FdsModal/FdsModal.vue +0 -261
- package/src/components/FdsModal/types.ts +0 -12
- package/src/components/FdsPagination/FdsPagination.stories.ts +0 -109
- package/src/components/FdsPagination/FdsPagination.vue +0 -193
- package/src/components/FdsPagination/types.ts +0 -6
- package/src/components/FdsSearchSelect/FdsSearchSelect.stories.ts +0 -428
- package/src/components/FdsSearchSelect/FdsSearchSelect.vue +0 -610
- package/src/components/FdsSearchSelect/types.ts +0 -25
- package/src/components/FdsSpinner/FdsSpinner.stories.ts +0 -31
- package/src/components/FdsSpinner/FdsSpinner.vue +0 -90
- package/src/components/FdsSpinner/types.ts +0 -6
- package/src/components/FdsSticker/FdsSticker.stories.ts +0 -148
- package/src/components/FdsSticker/FdsSticker.vue +0 -44
- package/src/components/FdsSticker/types.ts +0 -4
- package/src/components/FdsTreeView/FdsTreeView.stories.ts +0 -136
- package/src/components/FdsTreeView/FdsTreeView.vue +0 -162
- package/src/components/FdsTreeView/TreeNode.vue +0 -383
- package/src/components/FdsTreeView/types.ts +0 -141
- package/src/components/FdsTreeView/useTreeState.ts +0 -607
- package/src/components/FdsTreeView/utils.ts +0 -65
- package/src/components/FdsTruncatedText/FdsTruncatedText.stories.ts +0 -78
- package/src/components/FdsTruncatedText/FdsTruncatedText.vue +0 -85
- package/src/components/FdsTruncatedText/types.ts +0 -6
- package/src/components/Form/FdsCheckbox/FdsCheckbox.stories.ts +0 -275
- package/src/components/Form/FdsCheckbox/FdsCheckbox.vue +0 -155
- package/src/components/Form/FdsCheckbox/types.ts +0 -10
- package/src/components/Form/FdsInput/FdsInput.stories.ts +0 -319
- package/src/components/Form/FdsInput/FdsInput.vue +0 -233
- package/src/components/Form/FdsInput/types.ts +0 -25
- package/src/components/Form/FdsRadio/FdsRadio.stories.ts +0 -63
- package/src/components/Form/FdsRadio/FdsRadio.vue +0 -88
- package/src/components/Form/FdsRadio/types.ts +0 -12
- package/src/components/Form/FdsSelect/FdsSelect.stories.ts +0 -78
- package/src/components/Form/FdsSelect/FdsSelect.vue +0 -136
- package/src/components/Form/FdsSelect/types.ts +0 -13
- package/src/components/Form/FdsTextarea/FdsTextarea.stories.ts +0 -52
- package/src/components/Form/FdsTextarea/FdsTextarea.vue +0 -110
- package/src/components/Form/FdsTextarea/types.ts +0 -12
- package/src/components/Table/FdsTable/FdsTable.stories.ts +0 -221
- package/src/components/Table/FdsTable/FdsTable.vue +0 -25
- package/src/components/Table/FdsTable/types.ts +0 -4
- package/src/components/Table/FdsTableHead/FdsTableHead.stories.ts +0 -151
- package/src/components/Table/FdsTableHead/FdsTableHead.vue +0 -54
- package/src/components/Table/FdsTableHead/types.ts +0 -5
- package/src/components/Tabs/FdsTabs/FdsTabs.stories.ts +0 -247
- package/src/components/Tabs/FdsTabs/FdsTabs.vue +0 -27
- package/src/components/Tabs/FdsTabs/types.ts +0 -4
- package/src/components/Tabs/FdsTabsItem/FdsTabsItem.vue +0 -125
- package/src/components/Tabs/FdsTabsItem/types.ts +0 -16
- package/src/components/Typography/FdsHeading/FdsHeading.stories.ts +0 -93
- package/src/components/Typography/FdsHeading/FdsHeading.vue +0 -51
- package/src/components/Typography/FdsHeading/types.ts +0 -5
- package/src/components/Typography/FdsListHeading/FdsListHeading.stories.ts +0 -58
- package/src/components/Typography/FdsListHeading/FdsListHeading.vue +0 -62
- package/src/components/Typography/FdsListHeading/types.ts +0 -8
- package/src/components/Typography/FdsSeparator/FdsSeparator.stories.ts +0 -31
- package/src/components/Typography/FdsSeparator/FdsSeparator.vue +0 -5
- package/src/components/Typography/FdsText/FdsText.stories.ts +0 -66
- package/src/components/Typography/FdsText/FdsText.vue +0 -28
- package/src/components/Typography/FdsText/types.ts +0 -3
- package/src/composables/useBoldQuery.ts +0 -29
- package/src/composables/useElementFinalSize.ts +0 -24
- package/src/composables/useHasSlots.ts +0 -17
- package/src/composables/useIsPid.ts +0 -48
- package/src/docs/Start/Start.mdx +0 -12
- package/src/docs/Usage.md +0 -117
- package/src/fonts.css +0 -28
- package/src/global-components.ts +0 -38
- package/src/index.ts +0 -180
- package/src/main.ts +0 -7
- package/src/slot-styles.css +0 -93
- package/src/style.css +0 -89
- package/src/tokens.css +0 -252
- package/tsconfig.base.json +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fds-vue-core",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"description": "FDS Vue Core Component Library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/fds-vue-core.cjs.js",
|
|
@@ -28,10 +28,9 @@
|
|
|
28
28
|
},
|
|
29
29
|
"files": [
|
|
30
30
|
"dist",
|
|
31
|
-
"src",
|
|
32
31
|
"tailwind.preset.cjs",
|
|
33
32
|
"configs",
|
|
34
|
-
"
|
|
33
|
+
"scripts"
|
|
35
34
|
],
|
|
36
35
|
"license": "UNLICENSED",
|
|
37
36
|
"keywords": [
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Sync selected devDependencies into peerDependencies.
|
|
4
|
+
* Keeps published peers aligned with the versions we actually use.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import fs from 'node:fs'
|
|
8
|
+
import path from 'node:path'
|
|
9
|
+
|
|
10
|
+
const pkgPath = path.resolve(process.cwd(), 'package.json')
|
|
11
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'))
|
|
12
|
+
|
|
13
|
+
const sources = { ...pkg.devDependencies, ...pkg.dependencies }
|
|
14
|
+
|
|
15
|
+
pkg.peerDependencies = pkg.peerDependencies || {}
|
|
16
|
+
const peerKeys = Object.keys(pkg.peerDependencies)
|
|
17
|
+
|
|
18
|
+
for (const name of peerKeys) {
|
|
19
|
+
const version = sources[name]
|
|
20
|
+
if (version) {
|
|
21
|
+
pkg.peerDependencies[name] = version
|
|
22
|
+
} else {
|
|
23
|
+
// If missing locally, leave existing peer version untouched
|
|
24
|
+
console.warn(`[sync-peers] Skipping ${name} (not found in devDependencies/dependencies)`)
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
fs.writeFileSync(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`)
|
|
29
|
+
console.warn('[sync-peers] peerDependencies updated from devDependencies')
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Script to copy fds-vue-core VS Code settings to local .vscode/settings.json
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* node scripts/sync-vscode-settings.mjs
|
|
8
|
+
* # or via npm: npm run sync:vscode
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { copyFileSync, existsSync, mkdirSync } from 'fs'
|
|
12
|
+
import { dirname, join } from 'path'
|
|
13
|
+
|
|
14
|
+
// Use process.cwd() to get the consuming repo's root directory
|
|
15
|
+
// This works correctly even with yarn/npm link
|
|
16
|
+
const projectRoot = process.cwd()
|
|
17
|
+
|
|
18
|
+
// Find the base settings file
|
|
19
|
+
// First check node_modules (for consuming repos), then check if we're in fds-vue-core itself
|
|
20
|
+
const baseSettingsPath = existsSync(
|
|
21
|
+
join(projectRoot, 'node_modules', 'fds-vue-core', 'configs', 'vscode-settings.json'),
|
|
22
|
+
)
|
|
23
|
+
? join(projectRoot, 'node_modules', 'fds-vue-core', 'configs', 'vscode-settings.json')
|
|
24
|
+
: existsSync(join(projectRoot, 'configs', 'vscode-settings.json'))
|
|
25
|
+
? join(projectRoot, 'configs', 'vscode-settings.json')
|
|
26
|
+
: null
|
|
27
|
+
|
|
28
|
+
const localSettingsPath = join(projectRoot, '.vscode', 'settings.json')
|
|
29
|
+
|
|
30
|
+
// Exit silently if fds-vue-core is not installed (for repos that don't use it)
|
|
31
|
+
if (!existsSync(baseSettingsPath)) {
|
|
32
|
+
process.exit(0)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
try {
|
|
36
|
+
// Create .vscode directory if it doesn't exist
|
|
37
|
+
mkdirSync(dirname(localSettingsPath), { recursive: true })
|
|
38
|
+
|
|
39
|
+
// Copy base settings
|
|
40
|
+
copyFileSync(baseSettingsPath, localSettingsPath)
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error('❌ Error syncing VS Code settings:', error.message)
|
|
43
|
+
process.exit(1)
|
|
44
|
+
}
|
package/src/.DS_Store
DELETED
|
Binary file
|
package/src/App.vue
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import FdsTreeView from '@/components/FdsTreeView/FdsTreeView.vue'
|
|
3
|
-
import type { FdsTreeNode } from '@/components/FdsTreeView/types'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
// Mock tree data
|
|
7
|
-
const mockTreeData: FdsTreeNode<Record<string, unknown>>[] = [
|
|
8
|
-
{
|
|
9
|
-
nodeId: 'root-1',
|
|
10
|
-
title: 'Documents',
|
|
11
|
-
children: [
|
|
12
|
-
{
|
|
13
|
-
nodeId: 'doc-1',
|
|
14
|
-
title: 'Work',
|
|
15
|
-
children: [
|
|
16
|
-
{
|
|
17
|
-
nodeId: 'work-1',
|
|
18
|
-
title: 'Projects',
|
|
19
|
-
children: [
|
|
20
|
-
{
|
|
21
|
-
nodeId: 'proj-1',
|
|
22
|
-
title: 'Project Alpha',
|
|
23
|
-
data: { type: 'project', status: 'active' },
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
nodeId: 'proj-2',
|
|
27
|
-
title: 'Project Beta',
|
|
28
|
-
data: { type: 'project', status: 'completed' },
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
nodeId: 'proj-3',
|
|
32
|
-
title: 'Project Gamma',
|
|
33
|
-
data: { type: 'project', status: 'planning', person_name: 'Anna Sjöström' },
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
nodeId: 'work-2',
|
|
39
|
-
title: 'Reports',
|
|
40
|
-
children: [],
|
|
41
|
-
},
|
|
42
|
-
],
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
nodeId: 'doc-2',
|
|
46
|
-
title: 'Personal',
|
|
47
|
-
children: [
|
|
48
|
-
{ nodeId: 'pers-1', title: 'Photos', data: { type: 'folder', count: 150 } },
|
|
49
|
-
{ nodeId: 'pers-2', title: 'Videos', data: { type: 'folder', count: 25 } },
|
|
50
|
-
{ nodeId: 'pers-3', title: 'Music', data: { type: 'folder', count: 500 } },
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
nodeId: 'root-2',
|
|
57
|
-
title: 'Applications',
|
|
58
|
-
children: [
|
|
59
|
-
{
|
|
60
|
-
nodeId: 'app-1',
|
|
61
|
-
title: 'Development',
|
|
62
|
-
children: [
|
|
63
|
-
{ nodeId: 'dev-1', title: 'VS Code', data: { type: 'app', category: 'editor' } },
|
|
64
|
-
{ nodeId: 'dev-2', title: 'Terminal', data: { type: 'app', category: 'utility' } },
|
|
65
|
-
{ nodeId: 'dev-3', title: 'Git', data: { type: 'app', category: 'version-control' } },
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
nodeId: 'app-2',
|
|
70
|
-
title: 'Design',
|
|
71
|
-
children: [
|
|
72
|
-
{ nodeId: 'design-1', title: 'Figma', data: { type: 'app', category: 'design' } },
|
|
73
|
-
{ nodeId: 'design-2', title: 'Sketch', data: { type: 'app', category: 'design' } },
|
|
74
|
-
],
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
nodeId: 'root-3',
|
|
80
|
-
title: 'Settings',
|
|
81
|
-
children: [
|
|
82
|
-
{ nodeId: 'set-1', title: 'General', data: { type: 'setting', category: 'preferences' } },
|
|
83
|
-
{ nodeId: 'set-2', title: 'Privacy', data: { type: 'setting', category: 'security' } },
|
|
84
|
-
{ nodeId: 'set-3', title: 'Notifications', data: { type: 'setting', category: 'alerts' } },
|
|
85
|
-
],
|
|
86
|
-
},
|
|
87
|
-
]
|
|
88
|
-
|
|
89
|
-
const treeData: FdsTreeNode<Record<string, unknown>> = {
|
|
90
|
-
nodeId: 'root',
|
|
91
|
-
title: 'Root',
|
|
92
|
-
children: mockTreeData,
|
|
93
|
-
data: { type: 'root' },
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
type SelectedShape = Pick<FdsTreeNode, 'nodeId' | 'title' | 'data' | 'children'>
|
|
97
|
-
const selectedNodes = ref<SelectedShape[]>([])
|
|
98
|
-
</script>
|
|
99
|
-
|
|
100
|
-
<template>
|
|
101
|
-
<div class="app p-8">
|
|
102
|
-
<div class="border border-gray-200 rounded-lg p-4 mb-8">
|
|
103
|
-
<h2 class="text-lg font-semibold mb-4">FDS Tree View Test</h2>
|
|
104
|
-
<FdsTreeView
|
|
105
|
-
:data="treeData"
|
|
106
|
-
:expandAllChildrenOnParentCheck="true"
|
|
107
|
-
:expandChildrenOnParentCheck="true"
|
|
108
|
-
:horizontalScroll="true"
|
|
109
|
-
:indentation="36"
|
|
110
|
-
:nodeCollapseIcon="'arrowUp'"
|
|
111
|
-
:nodeExpandIcon="'arrowDown'"
|
|
112
|
-
:searchEnabled="true"
|
|
113
|
-
:searchExpandNodes="true"
|
|
114
|
-
:searchHighlighting="true"
|
|
115
|
-
:searchLabel="'Sök noder'"
|
|
116
|
-
:searchMatchParams="['title']"
|
|
117
|
-
:showIndeterminate="true"
|
|
118
|
-
:showIndeterminateOnlyOnChildrenSelection="true"
|
|
119
|
-
:titleTemplate="'[[title]] ([[nodeId]])'"
|
|
120
|
-
:searchResultNoMatchesTitle="'Inga resultat hittades'"
|
|
121
|
-
:searchResultNoMatchesBody="'Pröva sök på något annat'"
|
|
122
|
-
:searchCountTemplate="'[[filteredNodes]] av [[totalNodes]] avdelningar'"
|
|
123
|
-
:searchCountTemplateUnfiltered="'[[totalNodes]] avdelningar'"
|
|
124
|
-
:popoverLabels="{
|
|
125
|
-
parentAndChildren: 'Denna och alla underliggande',
|
|
126
|
-
parent: 'Endast denna nivå',
|
|
127
|
-
}"
|
|
128
|
-
:searchInputTriggerLength="2"
|
|
129
|
-
v-model:selectedNodes="selectedNodes"
|
|
130
|
-
/>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</template>
|
package/src/apply.css
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
@import './tokens.css';
|
|
2
|
-
|
|
3
|
-
/** Create stencil components for this */
|
|
4
|
-
@layer components {
|
|
5
|
-
h1,
|
|
6
|
-
.h1 {
|
|
7
|
-
@apply font-heading text-2xl sm:text-4xl lg:text-6xl/tight font-extrabold mb-3 mt-0;
|
|
8
|
-
}
|
|
9
|
-
h2,
|
|
10
|
-
.h2 {
|
|
11
|
-
@apply font-heading text-xl sm:text-3xl font-extrabold mt-4 mb-4;
|
|
12
|
-
}
|
|
13
|
-
.h2--small {
|
|
14
|
-
@apply font-heading text-xl font-extrabold mt-4 mb-4;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
h3,
|
|
18
|
-
.h3 {
|
|
19
|
-
@apply font-heading text-xl font-extrabold mt-4 mb-4;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.h3--small {
|
|
23
|
-
@apply font-heading text-lg font-extrabold mt-4 mb-2;
|
|
24
|
-
}
|
|
25
|
-
h1:focus,
|
|
26
|
-
h2:focus,
|
|
27
|
-
h3:focus {
|
|
28
|
-
@apply focus:outline-0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.label {
|
|
32
|
-
@apply font-bold mb-2! tracking-wide;
|
|
33
|
-
}
|
|
34
|
-
p {
|
|
35
|
-
@apply mb-4;
|
|
36
|
-
}
|
|
37
|
-
li:not(:last-child) {
|
|
38
|
-
@apply mb-2;
|
|
39
|
-
}
|
|
40
|
-
.link,
|
|
41
|
-
.html a {
|
|
42
|
-
@apply text-blue-600 hover:text-blue-700 active:text-blue-800 underline focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-blue-500;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.capitalize-first::first-letter {
|
|
46
|
-
text-transform: uppercase;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
@layer utilities {
|
|
51
|
-
/** Override browser background color when autocomplete field */
|
|
52
|
-
input:not(input[type='checkbox'], input[type='radio']),
|
|
53
|
-
textarea {
|
|
54
|
-
box-shadow: 0 0 0 1000px #fff inset !important;
|
|
55
|
-
}
|
|
56
|
-
/** Style active router link in main nav */
|
|
57
|
-
.nav-items .router-link-active {
|
|
58
|
-
@apply bg-blue-100 text-blue-700 font-bold;
|
|
59
|
-
}
|
|
60
|
-
}
|