@sveltia/ui 0.2.0 → 0.2.2

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 (107) hide show
  1. package/package/components/composite/calendar.svelte +239 -0
  2. package/package/components/composite/calendar.svelte.d.ts +27 -0
  3. package/package/components/composite/checkbox-group.svelte +43 -0
  4. package/package/components/composite/checkbox-group.svelte.d.ts +34 -0
  5. package/package/components/composite/combobox.svelte +208 -0
  6. package/package/components/composite/combobox.svelte.d.ts +47 -0
  7. package/package/components/composite/disclosure.svelte +60 -0
  8. package/package/components/composite/disclosure.svelte.d.ts +35 -0
  9. package/package/components/composite/grid.svelte +24 -0
  10. package/package/components/composite/grid.svelte.d.ts +31 -0
  11. package/package/components/composite/listbox.svelte +63 -0
  12. package/package/components/composite/listbox.svelte.d.ts +52 -0
  13. package/package/components/composite/menu-item-group.svelte +31 -0
  14. package/package/components/composite/menu-item-group.svelte.d.ts +33 -0
  15. package/package/components/composite/menu.svelte +44 -0
  16. package/package/components/composite/menu.svelte.d.ts +41 -0
  17. package/package/components/composite/radio-button-group.svelte +45 -0
  18. package/package/components/composite/radio-button-group.svelte.d.ts +36 -0
  19. package/package/components/composite/select-button-group.svelte +71 -0
  20. package/package/components/composite/select-button-group.svelte.d.ts +44 -0
  21. package/package/components/composite/select.svelte +34 -0
  22. package/package/components/composite/select.svelte.d.ts +38 -0
  23. package/package/components/composite/tab-list.svelte +76 -0
  24. package/package/components/composite/tab-list.svelte.d.ts +55 -0
  25. package/package/components/core/button.svelte +222 -0
  26. package/package/components/core/button.svelte.d.ts +109 -0
  27. package/package/components/core/checkbox.svelte +114 -0
  28. package/package/components/core/checkbox.svelte.d.ts +45 -0
  29. package/package/components/core/dialog.svelte +288 -0
  30. package/package/components/core/dialog.svelte.d.ts +73 -0
  31. package/package/components/core/drawer.svelte +338 -0
  32. package/package/components/core/drawer.svelte.d.ts +59 -0
  33. package/package/components/core/grid-cell.svelte +14 -0
  34. package/package/components/core/grid-cell.svelte.d.ts +29 -0
  35. package/package/components/core/group.svelte +31 -0
  36. package/package/components/core/group.svelte.d.ts +33 -0
  37. package/package/components/core/icon.svelte +21 -0
  38. package/package/components/core/icon.svelte.d.ts +27 -0
  39. package/package/components/core/menu-button.svelte +57 -0
  40. package/package/components/core/menu-button.svelte.d.ts +46 -0
  41. package/package/components/core/menu-item-checkbox.svelte +24 -0
  42. package/package/components/core/menu-item-checkbox.svelte.d.ts +34 -0
  43. package/package/components/core/menu-item-radio.svelte +19 -0
  44. package/package/components/core/menu-item-radio.svelte.d.ts +34 -0
  45. package/package/components/core/menu-item.svelte +113 -0
  46. package/package/components/core/menu-item.svelte.d.ts +44 -0
  47. package/package/components/core/number-input.svelte +112 -0
  48. package/package/components/core/number-input.svelte.d.ts +42 -0
  49. package/package/components/core/option.svelte +65 -0
  50. package/package/components/core/option.svelte.d.ts +60 -0
  51. package/package/components/core/password-input.svelte +81 -0
  52. package/package/components/core/password-input.svelte.d.ts +36 -0
  53. package/package/components/core/radio-button.svelte +93 -0
  54. package/package/components/core/radio-button.svelte.d.ts +37 -0
  55. package/package/components/core/row-group.svelte +14 -0
  56. package/package/components/core/row-group.svelte.d.ts +29 -0
  57. package/package/components/core/row.svelte +14 -0
  58. package/package/components/core/row.svelte.d.ts +33 -0
  59. package/package/components/core/search-bar.svelte +91 -0
  60. package/package/components/core/search-bar.svelte.d.ts +49 -0
  61. package/package/components/core/select-button.svelte +31 -0
  62. package/package/components/core/select-button.svelte.d.ts +52 -0
  63. package/package/components/core/separator.svelte +28 -0
  64. package/package/components/core/separator.svelte.d.ts +26 -0
  65. package/package/components/core/slider.svelte +271 -0
  66. package/package/components/core/slider.svelte.d.ts +51 -0
  67. package/package/components/core/spacer.svelte +22 -0
  68. package/package/components/core/spacer.svelte.d.ts +25 -0
  69. package/package/components/core/switch.svelte +86 -0
  70. package/package/components/core/switch.svelte.d.ts +37 -0
  71. package/package/components/core/tab-panel.svelte +23 -0
  72. package/package/components/core/tab-panel.svelte.d.ts +33 -0
  73. package/package/components/core/tab.svelte +22 -0
  74. package/package/components/core/tab.svelte.d.ts +45 -0
  75. package/package/components/core/text-area.svelte +90 -0
  76. package/package/components/core/text-area.svelte.d.ts +57 -0
  77. package/package/components/core/text-input.svelte +146 -0
  78. package/package/components/core/text-input.svelte.d.ts +71 -0
  79. package/package/components/core/toolbar.svelte +74 -0
  80. package/package/components/core/toolbar.svelte.d.ts +35 -0
  81. package/package/components/editor/markdown.svelte +78 -0
  82. package/package/components/editor/markdown.svelte.d.ts +25 -0
  83. package/package/components/helpers/group.d.ts +37 -0
  84. package/package/components/helpers/group.js +246 -0
  85. package/package/components/helpers/popup.d.ts +31 -0
  86. package/package/components/helpers/popup.js +165 -0
  87. package/package/components/helpers/util.d.ts +1 -0
  88. package/package/components/helpers/util.js +8 -0
  89. package/package/components/util/app-shell.svelte +354 -0
  90. package/package/components/util/app-shell.svelte.d.ts +38 -0
  91. package/package/components/util/misc.d.ts +2 -0
  92. package/package/components/util/misc.js +22 -0
  93. package/package/components/util/popup.svelte +155 -0
  94. package/package/components/util/popup.svelte.d.ts +53 -0
  95. package/package/components/util/portal.svelte +34 -0
  96. package/package/components/util/portal.svelte.d.ts +28 -0
  97. package/package/index.d.ts +43 -0
  98. package/package/index.js +68 -0
  99. package/package/locales/en.d.ts +42 -0
  100. package/package/locales/en.js +41 -0
  101. package/package/locales/ja.d.ts +42 -0
  102. package/package/locales/ja.js +41 -0
  103. package/package/styles/core.scss +134 -0
  104. package/package/styles/variables.scss +184 -0
  105. package/package/typedef.d.ts +0 -0
  106. package/package/typedef.js +0 -0
  107. package/package.json +2 -3
