fds-vue-core 2.1.4 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/components.d.ts +8 -0
  2. package/configs/tsconfig.base.json +2 -1
  3. package/dist/fds-vue-core.cjs.js +35 -15
  4. package/dist/fds-vue-core.cjs.js.map +1 -1
  5. package/dist/fds-vue-core.es.js +35 -15
  6. package/dist/fds-vue-core.es.js.map +1 -1
  7. package/dist/global-components.d.ts +35 -33
  8. package/package.json +23 -21
  9. package/src/.DS_Store +0 -0
  10. package/src/App.vue +133 -0
  11. package/src/apply.css +60 -0
  12. package/src/assets/icons.ts +517 -0
  13. package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.stories.ts +94 -0
  14. package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue +112 -0
  15. package/src/components/Blocks/FdsBlockAlert/types.ts +12 -0
  16. package/src/components/Blocks/FdsBlockContent/FdsBlockContent.stories.ts +110 -0
  17. package/src/components/Blocks/FdsBlockContent/FdsBlockContent.vue +66 -0
  18. package/src/components/Blocks/FdsBlockContent/types.ts +6 -0
  19. package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.stories.ts +123 -0
  20. package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue +87 -0
  21. package/src/components/Blocks/FdsBlockExpander/types.ts +8 -0
  22. package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.stories.ts +110 -0
  23. package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue +75 -0
  24. package/src/components/Blocks/FdsBlockInfo/types.ts +9 -0
  25. package/src/components/Blocks/FdsBlockLink/FdsBlockLink.css +9 -0
  26. package/src/components/Blocks/FdsBlockLink/FdsBlockLink.stories.ts +179 -0
  27. package/src/components/Blocks/FdsBlockLink/FdsBlockLink.vue +149 -0
  28. package/src/components/Blocks/FdsBlockLink/types.ts +14 -0
  29. package/src/components/Buttons/ButtonBaseProps.ts +18 -0
  30. package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.ts +53 -0
  31. package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue +87 -0
  32. package/src/components/Buttons/FdsButtonCopy/types.ts +8 -0
  33. package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.stories.ts +111 -0
  34. package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue +187 -0
  35. package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.ts +55 -0
  36. package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue +57 -0
  37. package/src/components/Buttons/FdsButtonIcon/types.ts +12 -0
  38. package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.ts +68 -0
  39. package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue +126 -0
  40. package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.ts +86 -0
  41. package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue +107 -0
  42. package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.ts +68 -0
  43. package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue +107 -0
  44. package/src/components/FdsIcon/FdsIcon.stories.ts +69 -0
  45. package/src/components/FdsIcon/FdsIcon.vue +34 -0
  46. package/src/components/FdsIcon/types.ts +9 -0
  47. package/src/components/FdsModal/FdsModal.stories.ts +241 -0
  48. package/src/components/FdsModal/FdsModal.vue +269 -0
  49. package/src/components/FdsModal/types.ts +12 -0
  50. package/src/components/FdsPagination/FdsPagination.stories.ts +109 -0
  51. package/src/components/FdsPagination/FdsPagination.vue +193 -0
  52. package/src/components/FdsPagination/types.ts +6 -0
  53. package/src/components/FdsSearchSelect/FdsSearchSelect.stories.ts +428 -0
  54. package/src/components/FdsSearchSelect/FdsSearchSelect.vue +621 -0
  55. package/src/components/FdsSearchSelect/types.ts +25 -0
  56. package/src/components/FdsSpinner/FdsSpinner.stories.ts +31 -0
  57. package/src/components/FdsSpinner/FdsSpinner.vue +90 -0
  58. package/src/components/FdsSpinner/types.ts +6 -0
  59. package/src/components/FdsSticker/FdsSticker.stories.ts +148 -0
  60. package/src/components/FdsSticker/FdsSticker.vue +44 -0
  61. package/src/components/FdsSticker/types.ts +4 -0
  62. package/src/components/FdsTreeView/FdsTreeView.stories.ts +136 -0
  63. package/src/components/FdsTreeView/FdsTreeView.vue +162 -0
  64. package/src/components/FdsTreeView/TreeNode.vue +383 -0
  65. package/src/components/FdsTreeView/types.ts +141 -0
  66. package/src/components/FdsTreeView/useTreeState.ts +607 -0
  67. package/src/components/FdsTreeView/utils.ts +69 -0
  68. package/src/components/FdsTruncatedText/FdsTruncatedText.stories.ts +78 -0
  69. package/src/components/FdsTruncatedText/FdsTruncatedText.vue +85 -0
  70. package/src/components/FdsTruncatedText/types.ts +6 -0
  71. package/src/components/Form/FdsCheckbox/FdsCheckbox.stories.ts +275 -0
  72. package/src/components/Form/FdsCheckbox/FdsCheckbox.vue +155 -0
  73. package/src/components/Form/FdsCheckbox/types.ts +10 -0
  74. package/src/components/Form/FdsInput/FdsInput.stories.ts +319 -0
  75. package/src/components/Form/FdsInput/FdsInput.vue +233 -0
  76. package/src/components/Form/FdsInput/types.ts +25 -0
  77. package/src/components/Form/FdsRadio/FdsRadio.stories.ts +63 -0
  78. package/src/components/Form/FdsRadio/FdsRadio.vue +88 -0
  79. package/src/components/Form/FdsRadio/types.ts +12 -0
  80. package/src/components/Form/FdsSelect/FdsSelect.stories.ts +78 -0
  81. package/src/components/Form/FdsSelect/FdsSelect.vue +136 -0
  82. package/src/components/Form/FdsSelect/types.ts +13 -0
  83. package/src/components/Form/FdsTextarea/FdsTextarea.stories.ts +52 -0
  84. package/src/components/Form/FdsTextarea/FdsTextarea.vue +110 -0
  85. package/src/components/Form/FdsTextarea/types.ts +12 -0
  86. package/src/components/Table/FdsTable/FdsTable.stories.ts +221 -0
  87. package/src/components/Table/FdsTable/FdsTable.vue +25 -0
  88. package/src/components/Table/FdsTable/types.ts +4 -0
  89. package/src/components/Table/FdsTableHead/FdsTableHead.stories.ts +151 -0
  90. package/src/components/Table/FdsTableHead/FdsTableHead.vue +54 -0
  91. package/src/components/Table/FdsTableHead/types.ts +5 -0
  92. package/src/components/Tabs/FdsTabs/FdsTabs.stories.ts +247 -0
  93. package/src/components/Tabs/FdsTabs/FdsTabs.vue +27 -0
  94. package/src/components/Tabs/FdsTabs/types.ts +4 -0
  95. package/src/components/Tabs/FdsTabsItem/FdsTabsItem.vue +125 -0
  96. package/src/components/Tabs/FdsTabsItem/types.ts +16 -0
  97. package/src/components/Typography/FdsHeading/FdsHeading.stories.ts +93 -0
  98. package/src/components/Typography/FdsHeading/FdsHeading.vue +51 -0
  99. package/src/components/Typography/FdsHeading/types.ts +5 -0
  100. package/src/components/Typography/FdsListHeading/FdsListHeading.stories.ts +58 -0
  101. package/src/components/Typography/FdsListHeading/FdsListHeading.vue +62 -0
  102. package/src/components/Typography/FdsListHeading/types.ts +8 -0
  103. package/src/components/Typography/FdsSeparator/FdsSeparator.stories.ts +31 -0
  104. package/src/components/Typography/FdsSeparator/FdsSeparator.vue +5 -0
  105. package/src/components/Typography/FdsText/FdsText.stories.ts +66 -0
  106. package/src/components/Typography/FdsText/FdsText.vue +28 -0
  107. package/src/components/Typography/FdsText/types.ts +3 -0
  108. package/src/composables/useBoldQuery.ts +29 -0
  109. package/src/composables/useElementFinalSize.ts +24 -0
  110. package/src/composables/useHasSlots.ts +17 -0
  111. package/src/composables/useIsPid.ts +48 -0
  112. package/src/docs/Start/Start.mdx +12 -0
  113. package/src/docs/Usage.md +117 -0
  114. package/src/fonts.css +28 -0
  115. package/src/global-components.ts +75 -0
  116. package/src/index.ts +180 -0
  117. package/src/main.ts +7 -0
  118. package/src/slot-styles.css +93 -0
  119. package/src/style.css +89 -0
  120. package/src/tokens.css +252 -0
  121. package/dist/index.d.ts +0 -2
