lapikit 0.2.3 → 0.2.5

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 (194) hide show
  1. package/bin/configuration.js +0 -1
  2. package/bin/helper.js +0 -38
  3. package/bin/index.js +1 -9
  4. package/bin/presets.js +1 -1
  5. package/bin/prompts.js +46 -79
  6. package/dist/actions/accordion.svelte.d.ts +9 -0
  7. package/dist/actions/index.d.ts +2 -1
  8. package/dist/actions/index.js +2 -1
  9. package/dist/actions/use-theme.d.ts +1 -0
  10. package/dist/actions/use-theme.js +18 -0
  11. package/dist/components/accordion/accordion.css +0 -77
  12. package/dist/components/accordion/accordion.svelte +5 -3
  13. package/dist/components/accordion/modules/accordion-item.css +68 -0
  14. package/dist/components/accordion/modules/accordion-item.svelte +4 -4
  15. package/dist/components/accordion/types.d.ts +1 -1
  16. package/dist/components/alert/alert.css +11 -18
  17. package/dist/components/alert/alert.svelte +4 -4
  18. package/dist/components/alert/types.d.ts +1 -1
  19. package/dist/components/app/app.css +1 -2
  20. package/dist/components/app/app.svelte +39 -26
  21. package/dist/components/app/app.svelte.d.ts +2 -0
  22. package/dist/components/appbar/appbar.css +8 -18
  23. package/dist/components/appbar/appbar.svelte +4 -4
  24. package/dist/components/appbar/types.d.ts +1 -1
  25. package/dist/components/aspect-ratio/aspect-ratio.svelte +0 -22
  26. package/dist/components/aspect-ratio/types.d.ts +1 -1
  27. package/dist/components/avatar/avatar.css +7 -14
  28. package/dist/components/avatar/avatar.svelte +4 -4
  29. package/dist/components/avatar/types.d.ts +1 -1
  30. package/dist/components/button/button.css +29 -36
  31. package/dist/components/button/button.svelte +5 -5
  32. package/dist/components/button/types.d.ts +1 -1
  33. package/dist/components/card/card.css +10 -20
  34. package/dist/components/card/card.svelte +5 -5
  35. package/dist/components/card/types.d.ts +1 -1
  36. package/dist/components/chip/chip.css +26 -33
  37. package/dist/components/chip/chip.svelte +5 -5
  38. package/dist/components/chip/types.d.ts +1 -1
  39. package/dist/components/dialog/dialog.css +13 -20
  40. package/dist/components/dialog/dialog.svelte +5 -5
  41. package/dist/components/dialog/types.d.ts +1 -1
  42. package/dist/components/dropdown/dropdown.css +3 -12
  43. package/dist/components/dropdown/dropdown.svelte +6 -7
  44. package/dist/components/dropdown/types.d.ts +1 -1
  45. package/dist/components/icon/icon.css +11 -12
  46. package/dist/components/icon/icon.svelte +2 -2
  47. package/dist/components/icon/types.d.ts +1 -1
  48. package/dist/components/list/list.css +19 -91
  49. package/dist/components/list/list.svelte +4 -4
  50. package/dist/components/list/modules/list-item.css +67 -0
  51. package/dist/components/list/modules/list-item.svelte +5 -5
  52. package/dist/components/list/types.d.ts +1 -1
  53. package/dist/components/modal/modal.css +15 -23
  54. package/dist/components/modal/modal.svelte +4 -5
  55. package/dist/components/modal/types.d.ts +1 -1
  56. package/dist/components/popover/popover.css +3 -12
  57. package/dist/components/popover/popover.svelte +6 -6
  58. package/dist/components/popover/types.d.ts +1 -1
  59. package/dist/components/separator/separator.css +4 -8
  60. package/dist/components/separator/separator.svelte +5 -5
  61. package/dist/components/separator/types.d.ts +1 -1
  62. package/dist/components/spacer/types.d.ts +1 -1
  63. package/dist/components/textfield/textfield.css +16 -23
  64. package/dist/components/textfield/textfield.svelte +4 -4
  65. package/dist/components/textfield/types.d.ts +1 -1
  66. package/dist/components/toolbar/toolbar.css +11 -34
  67. package/dist/components/toolbar/toolbar.svelte +4 -4
  68. package/dist/components/toolbar/types.d.ts +1 -1
  69. package/dist/components/tooltip/tooltip.css +5 -13
  70. package/dist/components/tooltip/tooltip.svelte +5 -5
  71. package/dist/components/tooltip/types.d.ts +1 -1
  72. package/dist/index.d.ts +2 -26
  73. package/dist/index.js +2 -6
  74. package/dist/internal/config/presets.d.ts +88 -47
  75. package/dist/internal/config/presets.js +89 -41
  76. package/dist/internal/config/variables.d.ts +1 -4
  77. package/dist/internal/config/variables.js +1 -4
  78. package/dist/internal/{assets.svelte.js → core/actions/assets.svelte.js} +4 -4
  79. package/dist/internal/core/actions/dropdown.svelte.d.ts +7 -0
  80. package/dist/internal/core/actions/popover.svelte.d.ts +7 -0
  81. package/dist/internal/core/actions/tooltip.svelte.d.ts +7 -0
  82. package/dist/internal/{ripple.js → core/animations/ripple.js} +3 -3
  83. package/dist/internal/core/css.d.ts +1 -0
  84. package/dist/internal/core/css.js +16 -0
  85. package/dist/internal/core/formatter/component.d.ts +1 -1
  86. package/dist/internal/core/formatter/component.js +25 -21
  87. package/dist/internal/core/formatter/device.d.ts +5 -0
  88. package/dist/internal/core/formatter/device.js +66 -0
  89. package/dist/internal/core/formatter/index.d.ts +5 -2
  90. package/dist/internal/core/formatter/index.js +15 -6
  91. package/dist/internal/core/formatter/{styles.d.ts → style.d.ts} +1 -1
  92. package/dist/internal/core/formatter/{styles.js → style.js} +3 -3
  93. package/dist/internal/core/formatter/theme.d.ts +1 -1
  94. package/dist/internal/core/formatter/theme.js +30 -6
  95. package/dist/internal/core/formatter/typography.d.ts +1 -1
  96. package/dist/internal/core/formatter/typography.js +2 -2
  97. package/dist/internal/core/standard-colors.d.ts +75 -0
  98. package/dist/internal/core/standard-colors.js +75 -0
  99. package/dist/internal/helpers/colors.d.ts +1 -0
  100. package/dist/internal/{colors.js → helpers/colors.js} +2 -2
  101. package/dist/internal/helpers/parser.d.ts +1 -0
  102. package/dist/internal/helpers/parser.js +43 -20
  103. package/dist/{plugin/vitejs.d.ts → internal/plugins/vite.d.ts} +1 -3
  104. package/dist/internal/plugins/vite.js +33 -0
  105. package/dist/internal/types/components.d.ts +14 -0
  106. package/dist/internal/types/configuration.d.ts +24 -1
  107. package/dist/internal/types/index.d.ts +1 -0
  108. package/dist/internal/types/index.js +1 -0
  109. package/dist/stores/components.js +1 -1
  110. package/dist/stores/index.d.ts +1 -0
  111. package/dist/stores/index.js +1 -0
  112. package/dist/stores/themes.d.ts +0 -6
  113. package/dist/stores/themes.js +1 -31
  114. package/dist/stores/viewport.d.ts +7 -0
  115. package/dist/stores/viewport.js +7 -0
  116. package/dist/styles/animation.css +33 -0
  117. package/dist/styles/keyframes.css +30 -0
  118. package/dist/{style/normalize.css → styles/reset.css} +15 -7
  119. package/package.json +7 -8
  120. package/bin/lapikit.js +0 -86
  121. package/bin/legacy.js +0 -34
  122. package/bin/modules/adapter.js +0 -52
  123. package/bin/modules/plugin.js +0 -223
  124. package/bin/modules/preset.js +0 -11
  125. package/dist/internal/colors.d.ts +0 -1
  126. package/dist/internal/core/parser-config.d.ts +0 -1
  127. package/dist/internal/core/parser-config.js +0 -24
  128. package/dist/internal/index.d.ts +0 -4
  129. package/dist/internal/index.js +0 -4
  130. package/dist/internal/types.d.ts +0 -57
  131. package/dist/internal/unit.d.ts +0 -1
  132. package/dist/internal/unit.js +0 -11
  133. package/dist/labs/index.d.ts +0 -4
  134. package/dist/labs/index.js +0 -5
  135. package/dist/labs/my-component-style-global.svelte +0 -6
  136. package/dist/labs/my-component-style-global.svelte.d.ts +0 -18
  137. package/dist/labs/my-component-style-import.svelte +0 -15
  138. package/dist/labs/my-component-style-import.svelte.d.ts +0 -18
  139. package/dist/labs/my-component-style-mixed.svelte +0 -23
  140. package/dist/labs/my-component-style-mixed.svelte.d.ts +0 -18
  141. package/dist/labs/my-component.svelte +0 -16
  142. package/dist/labs/my-component.svelte.d.ts +0 -18
  143. package/dist/labs/style-mixed.css +0 -7
  144. package/dist/labs/style.css +0 -7
  145. package/dist/labs.css +0 -25
  146. package/dist/plugin/css.d.ts +0 -1
  147. package/dist/plugin/css.js +0 -73
  148. package/dist/plugin/modules/config.d.ts +0 -2
  149. package/dist/plugin/modules/config.js +0 -54
  150. package/dist/plugin/modules/importer.d.ts +0 -1
  151. package/dist/plugin/modules/importer.js +0 -15
  152. package/dist/plugin/preset-v2.d.ts +0 -108
  153. package/dist/plugin/preset-v2.js +0 -126
  154. package/dist/plugin/vitejs.js +0 -55
  155. package/dist/preset.d.ts +0 -2
  156. package/dist/preset.js +0 -92
  157. package/dist/style/animation.css +0 -62
  158. package/dist/style/css.d.ts +0 -2
  159. package/dist/style/css.js +0 -34
  160. package/dist/style/parser/color.d.ts +0 -5
  161. package/dist/style/parser/color.js +0 -88
  162. package/dist/style/parser/component.d.ts +0 -2
  163. package/dist/style/parser/component.js +0 -115
  164. package/dist/style/parser/device.d.ts +0 -2
  165. package/dist/style/parser/device.js +0 -40
  166. package/dist/style/parser/index.d.ts +0 -4
  167. package/dist/style/parser/index.js +0 -4
  168. package/dist/style/parser/variable.d.ts +0 -2
  169. package/dist/style/parser/variable.js +0 -25
  170. package/dist/style/variable.css +0 -12
  171. /package/dist/{components/accordion → actions}/accordion.svelte.js +0 -0
  172. /package/dist/internal/{assets.svelte.d.ts → core/actions/assets.svelte.d.ts} +0 -0
  173. /package/dist/{components/dropdown → internal/core/actions}/dropdown.svelte.js +0 -0
  174. /package/dist/{components/popover → internal/core/actions}/popover.svelte.js +0 -0
  175. /package/dist/{components/tooltip → internal/core/actions}/tooltip.svelte.js +0 -0
  176. /package/dist/internal/{ripple.d.ts → core/animations/ripple.d.ts} +0 -0
  177. /package/dist/internal/{ansi.d.ts → core/bin/ansi.d.ts} +0 -0
  178. /package/dist/internal/{ansi.js → core/bin/ansi.js} +0 -0
  179. /package/dist/internal/{terminal.d.ts → core/bin/terminal.d.ts} +0 -0
  180. /package/dist/internal/{terminal.js → core/bin/terminal.js} +0 -0
  181. /package/dist/internal/{minify.d.ts → core/minify.d.ts} +0 -0
  182. /package/dist/internal/{minify.js → core/minify.js} +0 -0
  183. /package/dist/{utils/x11.d.ts → internal/core/x11-colors.d.ts} +0 -0
  184. /package/dist/{utils/x11.js → internal/core/x11-colors.js} +0 -0
  185. /package/dist/{utils → internal/helpers}/convert.d.ts +0 -0
  186. /package/dist/{utils → internal/helpers}/convert.js +0 -0
  187. /package/dist/internal/{deepMerge.d.ts → helpers/deep-merge.d.ts} +0 -0
  188. /package/dist/internal/{deepMerge.js → helpers/deep-merge.js} +0 -0
  189. /package/dist/internal/{clickOutside.d.ts → helpers/outside.d.ts} +0 -0
  190. /package/dist/internal/{clickOutside.js → helpers/outside.js} +0 -0
  191. /package/dist/internal/{scroll.d.ts → helpers/scroll.d.ts} +0 -0
  192. /package/dist/internal/{scroll.js → helpers/scroll.js} +0 -0
  193. /package/dist/internal/{types.js → types/components.js} +0 -0
  194. /package/dist/{colors.css → themes.css} +0 -0