@@ -0,0 +1,43 @@
1
+ export function initLocales({ fallbackLocale, initialLocale }?: object): void;
2
+ export { default as Calendar } from "./components/composite/calendar.svelte";
3
+ export { default as CheckboxGroup } from "./components/composite/checkbox-group.svelte";
4
+ export { default as Combobox } from "./components/composite/combobox.svelte";
5
+ export { default as Disclosure } from "./components/composite/disclosure.svelte";
6
+ export { default as Grid } from "./components/composite/grid.svelte";
7
+ export { default as Listbox } from "./components/composite/listbox.svelte";
8
+ export { default as MenuItemGroup } from "./components/composite/menu-item-group.svelte";
9
+ export { default as Menu } from "./components/composite/menu.svelte";
10
+ export { default as RadioButtonGroup } from "./components/composite/radio-button-group.svelte";
11
+ export { default as SelectButtonGroup } from "./components/composite/select-button-group.svelte";
12
+ export { default as Select } from "./components/composite/select.svelte";
13
+ export { default as TabList } from "./components/composite/tab-list.svelte";
14
+ export { default as Button } from "./components/core/button.svelte";
15
+ export { default as Checkbox } from "./components/core/checkbox.svelte";
16
+ export { default as Dialog } from "./components/core/dialog.svelte";
17
+ export { default as Drawer } from "./components/core/drawer.svelte";
18
+ export { default as GridCell } from "./components/core/grid-cell.svelte";
19
+ export { default as Group } from "./components/core/group.svelte";
20
+ export { default as Icon } from "./components/core/icon.svelte";
21
+ export { default as MenuButton } from "./components/core/menu-button.svelte";
22
+ export { default as MenuItemCheckbox } from "./components/core/menu-item-checkbox.svelte";
23
+ export { default as MenuItemRadio } from "./components/core/menu-item-radio.svelte";
24
+ export { default as MenuItem } from "./components/core/menu-item.svelte";
25
+ export { default as NumberInput } from "./components/core/number-input.svelte";
26
+ export { default as Option } from "./components/core/option.svelte";
27
+ export { default as PasswordInput } from "./components/core/password-input.svelte";
28
+ export { default as RadioButton } from "./components/core/radio-button.svelte";
29
+ export { default as RowGroup } from "./components/core/row-group.svelte";
30
+ export { default as Row } from "./components/core/row.svelte";
31
+ export { default as SearchBar } from "./components/core/search-bar.svelte";
32
+ export { default as SelectButton } from "./components/core/select-button.svelte";
33
+ export { default as Separator } from "./components/core/separator.svelte";
34
+ export { default as Slider } from "./components/core/slider.svelte";
35
+ export { default as Spacer } from "./components/core/spacer.svelte";
36
+ export { default as Switch } from "./components/core/switch.svelte";
37
+ export { default as TabPanel } from "./components/core/tab-panel.svelte";
38
+ export { default as Tab } from "./components/core/tab.svelte";
39
+ export { default as TextArea } from "./components/core/text-area.svelte";
40
+ export { default as TextInput } from "./components/core/text-input.svelte";
41
+ export { default as Toolbar } from "./components/core/toolbar.svelte";
42
+ export { default as MarkdownEditor } from "./components/editor/markdown.svelte";
43
+ export { default as AppShell } from "./components/util/app-shell.svelte";
@@ -0,0 +1,68 @@
1
+ import { addMessages, init } from 'svelte-i18n';
2
+
3
+ /**
4
+ * Load strings and initialize the locales.
5
+ * @param {object} [init] Initialize options.
6
+ * @see https://github.com/kaisermann/svelte-i18n/blob/main/docs/Getting%20Started.md
7
+ * @see https://vitejs.dev/guide/features.html#glob-import
8
+ */
9
+ export const initLocales = ({ fallbackLocale = 'en', initialLocale = 'en' } = {}) => {
10
+ const modules = import.meta.glob('./locales/*.js', { eager: true });
11
+
12
+ Object.entries(modules).forEach(([path, { strings }]) => {
13
+ const [, locale] = path.match(/([a-zA-Z-]+)\.js/);
14
+
15
+ // Add `_sui` suffix to avoid collision with app localization
16
+ addMessages(locale, { _sui: strings });
17
+ });
18
+
19
+ init({
20
+ fallbackLocale,
21
+ initialLocale,
22
+ });
23
+ };
24
+
25
+ initLocales();
26
+
27
+ export { default as Calendar } from './components/composite/calendar.svelte';
28
+ export { default as CheckboxGroup } from './components/composite/checkbox-group.svelte';
29
+ export { default as Combobox } from './components/composite/combobox.svelte';
30
+ export { default as Disclosure } from './components/composite/disclosure.svelte';
31
+ export { default as Grid } from './components/composite/grid.svelte';
32
+ export { default as Listbox } from './components/composite/listbox.svelte';
33
+ export { default as MenuItemGroup } from './components/composite/menu-item-group.svelte';
34
+ export { default as Menu } from './components/composite/menu.svelte';
35
+ export { default as RadioButtonGroup } from './components/composite/radio-button-group.svelte';
36
+ export { default as SelectButtonGroup } from './components/composite/select-button-group.svelte';
37
+ export { default as Select } from './components/composite/select.svelte';
38
+ export { default as TabList } from './components/composite/tab-list.svelte';
39
+ export { default as Button } from './components/core/button.svelte';
40
+ export { default as Checkbox } from './components/core/checkbox.svelte';
41
+ export { default as Dialog } from './components/core/dialog.svelte';
42
+ export { default as Drawer } from './components/core/drawer.svelte';
43
+ export { default as GridCell } from './components/core/grid-cell.svelte';
44
+ export { default as Group } from './components/core/group.svelte';
45
+ export { default as Icon } from './components/core/icon.svelte';
46
+ export { default as MenuButton } from './components/core/menu-button.svelte';
47
+ export { default as MenuItemCheckbox } from './components/core/menu-item-checkbox.svelte';
48
+ export { default as MenuItemRadio } from './components/core/menu-item-radio.svelte';
49
+ export { default as MenuItem } from './components/core/menu-item.svelte';
50
+ export { default as NumberInput } from './components/core/number-input.svelte';
51
+ export { default as Option } from './components/core/option.svelte';
52
+ export { default as PasswordInput } from './components/core/password-input.svelte';
53
+ export { default as RadioButton } from './components/core/radio-button.svelte';
54
+ export { default as RowGroup } from './components/core/row-group.svelte';
55
+ export { default as Row } from './components/core/row.svelte';
56
+ export { default as SearchBar } from './components/core/search-bar.svelte';
57
+ export { default as SelectButton } from './components/core/select-button.svelte';
58
+ export { default as Separator } from './components/core/separator.svelte';
59
+ export { default as Slider } from './components/core/slider.svelte';
60
+ export { default as Spacer } from './components/core/spacer.svelte';
61
+ export { default as Switch } from './components/core/switch.svelte';
62
+ export { default as TabPanel } from './components/core/tab-panel.svelte';
63
+ export { default as Tab } from './components/core/tab.svelte';
64
+ export { default as TextArea } from './components/core/text-area.svelte';
65
+ export { default as TextInput } from './components/core/text-input.svelte';
66
+ export { default as Toolbar } from './components/core/toolbar.svelte';
67
+ export { default as MarkdownEditor } from './components/editor/markdown.svelte';
68
+ export { default as AppShell } from './components/util/app-shell.svelte';
@@ -0,0 +1,42 @@
1
+ export namespace strings {
2
+ namespace _ {
3
+ const ok: string;
4
+ const cancel: string;
5
+ const close: string;
6
+ const clear: string;
7
+ const remove: string;
8
+ const collapse: string;
9
+ const expand: string;
10
+ }
11
+ namespace calendar {
12
+ const year: string;
13
+ const previous_decade: string;
14
+ const next_decade: string;
15
+ const month: string;
16
+ const previous_month: string;
17
+ const next_month: string;
18
+ const today: string;
19
+ }
20
+ namespace combobox {
21
+ const select_an_option: string;
22
+ }
23
+ namespace number_input {
24
+ const decrease: string;
25
+ const increase: string;
26
+ }
27
+ namespace password_input {
28
+ const show_password: string;
29
+ }
30
+ namespace markdown_editor {
31
+ const markdown_editor_1: string;
32
+ export { markdown_editor_1 as markdown_editor };
33
+ export const bold: string;
34
+ export const italic: string;
35
+ export const code: string;
36
+ export const link: string;
37
+ export const heading_x: string;
38
+ export const quote: string;
39
+ export const bulleted_list: string;
40
+ export const numbered_list: string;
41
+ }
42
+ }
@@ -0,0 +1,41 @@
1
+ export const strings = {
2
+ _: {
3
+ ok: 'OK',
4
+ cancel: 'Cancel',
5
+ close: 'Close',
6
+ clear: 'Clear',
7
+ remove: 'Remove',
8
+ collapse: 'Collapse',
9
+ expand: 'Expand',
10
+ },
11
+ calendar: {
12
+ year: 'Year',
13
+ previous_decade: 'Previous Decade',
14
+ next_decade: 'Next Decade',
15
+ month: 'Month',
16
+ previous_month: 'Previous Month',
17
+ next_month: 'Next Month',
18
+ today: 'Today',
19
+ },
20
+ combobox: {
21
+ select_an_option: 'Select an option…',
22
+ },
23
+ number_input: {
24
+ decrease: 'Decrease',
25
+ increase: 'Increase',
26
+ },
27
+ password_input: {
28
+ show_password: 'Show Password',
29
+ },
30
+ markdown_editor: {
31
+ markdown_editor: 'Markdown Editor',
32
+ bold: 'Bold',
33
+ italic: 'Italic',
34
+ code: 'Code',
35
+ link: 'Link',
36
+ heading_x: 'Heading {level}',
37
+ quote: 'Quote',
38
+ bulleted_list: 'Bulleted List',
39
+ numbered_list: 'Numbered List',
40
+ },
41
+ };
@@ -0,0 +1,42 @@
1
+ export namespace strings {
2
+ namespace _ {
3
+ const ok: string;
4
+ const cancel: string;
5
+ const close: string;
6
+ const clear: string;
7
+ const remove: string;
8
+ const collapse: string;
9
+ const expand: string;
10
+ }
11
+ namespace calendar {
12
+ const year: string;
13
+ const previous_decade: string;
14
+ const next_decade: string;
15
+ const month: string;
16
+ const previous_month: string;
17
+ const next_month: string;
18
+ const today: string;
19
+ }
20
+ namespace combobox {
21
+ const select_an_option: string;
22
+ }
23
+ namespace number_input {
24
+ const decrease: string;
25
+ const increase: string;
26
+ }
27
+ namespace password_input {
28
+ const show_password: string;
29
+ }
30
+ namespace markdown_editor {
31
+ const markdown_editor_1: string;
32
+ export { markdown_editor_1 as markdown_editor };
33
+ export const bold: string;
34
+ export const italic: string;
35
+ export const code: string;
36
+ export const link: string;
37
+ export const heading_x: string;
38
+ export const quote: string;
39
+ export const bulleted_list: string;
40
+ export const numbered_list: string;
41
+ }
42
+ }
@@ -0,0 +1,41 @@
1
+ export const strings = {
2
+ _: {
3
+ ok: 'OK',
4
+ cancel: 'キャンセル',
5
+ close: '閉じる',
6
+ clear: 'クリア',
7
+ remove: '削除',
8
+ collapse: '折り畳む',
9
+ expand: '広げる',
10
+ },
11
+ calendar: {
12
+ year: '年',
13
+ previous_decade: '前の 10 年',
14
+ next_decade: '次の 10 年',
15
+ month: '月',
16
+ previous_month: '前月',
17
+ next_month: '翌月',
18
+ today: '今日',
19
+ },
20
+ combobox: {
21
+ select_an_option: 'オプションを選択…',
22
+ },
23
+ number_input: {
24
+ decrease: '減らす',
25
+ increase: '増やす',
26
+ },
27
+ password_input: {
28
+ show_password: 'パスワードを表示',
29
+ },
30
+ markdown_editor: {
31
+ markdown_editor: 'Markdown エディター',
32
+ bold: '太字',
33
+ italic: '斜体',
34
+ code: 'コード',
35
+ link: 'リンク',
36
+ heading_x: '見出し {level}',
37
+ quote: '引用',
38
+ bulleted_list: '番号なしリスト',
39
+ numbered_list: '番号付きリスト',
40
+ },
41
+ };
@@ -0,0 +1,134 @@
1
+ @use "variables.scss";
2
+
3
+ // https://fonts.google.com/share?selection.family=Merriweather%20Sans:ital,wght@0,300;0,600;1,300%7CNoto%20Sans%20Mono
4
+ @import url("https://fonts.googleapis.com/css2?family=Merriweather+Sans:ital,wght@0,300;0,600;1,300&family=Noto+Sans+Mono&display=swap");
5
+ // https://fonts.google.com/icons?icon.set=Material+Symbols
6
+ // Use `font-display: block;` @see https://stackoverflow.com/q/41710834
7
+ @import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block");
8
+
9
+ .material-symbols-outlined {
10
+ font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
11
+ }
12
+
13
+ * {
14
+ scroll-behavior: smooth;
15
+ box-sizing: border-box;
16
+ border-width: 0;
17
+ border-style: solid;
18
+ }
19
+
20
+ :focus {
21
+ z-index: 1;
22
+ outline-width: 0;
23
+ }
24
+
25
+ :focus-visible {
26
+ outline-offset: -2px;
27
+ outline-width: 2px !important;
28
+ outline-style: solid;
29
+ outline-color: hsl(var(--hue) 100% 50% / 25%);
30
+ }
31
+
32
+ h1,
33
+ h2,
34
+ h3,
35
+ h4,
36
+ h5,
37
+ h6 {
38
+ margin: 0;
39
+ font-weight: var(--font-weight--bold);
40
+ }
41
+
42
+ strong {
43
+ font-weight: var(--font-weight--bold);
44
+ }
45
+
46
+ a {
47
+ color: var(--primary-accent-color-lighter);
48
+ text-decoration: none;
49
+ }
50
+
51
+ img,
52
+ svg,
53
+ iframe {
54
+ vertical-align: top;
55
+ }
56
+
57
+ button,
58
+ input,
59
+ textarea,
60
+ select,
61
+ option {
62
+ font-family: inherit;
63
+ font-size: inherit;
64
+ color: inherit;
65
+ }
66
+
67
+ p,
68
+ li {
69
+ line-height: 1.75;
70
+ }
71
+
72
+ [role="grid"] {
73
+ display: table;
74
+ width: 100%;
75
+
76
+ .colgroup {
77
+ display: table-column-group;
78
+
79
+ .col {
80
+ display: table-column;
81
+ }
82
+ }
83
+ }
84
+
85
+ code,
86
+ pre {
87
+ font-family: var(--font-family--monospace);
88
+ }
89
+
90
+ pre {
91
+ line-height: 1.5;
92
+ -webkit-user-select: text;
93
+ user-select: text;
94
+ }
95
+
96
+ dialog {
97
+ position: fixed;
98
+ inset: 0;
99
+ outline: 0;
100
+ margin: 0;
101
+ border: 0;
102
+ padding: 0;
103
+ width: 100%;
104
+ max-width: 100%;
105
+ height: 100%;
106
+ max-height: 100%;
107
+ color: inherit;
108
+ background: transparent;
109
+ -webkit-user-select: none;
110
+ user-select: none;
111
+ touch-action: none;
112
+ cursor: default;
113
+
114
+ &::backdrop {
115
+ background: transparent;
116
+ }
117
+ }
118
+
119
+ .thead[role="rowgroup"] {
120
+ display: table-header-group;
121
+ }
122
+
123
+ .tbody[role="rowgroup"] {
124
+ display: table-row-group;
125
+ }
126
+
127
+ [role="row"] {
128
+ display: table-row;
129
+ }
130
+
131
+ [role="columnheader"],
132
+ [role="gridcell"] {
133
+ display: table-cell;
134
+ }
@@ -0,0 +1,184 @@
1
+ :root[data-theme="light"] {
2
+ --foreground-color-1-hsl: var(--base-hue) 5% 0%; // highlight
3
+ --foreground-color-2-hsl: var(--base-hue) 5% 20%; // primary
4
+ --foreground-color-3-hsl: var(--base-hue) 5% 40%; // secondary
5
+ --foreground-color-4-hsl: var(--base-hue) 5% 60%; // tertiary
6
+ --border-color-1-hsl: var(--base-hue) 5% 75%; // primary
7
+ --border-color-2-hsl: var(--base-hue) 5% 80%; // secondary/input
8
+ --background-color-1-hsl: var(--base-hue) 5% 100%; // content/input
9
+ --background-color-2-hsl: var(--base-hue) 5% 98%; // primary
10
+ --background-color-3-hsl: var(--base-hue) 5% 94%; // secondary
11
+ --background-color-4-hsl: var(--base-hue) 5% 90%; // tertiary/disabled
12
+ --background-color-5-hsl: var(--base-hue) 5% 86%; // highlight
13
+ --shadow-color: var(--base-hue) 10% 0%;
14
+ // Accents
15
+ --primary-accent-color: hsl(var(--base-hue) 80% 45%);
16
+ --primary-accent-color-lighter: hsl(var(--base-hue) 80% 40%);
17
+ --primary-accent-color-darker: hsl(var(--base-hue) 80% 50%);
18
+ --primary-accent-color-foreground: hsl(var(--base-hue) 10% 100%); // white/inverted
19
+ // Alerts
20
+ --danger-color-hue: 0;
21
+ --warning-color-hue: 40;
22
+ --success-color-hue: 100;
23
+ --info-color-hue: 220;
24
+ --alert-foreground-color-saturation: 88%;
25
+ --alert-foreground-color-lightness: 28%;
26
+ --alert-background-color-saturation: 68%;
27
+ --alert-background-color-lightness: 88%;
28
+ --alert-border-color-saturation: 48%;
29
+ --alert-border-color-lightness: 68%;
30
+ }
31
+
32
+ :root[data-theme="dark"] {
33
+ --foreground-color-1-hsl: var(--base-hue) 10% 100%; // highlight
34
+ --foreground-color-2-hsl: var(--base-hue) 10% 80%; // primary
35
+ --foreground-color-3-hsl: var(--base-hue) 10% 60%; // secondary
36
+ --foreground-color-4-hsl: var(--base-hue) 10% 40%; // tertiary
37
+ --border-color-1-hsl: var(--base-hue) 10% 28%; // primary
38
+ --border-color-2-hsl: var(--base-hue) 10% 24%; // secondary/input
39
+ --background-color-1-hsl: var(--base-hue) 10% 10%; // content/input
40
+ --background-color-2-hsl: var(--base-hue) 10% 12%; // primary
41
+ --background-color-3-hsl: var(--base-hue) 10% 16%; // secondary
42
+ --background-color-4-hsl: var(--base-hue) 10% 20%; // tertiary/disabled
43
+ --background-color-5-hsl: var(--base-hue) 10% 24%; // highlight
44
+ --shadow-color: var(--base-hue) 10% 0%;
45
+ // Accents
46
+ --primary-accent-color: hsl(var(--base-hue) 100% 45%); // 4.57 AA w/ #FFF foreground color
47
+ --primary-accent-color-lighter: hsl(var(--base-hue) 100% 55%);
48
+ --primary-accent-color-darker: hsl(var(--base-hue) 100% 35%);
49
+ --primary-accent-color-foreground: hsl(var(--base-hue) 10% 100%); // white
50
+ // Alerts
51
+ --danger-color-hue: 0;
52
+ --warning-color-hue: 40;
53
+ --success-color-hue: 100;
54
+ --info-color-hue: 220;
55
+ --alert-foreground-color-saturation: 48%;
56
+ --alert-foreground-color-lightness: 68%;
57
+ --alert-background-color-saturation: 88%;
58
+ --alert-background-color-lightness: 8%;
59
+ --alert-border-color-saturation: 38%;
60
+ --alert-border-color-lightness: 18%;
61
+ }
62
+
63
+ :root {
64
+ // Base HSL values
65
+ --base-hue: 210;
66
+ // Foreground
67
+ --highlight-foreground-color: hsl(var(--foreground-color-1-hsl));
68
+ --primary-foreground-color: hsl(var(--foreground-color-2-hsl));
69
+ --secondary-foreground-color: hsl(var(--foreground-color-3-hsl));
70
+ --tertiary-foreground-color: hsl(var(--foreground-color-3-hsl));
71
+ --disabled-foreground-color: hsl(var(--foreground-color-4-hsl));
72
+ --danger-foreground-color: hsl(
73
+ var(--danger-color-hue) var(--alert-foreground-color-saturation)
74
+ var(--alert-foreground-color-lightness)
75
+ );
76
+ --warning-foreground-color: hsl(
77
+ var(--warning-color-hue) var(--alert-foreground-color-saturation)
78
+ var(--alert-foreground-color-lightness)
79
+ );
80
+ --success-foreground-color: hsl(
81
+ var(--success-color-hue) var(--alert-foreground-color-saturation)
82
+ var(--alert-foreground-color-lightness)
83
+ );
84
+ --info-foreground-color: hsl(
85
+ var(--info-color-hue) var(--alert-foreground-color-saturation)
86
+ var(--alert-foreground-color-lightness)
87
+ );
88
+ // Background
89
+ --highlight-background-color: hsl(var(--background-color-5-hsl));
90
+ --content-background-color: hsl(var(--background-color-1-hsl));
91
+ --primary-background-color: hsl(var(--background-color-2-hsl));
92
+ --primary-background-color-translucent: hsl(var(--background-color-2-hsl) / 80%);
93
+ --secondary-background-color: hsl(var(--background-color-3-hsl));
94
+ --secondary-background-color-translucent: hsl(var(--background-color-3-hsl) / 80%);
95
+ --tertiary-background-color: hsl(var(--background-color-4-hsl));
96
+ --tertiary-background-color-translucent: hsl(var(--background-color-4-hsl) / 80%);
97
+ --control-background-color: hsl(var(--background-color-1-hsl));
98
+ --disabled-background-color: hsl(var(--background-color-4-hsl));
99
+ --danger-background-color: hsl(
100
+ var(--danger-color-hue) var(--alert-background-color-saturation)
101
+ var(--alert-background-color-lightness)
102
+ );
103
+ --warning-background-color: hsl(
104
+ var(--warning-color-hue) var(--alert-background-color-saturation)
105
+ var(--alert-background-color-lightness)
106
+ );
107
+ --success-background-color: hsl(
108
+ var(--success-color-hue) var(--alert-background-color-saturation)
109
+ var(--alert-background-color-lightness)
110
+ );
111
+ --info-background-color: hsl(
112
+ var(--info-color-hue) var(--alert-background-color-saturation)
113
+ var(--alert-background-color-lightness)
114
+ );
115
+ // Borders
116
+ --primary-border-color: hsl(var(--border-color-1-hsl));
117
+ --secondary-border-color: hsl(var(--border-color-2-hsl));
118
+ --control-border-color: hsl(var(--border-color-2-hsl));
119
+ --danger-border-color: hsl(
120
+ var(--danger-color-hue) var(--alert-border-color-saturation) var(--alert-border-color-lightness)
121
+ );
122
+ --warning-border-color: hsl(
123
+ var(--warning-color-hue) var(--alert-border-color-saturation)
124
+ var(--alert-border-color-lightness)
125
+ );
126
+ --success-border-color: hsl(
127
+ var(--success-color-hue) var(--alert-border-color-saturation)
128
+ var(--alert-border-color-lightness)
129
+ );
130
+ --info-border-color: hsl(
131
+ var(--info-color-hue) var(--alert-border-color-saturation) var(--alert-border-color-lightness)
132
+ );
133
+ // Shadows
134
+ --popup-shadow-color: hsl(var(--shadow-color) / 40%);
135
+ --popup-backdrop-color: hsl(var(--shadow-color) / 40%);
136
+ // Fonts
137
+ --font-family--default: "Merriweather Sans", sans-serif;
138
+ --font-size--xxx-large: 24px;
139
+ --font-size--xx-large: 20px;
140
+ --font-size--x-large: 18px;
141
+ --font-size--large: 16px;
142
+ --font-size--default: 14px;
143
+ --font-size--small: 12px;
144
+ --font-size--x-small: 10px;
145
+ --font-weight--normal: 300;
146
+ --font-weight--bold: 600;
147
+ --font-family--monospace: "Noto Sans Mono", monospace;
148
+ --font-size--monospace: 13px;
149
+ // Controls
150
+ --control--small--border-width: 1px;
151
+ --control--small--border-radius: 2px;
152
+ --control--small--height: 24px;
153
+ --control--medium--border-width: 1px;
154
+ --control--medium--border-radius: 4px;
155
+ --control--medium--height: 32px;
156
+ --control--large--border-width: 1px;
157
+ --control--large--border-radius: 8px;
158
+ --control--large--height: 40px;
159
+ // Buttons
160
+ --button--small--border-radius: var(--control--small--border-radius);
161
+ --button--small--height: var(--control--small--height);
162
+ --button--medium--border-radius: var(--control--medium--border-radius);
163
+ --button--medium--height: var(--control--medium--height);
164
+ --button--large--border-radius: var(--control--large--border-radius);
165
+ --button--large--height: var(--control--large--height);
166
+ // Options & menu items
167
+ --option--small--border-radius: var(--control--small--border-radius);
168
+ --option--small--height: var(--control--small--height);
169
+ --option--medium--border-radius: var(--control--medium--border-radius);
170
+ --option--medium--height: var(--control--medium--height);
171
+ --option--large--border-radius: var(--control--large--border-radius);
172
+ --option--large--height: var(--control--large--height);
173
+ // Input
174
+ --input--small--border-radius: var(--control--small--border-radius);
175
+ --input--small--height: var(--control--small--height);
176
+ --input--medium--border-radius: var(--control--medium--border-radius);
177
+ --input--medium--height: var(--control--medium--height);
178
+ --input--large--border-radius: var(--control--large--border-radius);
179
+ --input--large--height: var(--control--large--height);
180
+ // Tab
181
+ --tab--small--height: var(--control--small--height);
182
+ --tab--medium--height: var(--control--medium--height);
183
+ --tab--large--height: var(--control--large--height);
184
+ }
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltia/ui",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -11,7 +11,7 @@
11
11
  "build": "svelte-kit sync && svelte-package -o package",
12
12
  "build:watch": "svelte-kit sync && svelte-package -o package --watch",
13
13
  "preview": "vite preview",
14
- "prepublishOnly": "vite build",
14
+ "prepublishOnly": "npm run build",
15
15
  "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
16
16
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch",
17
17
  "format": "prettier --plugin-search-dir . --write .",
@@ -317,7 +317,6 @@
317
317
  "files": [
318
318
  "package"
319
319
  ],
320
- "svelte": "./package/index.js",
321
320
  "typesVersions": {
322
321
  ">4.0": {
323
322
  "components/composite/calendar.svelte": [