@@ -1,37 +1,39 @@
1
1
  import type { DefineComponent } from 'vue'
2
- import type {
3
- FdsTreeViewProps,
4
- FdsButtonPrimaryProps,
5
- FdsButtonSecondaryProps,
6
- FdsButtonMinorProps,
7
- FdsIconButtonProps,
8
- FdsCopyButtonProps,
9
- FdsButtonDownloadProps,
10
- FdsIconProps,
11
- FdsSpinnerProps,
12
- FdsRadioProps,
13
- FdsInputProps,
14
- FdsCheckboxProps,
15
- FdsTextareaProps,
16
- FdsSelectProps,
17
- FdsTableProps,
18
- FdsTableHeadProps,
19
- FdsContentBlockProps,
20
- FdsBlockInfoProps,
21
- FdsAlertBlockProps,
22
- FdsExpanderBlockProps,
23
- FdsInteractionBlockProps,
24
- FdsStickerProps,
25
- FdsTabsProps,
26
- FdsTabsItemProps,
27
- FdsModalProps,
28
- FdsPaginationProps,
29
- FdsSearchSelectProps,
30
- FdsTruncatedTextProps,
31
- FdsHeadingProps,
32
- FdsTextProps,
33
- FdsListHeadingProps,
34
- } from './index'
2
+ // Import prop types directly from their source modules to avoid circular deps with index.ts
3
+ import type { FdsTreeViewProps } from './components/FdsTreeView/types'
4
+ import type { FdsButtonBaseProps } from './components/Buttons/ButtonBaseProps'
5
+ import type { FdsCopyButtonProps } from './components/Buttons/FdsButtonCopy/types'
6
+ import type { FdsIconButtonProps } from './components/Buttons/FdsButtonIcon/types'
7
+ import type { FdsIconProps } from './components/FdsIcon/types'
8
+ import type { FdsSpinnerProps } from './components/FdsSpinner/types'
9
+ import type { FdsRadioProps } from './components/Form/FdsRadio/types'
10
+ import type { FdsInputProps } from './components/Form/FdsInput/types'
11
+ import type { FdsCheckboxProps } from './components/Form/FdsCheckbox/types'
12
+ import type { FdsTextareaProps } from './components/Form/FdsTextarea/types'
13
+ import type { FdsSelectProps } from './components/Form/FdsSelect/types'
14
+ import type { FdsTableProps } from './components/Table/FdsTable/types'
15
+ import type { FdsTableHeadProps } from './components/Table/FdsTableHead/types'
16
+ import type { FdsContentBlockProps } from './components/Blocks/FdsBlockContent/types'
17
+ import type { FdsBlockInfoProps } from './components/Blocks/FdsBlockInfo/types'
18
+ import type { FdsAlertBlockProps } from './components/Blocks/FdsBlockAlert/types'
19
+ import type { FdsExpanderBlockProps } from './components/Blocks/FdsBlockExpander/types'
20
+ import type { FdsInteractionBlockProps } from './components/Blocks/FdsBlockLink/types'
21
+ import type { FdsStickerProps } from './components/FdsSticker/types'
22
+ import type { FdsTabsProps } from './components/Tabs/FdsTabs/types'
23
+ import type { FdsTabsItemProps } from './components/Tabs/FdsTabsItem/types'
24
+ import type { FdsModalProps } from './components/FdsModal/types'
25
+ import type { FdsPaginationProps } from './components/FdsPagination/types'
26
+ import type { FdsSearchSelectProps } from './components/FdsSearchSelect/types'
27
+ import type { FdsTruncatedTextProps } from './components/FdsTruncatedText/types'
28
+ import type { FdsHeadingProps } from './components/Typography/FdsHeading/types'
29
+ import type { FdsTextProps } from './components/Typography/FdsText/types'
30
+ import type { FdsListHeadingProps } from './components/Typography/FdsListHeading/types'
31
+
32
+ // Derive button prop types from base props
33
+ type FdsButtonPrimaryProps = FdsButtonBaseProps
34
+ type FdsButtonSecondaryProps = FdsButtonBaseProps
35
+ type FdsButtonMinorProps = FdsButtonBaseProps
36
+ type FdsButtonDownloadProps = FdsButtonBaseProps
35
37
 