@@ -0,0 +1,75 @@
1
+ export declare const standardColors: {
2
+ red: {
3
+ light: string;
4
+ dark: string;
5
+ };
6
+ orange: {
7
+ light: string;
8
+ dark: string;
9
+ };
10
+ yellow: {
11
+ light: string;
12
+ dark: string;
13
+ };
14
+ green: {
15
+ light: string;
16
+ dark: string;
17
+ };
18
+ mint: {
19
+ light: string;
20
+ dark: string;
21
+ };
22
+ teal: {
23
+ light: string;
24
+ dark: string;
25
+ };
26
+ cyan: {
27
+ light: string;
28
+ dark: string;
29
+ };
30
+ blue: {
31
+ light: string;
32
+ dark: string;
33
+ };
34
+ indigo: {
35
+ light: string;
36
+ dark: string;
37
+ };
38
+ purple: {
39
+ light: string;
40
+ dark: string;
41
+ };
42
+ pink: {
43
+ light: string;
44
+ dark: string;
45
+ };
46
+ brown: {
47
+ light: string;
48
+ dark: string;
49
+ };
50
+ gray: {
51
+ light: string;
52
+ dark: string;
53
+ };
54
+ gray2: {
55
+ light: string;
56
+ dark: string;
57
+ };
58
+ gray3: {
59
+ light: string;
60
+ dark: string;
61
+ };
62
+ gray4: {
63
+ light: string;
64
+ dark: string;
65
+ };
66
+ gray5: {
67
+ light: string;
68
+ dark: string;
69
+ };
70
+ gray6: {
71
+ light: string;
72
+ dark: string;
73
+ };
74
+ };
75
+ export default standardColors;
@@ -0,0 +1,75 @@
1
+ export const standardColors = {
2
+ red: {
3
+ light: '#FF3B30',
4
+ dark: '#FF453A'
5
+ },
6
+ orange: {
7
+ light: '#FF9500',
8
+ dark: '#FF9F0A'
9
+ },
10
+ yellow: {
11
+ light: '#FFCC00',
12
+ dark: '#FFD60A'
13
+ },
14
+ green: {
15
+ light: '#34C759',
16
+ dark: '#30D158'
17
+ },
18
+ mint: {
19
+ light: '#00C7BE',
20
+ dark: '#66D4CF'
21
+ },
22
+ teal: {
23
+ light: '#30B0C7',
24
+ dark: '#40CBE0'
25
+ },
26
+ cyan: {
27
+ light: '#32ADE6',
28
+ dark: '#64D2FF'
29
+ },
30
+ blue: {
31
+ light: '#007AFF',
32
+ dark: '#0A84FF'
33
+ },
34
+ indigo: {
35
+ light: '#5856D6',
36
+ dark: '#5E5CE6'
37
+ },
38
+ purple: {
39
+ light: '#AF52DE',
40
+ dark: '#BF5AF2'
41
+ },
42
+ pink: {
43
+ light: '#FF2D55',
44
+ dark: '#FF375F'
45
+ },
46
+ brown: {
47
+ light: '#A2845E',
48
+ dark: '#AC8E68'
49
+ },
50
+ gray: {
51
+ light: '#8E8E93',
52
+ dark: '#8E8E93'
53
+ },
54
+ gray2: {
55
+ light: '#AEAEB2',
56
+ dark: '#636366'
57
+ },
58
+ gray3: {
59
+ light: '#C7C7CC',
60
+ dark: '#48484A'
61
+ },
62
+ gray4: {
63
+ light: '#D1D1D6',
64
+ dark: '#3A3A3C'
65
+ },
66
+ gray5: {
67
+ light: '#E5E5EA',
68
+ dark: '#2C2C2E'
69
+ },
70
+ gray6: {
71
+ light: '#F2F2F7',
72
+ dark: '#1C1C1E'
73
+ }
74
+ };
75
+ export default standardColors;
@@ -0,0 +1 @@
1
+ export declare const formatColor: (input: string) => string;
@@ -1,5 +1,5 @@
1
- import { x11Colors } from '../utils/x11.js';
2
- export const parseColor = (input) => {
1
+ import { x11Colors } from '../core/x11-colors.js';
2
+ export const formatColor = (input) => {
3
3
  input = input.trim();
4
4
  if (input.startsWith('#')) {
5
5
  const rgb = hexToRgb(input);
@@ -7,3 +7,4 @@ export declare const parserCSSBreakpoints: (css: string) => {
7
7
  minmax: string;
8
8
  cleaned: string;
9
9
  };
10
+ export declare const parserConfigLapikit: (app: string, filePath: string) => Promise<{}>;
@@ -1,3 +1,6 @@
1
+ import path from 'path';
2
+ import fs from 'fs';
3
+ import { terminal } from '../core/bin/terminal.js';
1
4
  export const parserValues = (value) => {
2
5
  if (typeof value === 'number')
3
6
  return `${value}px`;
@@ -6,6 +9,7 @@ export const parserValues = (value) => {
6
9
  return value;
7
10
  };
8
11
  export const parserCSSBreakpoints = (css) => {
12
+ css = css.replace(/\/\*[\s\S]*?\*\//g, ''); // clean comments
9
13
  const regex = /([^{]+)\{([^}]+)\}/g;
10
14
  let match;
11
15
  const matchesToRemove = [];
@@ -36,7 +40,7 @@ export const parserCSSBreakpoints = (css) => {
36
40
  }
37
41
  if (matchedType) {
38
42
  const rule = `${selectors} {\n${body}\n}`;
39
- extractedByType.allExtracted.push(rule);
43
+ extractedByType.all.push(rule);
40
44
  extractedByType[matchedType].push(rule);
41
45
  matchesToRemove.push(fullMatch);
42
46
  }
@@ -46,25 +50,44 @@ export const parserCSSBreakpoints = (css) => {
46
50
  cleaned = cleaned.replace(rule, '').replace(/\n{2,}/g, '\n\n');
47
51
  }
48
52
  return {
49
- all: extractedByType.allExtracted
50
- .join('\n\n')
51
- .replaceAll('[breakpoint|min]', '[breakpoint]')
52
- .replaceAll('[breakpoint|max]', '[breakpoint]')
53
- .replaceAll('[breakpoint|all]', '[breakpoint]')
54
- .trim(),
55
- base: extractedByType.defaultExtracted.join('\n\n').trim(),
56
- min: extractedByType.minExtracted
57
- .join('\n\n')
58
- .replaceAll('[breakpoint|min]', '[breakpoint]')
59
- .trim(),
60
- max: extractedByType.maxExtracted
61
- .join('\n\n')
62
- .replaceAll('[breakpoint|max]', '[breakpoint]')
63
- .trim(),
64
- minmax: extractedByType.allModifierExtracted
65
- .join('\n\n')
66
- .replaceAll('[breakpoint|all]', '[breakpoint]')
67
- .trim(),
53
+ all: extractedByType.all
54
+ ? extractedByType.all
55
+ .join('\n\n')
56
+ .replaceAll('[breakpoint|min]', '[breakpoint]')
57
+ .replaceAll('[breakpoint|max]', '[breakpoint]')
58
+ .replaceAll('[breakpoint|all]', '[breakpoint]')
59
+ .trim()
60
+ : '',
61
+ base: extractedByType.base ? extractedByType.base.join('\n\n').trim() : '',
62
+ min: extractedByType.min
63
+ ? extractedByType.min.join('\n\n').replaceAll('[breakpoint|min]', '[breakpoint]').trim()
64
+ : '',
65
+ max: extractedByType.max
66
+ ? extractedByType.max.join('\n\n').replaceAll('[breakpoint|max]', '[breakpoint]').trim()
67
+ : '',
68
+ minmax: extractedByType.minmax
69
+ ? extractedByType.minmax.join('\n\n').replaceAll('[breakpoint|all]', '[breakpoint]').trim()
70
+ : '',
68
71
  cleaned: cleaned.trim()
69
72
  };
70
73
  };
74
+ export const parserConfigLapikit = async (app, filePath) => {
75
+ const pathConfig = path.resolve(app, filePath);
76
+ if (!fs.existsSync(pathConfig))
77
+ process.exit(1);
78
+ const code = fs.readFileSync(pathConfig, 'utf-8');
79
+ const match = code.match(/createLapikit\s*\(\s*({[\s\S]*?})\s*\)/);
80
+ let options = {};
81
+ if (match && match[1]) {
82
+ try {
83
+ options = new Function('return ' + match[1])();
84
+ }
85
+ catch (e) {
86
+ terminal('error', `Error parsing lapikit config: ${e}`);
87
+ }
88
+ }
89
+ else {
90
+ terminal('error', 'lapikit configuration not found please refer to the documentation https://lapikit.dev/docs/getting-started');
91
+ }
92
+ return options;
93
+ };
@@ -1,10 +1,8 @@
1
- import type { ViteDevServer } from 'vite';
2
1
  type Lapikit = {
3
2
  config?: string;
4
3
  };
5
4
  export declare function lapikit({ config }?: Lapikit): Promise<{
6
5
  name: string;
7
- configResolved(): Promise<void>;
8
- configureServer(server: ViteDevServer): Promise<void>;
6
+ config(): Promise<void>;
9
7
  }>;
10
8
  export {};
@@ -0,0 +1,33 @@
1
+ import { fileURLToPath } from 'url';
2
+ import { dirname } from 'path';
3
+ import { terminal } from '../core/bin/terminal.js';
4
+ import { liliRabbit } from '../core/formatter/index.js';
5
+ import { parserConfigLapikit } from '../helpers/parser.js';
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = dirname(__filename);
8
+ import fsPromises from 'fs/promises';
9
+ import path from 'path';
10
+ import { processImportStyles } from '../core/css.js';
11
+ const app = process.cwd();
12
+ export async function lapikit({ config } = {}) {
13
+ return {
14
+ name: 'lapikit/vite',
15
+ async config() {
16
+ if (config) {
17
+ const configuration = await parserConfigLapikit(app, config);
18
+ // generate styles
19
+ const basicStyles = await processImportStyles();
20
+ fsPromises.writeFile(path.resolve(__dirname, '../../styles.css'), basicStyles || '');
21
+ const styles = await liliRabbit(configuration);
22
+ fsPromises.writeFile(path.resolve(__dirname, '../../themes.css'), styles?.devices +
23
+ '\n\n' +
24
+ styles?.typography +
25
+ '\n\n' +
26
+ styles?.styles +
27
+ '\n\n' +
28
+ styles?.themes || '');
29
+ }
30
+ terminal('info', 'lapikit is up!');
31
+ }
32
+ };
33
+ }
@@ -0,0 +1,14 @@
1
+ import type { Snippet } from 'svelte';
2
+ type IdElementType = string | undefined;
3
+ type ClassNameType = string | string[] | undefined;
4
+ type StylePropertiesType = string | undefined;
5
+ export interface Base {
6
+ id?: IdElementType;
7
+ class?: ClassNameType;
8
+ style?: StylePropertiesType;
9
+ [key: string]: any;
10
+ }
11
+ export interface Component extends Base {
12
+ children?: Snippet;
13
+ }
14
+ export {};
@@ -1,3 +1,23 @@
1
+ export interface LapikitConfiguration {
2
+ breakpoints?: {
3
+ devices?: {
4
+ [key: string]: number | string;
5
+ };
6
+ thresholds?: {
7
+ [key: string]: number | string;
8
+ };
9
+ };
10
+ theme?: {
11
+ defaultTheme?: string;
12
+ colorScheme?: boolean;
13
+ themes?: FragThemes;
14
+ };
15
+ typography?: {
16
+ defaultTypography?: string;
17
+ fonts?: FragTypography;
18
+ };
19
+ styles?: FragStyles;
20
+ }
1
21
  export interface DevConfiguration {
2
22
  breakpoints?: {
3
23
  devices?: {
@@ -9,6 +29,7 @@ export interface DevConfiguration {
9
29
  };
10
30
  theme?: {
11
31
  defaultTheme?: string;
32
+ colorScheme?: boolean;
12
33
  themes?: FragThemes;
13
34
  };
14
35
  typography?: {
@@ -21,7 +42,9 @@ export interface FragThemes {
21
42
  [key: string]: {
22
43
  dark?: boolean;
23
44
  colors?: {
24
- [key: string]: string;
45
+ [key: string]: {
46
+ [key: string]: string;
47
+ } | string;
25
48
  };
26
49
  variables?: {
27
50
  [key: string]: string | number;
@@ -1 +1,2 @@
1
1
  export * from './configuration.js';
2
+ export * from './components.js';
@@ -1 +1,2 @@
1
1
  export * from './configuration.js';
2
+ export * from './components.js';
@@ -1,4 +1,4 @@
1
- import { disabledScroll } from '../internal/scroll.js';
1
+ import { disabledScroll } from '../internal/helpers/scroll.js';
2
2
  import { writable } from 'svelte/store';
3
3
  // presets
4
4
  const refModal = false;
@@ -2,3 +2,4 @@ export * from './breakpoints.js';
2
2
  export * from './devices.js';
3
3
  export * from './themes.js';
4
4
  export * from './components.js';
5
+ export * from './viewport.js';
@@ -2,3 +2,4 @@ export * from './breakpoints.js';
2
2
  export * from './devices.js';
3
3
  export * from './themes.js';
4
4
  export * from './components.js';
5
+ export * from './viewport.js';
@@ -1,8 +1,2 @@
1
1
  import { type Writable } from 'svelte/store';
2
- type PreferColorScheme = 'system' | 'dark' | 'light';
3
- export declare const colorScheme: Writable<PreferColorScheme>;
4
- export declare const colorSchemeSystem: Writable<'dark' | 'light'>;
5
2
  export declare const theme: Writable<string>;
6
- export declare function useColorScheme(scheme: PreferColorScheme, key?: string): void;
7
- export declare function useTheme(name: string, key?: string): void;
8
- export {};
@@ -1,34 +1,4 @@
1
1
  import { writable } from 'svelte/store';
2
2
  // presets
3
- const colorSchemeRef = 'system';
4
- const themeRef = 'lapikit';
5
- // states
6
- const isBrowser = typeof window !== 'undefined';
7
- export const colorScheme = writable(colorSchemeRef);
8
- export const colorSchemeSystem = writable('light');
3
+ const themeRef = 'light';
9
4
  export const theme = writable(themeRef);
10
- export function useColorScheme(scheme, key = '@lapikit/color-scheme') {
11
- colorScheme.update(() => {
12
- if (isBrowser) {
13
- const ref = document.documentElement.classList;
14
- if (scheme === 'system')
15
- ref.remove('light', 'dark');
16
- else {
17
- ref.remove(scheme === 'dark' ? 'light' : 'dark');
18
- ref.add(scheme === 'dark' ? 'dark' : 'light');
19
- }
20
- localStorage.setItem(key, scheme);
21
- }
22
- return scheme;
23
- });
24
- }
25
- export function useTheme(name, key = '@lapikit/theme') {
26
- theme.update(() => {
27
- if (isBrowser) {
28
- const html = document.documentElement;
29
- html.setAttribute('data-theme', name);
30
- localStorage.setItem(key, name);
31
- }
32
- return name;
33
- });
34
- }
@@ -0,0 +1,7 @@
1
+ export type Viewport = {
2
+ innerWidth: number;
3
+ outerWidth: number;
4
+ innerHeight: number;
5
+ outerHeight: number;
6
+ };
7
+ export declare const viewport: import("svelte/store").Writable<Viewport>;
@@ -0,0 +1,7 @@
1
+ import { writable } from 'svelte/store';
2
+ export const viewport = writable({
3
+ innerWidth: 0,
4
+ outerWidth: 0,
5
+ innerHeight: 0,
6
+ outerHeight: 0
7
+ });
@@ -0,0 +1,33 @@
1
+ .kit-ripple {
2
+ background-color: currentColor;
3
+ opacity: 0.1;
4
+ position: absolute;
5
+ border-radius: 50%;
6
+ pointer-events: none;
7
+ -webkit-transition: 0.6s;
8
+ transition: 0.6s;
9
+ -webkit-animation: animation-l-ripple var(--system-animation-ripple-duration, 0.4s)
10
+ cubic-bezier(0.4, 0, 0.2, 1);
11
+ animation: animation-l-ripple var(--system-animation-ripple-duration, 0.4s)
12
+ cubic-bezier(0.4, 0, 0.2, 1);
13
+ border-radius: var(--system-ripple-radius);
14
+ }
15
+
16
+ .kit-ripple--center {
17
+ top: 50% !important;
18
+ left: 50% !important;
19
+ translate: -50% -50% !important;
20
+ }
21
+
22
+ .kit-ripple--effect {
23
+ position: absolute;
24
+ left: 0;
25
+ right: 0;
26
+ top: 0;
27
+ bottom: 0;
28
+ overflow: hidden;
29
+ background: none;
30
+ pointer-events: none;
31
+ z-index: 999;
32
+ border-radius: var(--system-ripple-radius);
33
+ }
@@ -0,0 +1,30 @@
1
+ @keyframes button-click {
2
+ 0% {
3
+ transform: scale(0.98);
4
+ }
5
+ 40% {
6
+ transform: scale(1.02);
7
+ }
8
+ 100% {
9
+ transform: scale(1);
10
+ }
11
+ }
12
+
13
+ @keyframes icon-rotate {
14
+ 0% {
15
+ transform: rotate(10deg);
16
+ }
17
+ 100% {
18
+ transform: rotate(380deg);
19
+ }
20
+ }
21
+
22
+ @keyframes animation-l-ripple {
23
+ from {
24
+ scale: 0;
25
+ }
26
+
27
+ to {
28
+ scale: 1;
29
+ }
30
+ }
@@ -3,18 +3,19 @@ html {
3
3
  tab-size: 4;
4
4
  line-height: 1.5;
5
5
  box-sizing: border-box;
6
- font-family: var(--kit-font-family-sans);
7
- background-color: var(--kit-base);
8
- color: var(--kit-on-base);
6
+ font-family: var(--kit-font-sans);
7
+ background-color: var(--kit-background-primary);
8
+ color: var(--kit-label-primary);
9
9
  }
10
10
 
11
11
  pre,
12
12
  code {
13
- font-family: var(--kit-font-family-mono);
13
+ font-family: var(--kit-font-mono);
14
14
  }
15
15
 
16
16
  body {
17
17
  margin: 0;
18
+ -webkit-font-smoothing: antialiased;
18
19
  }
19
20
 
20
21
  main {
@@ -46,7 +47,8 @@ button,
46
47
  outline: none;
47
48
  }
48
49
 
49
- *,
50
+ /* bug with tailwind */
51
+ /* *,
50
52
  ::after,
51
53
  ::before,
52
54
  ::backdrop {
@@ -54,7 +56,7 @@ button,
54
56
  margin: 0;
55
57
  padding: 0;
56
58
  border: 0 solid;
57
- }
59
+ } */
58
60
 
59
61
  *,
60
62
  ::before,
@@ -79,7 +81,7 @@ ol,
79
81
  ul,
80
82
  menu {
81
83
  list-style: initial;
82
- margin-left: calc(var(--kit-spacing) * 5);
84
+ margin-left: calc(var(--system-spacing) * 5);
83
85
  }
84
86
 
85
87
  ol ul,
@@ -123,3 +125,9 @@ textarea {
123
125
  background-color: transparent;
124
126
  border-style: none;
125
127
  }
128
+
129
+ @media (prefers-reduced-motion: no-preference) {
130
+ html {
131
+ interpolate-size: allow-keywords;
132
+ }
133
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lapikit",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -50,12 +50,8 @@
50
50
  "svelte": "./dist/components/index.js",
51
51
  "default": "./dist/components/index.js"
52
52
  },
53
- "./labs": {
54
- "svelte": "./dist/labs/index.js",
55
- "default": "./dist/labs/index.js"
56
- },
57
53
  "./vite": {
58
- "default": "./dist/plugin/vitejs.js"
54
+ "default": "./dist/internal/plugins/vite.js"
59
55
  },
60
56
  "./stores": {
61
57
  "default": "./dist/stores/index.js"
@@ -63,8 +59,11 @@
63
59
  "./actions": {
64
60
  "default": "./dist/actions/index.js"
65
61
  },
66
- "./css": "./dist/styles.css",
67
- "./styles": "./dist/labs.css"
62
+ "./core/colors": {
63
+ "default": "./dist/internal/core/standard-colors.js"
64
+ },
65
+ "./styles": "./dist/styles.css",
66
+ "./themes": "./dist/themes.css"
68
67
  },
69
68
  "peerDependencies": {
70
69
  "svelte": "^5.0.0"