36
38
  declare module '@vue/runtime-core' {
37
39
  export interface GlobalComponents {
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "fds-vue-core",
3
- "version": "2.1.4",
3
+ "version": "2.1.6",
4
4
  "description": "FDS Vue Core Component Library",
5
5
  "type": "module",
6
6
  "main": "./dist/fds-vue-core.cjs.js",
7
7
  "module": "./dist/fds-vue-core.es.js",
8
- "types": "./dist/index.d.ts",
8
+ "types": "./components.d.ts",
9
9
  "exports": {
10
10
  ".": {
11
- "types": "./dist/index.d.ts",
11
+ "types": "./components.d.ts",
12
12
  "import": "./dist/fds-vue-core.es.js",
13
13
  "require": "./dist/fds-vue-core.cjs.js"
14
14
  },
@@ -28,6 +28,8 @@
28
28
  },
29
29
  "files": [
30
30
  "dist",
31
+ "src",
32
+ "components.d.ts",
31
33
  "tailwind.preset.cjs",
32
34
  "configs",
33
35
  "scripts"
@@ -45,7 +47,7 @@
45
47
  },
46
48
  "scripts": {
47
49
  "serve": "vite",
48
- "build": "vite build && npm run build:types && cp ./src/tokens.css ./dist/tokens.css && cp ./src/slot-styles.css ./dist/slot-styles.css && cp ./src/apply.css ./dist/apply.css && cp ./src/fonts.css ./dist/fonts.css && cp ./src/global-components.ts ./dist/global-components.d.ts && node -e \"const fs=require('fs'); const content=fs.readFileSync('./dist/index.d.ts','utf8'); fs.writeFileSync('./dist/index.d.ts','import \\\\'./global-components\\\\'\\n'+content);\" && cp -r ./public/assets ./dist/assets",
50
+ "build": "vite build && npm run build:types && cp ./src/tokens.css ./dist/tokens.css && cp ./src/slot-styles.css ./dist/slot-styles.css && cp ./src/apply.css ./dist/apply.css && cp ./src/fonts.css ./dist/fonts.css && cp ./src/global-components.ts ./dist/global-components.d.ts && cp -r ./public/assets ./dist/assets",
49
51
  "build:types": "vue-tsc --project tsconfig.build.json",
50
52
  "preview": "vite preview",
51
53
  "lint": "eslint . --fix",
@@ -58,11 +60,11 @@
58
60
  "postinstall": "test -f scripts/sync-peers-from-dev.mjs && node scripts/sync-peers-from-dev.mjs || true"
59
61
  },
60
62
  "peerDependencies": {
61
- "vue": "^3.5.0"
63
+ "vue": "^3.5.25"
62
64
  },
63
65
  "dependencies": {
64
66
  "imask": "^7.6.1",
65
- "tailwindcss": "^4.1.17",
67
+ "tailwindcss": "^4.1.18",
66
68
  "vue-imask": "^7.6.1"
67
69
  },
68
70
  "devDependencies": {
@@ -73,33 +75,33 @@
73
75
  "@storybook/addon-onboarding": "^9.1.10",
74
76
  "@storybook/addon-vitest": "^9.1.10",
75
77
  "@storybook/vue3-vite": "^9.1.10",
76
- "@tailwindcss/vite": "^4.1.17",
77
- "@tsconfig/node22": "^22.0.2",
78
+ "@tailwindcss/vite": "^4.1.18",
79
+ "@tsconfig/node22": "^22.0.5",
78
80
  "@types/node": "^22.16.5",
79
81
  "@types/react": "18",
80
82
  "@types/react-dom": "18",
81
- "@vitejs/plugin-vue": "^6.0.1",
83
+ "@vitejs/plugin-vue": "^6.0.3",
82
84
  "@vitest/browser": "^3.2.4",
83
85
  "@vitest/coverage-v8": "^3.2.4",
84
- "@vitest/eslint-plugin": "^1.3.20",
86
+ "@vitest/eslint-plugin": "^1.5.2",
85
87
  "@vue/eslint-config-prettier": "^10.2.0",
86
88
  "@vue/eslint-config-typescript": "^14.6.0",
87
- "@vue/tsconfig": "^0.7.0",
88
- "eslint": "^9.31.0",
89
+ "@vue/tsconfig": "^0.8.1",
90
+ "eslint": "^9.39.2",
89
91
  "eslint-plugin-storybook": "^9.1.10",
90
- "eslint-plugin-vue": "~10.3.0",
92
+ "eslint-plugin-vue": "~10.6.2",
91
93
  "lit": "^3.3.1",
92
- "playwright": "^1.56.0",
93
- "prettier": "3.6.2",
94
- "sass": "^1.94.0",
94
+ "playwright": "^1.57.0",
95
+ "prettier": "3.7.4",
96
+ "sass": "^1.96.0",
95
97
  "storybook": "^9.1.10",
96
98
  "storybook-vue-slots": "^9.1.5",
97
- "typescript": "~5.8.0",
98
- "vite": "^7.0.6",
99
+ "typescript": "~5.9.3",
100
+ "vite": "^7.2.7",
99
101
  "vite-plugin-dts": "^4.5.4",
100
- "vite-plugin-vue-devtools": "^8.0.0",
102
+ "vite-plugin-vue-devtools": "^8.0.5",
101
103
  "vitest": "^3.2.4",
102
- "vue": "^3.5.18",
103
- "vue-tsc": "^3.0.4"
104
+ "vue": "^3.5.25",
105
+ "vue-tsc": "^3.1.8"
104
106
  }
105
107
  }
package/src/.DS_Store ADDED
Binary file
package/src/App.vue ADDED
@@ -0,0 +1,133 @@
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 ADDED
@@ -0,0 +1,60 @@
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
+ }