@moni-labs/moni-ui 0.2.0 → 0.3.1
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/README.md +52 -194
- package/custom-elements.json +1709 -338
- package/dist/actions/index.d.ts +6 -0
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +6 -0
- package/dist/components/_base/field-styles.d.ts +51 -16
- package/dist/components/_base/field-styles.d.ts.map +1 -1
- package/dist/components/_base/field-styles.js +164 -36
- package/dist/components/_base/index.d.ts +25 -0
- package/dist/components/_base/index.d.ts.map +1 -1
- package/dist/components/_base/index.js +25 -0
- package/dist/components/_base/interaction-styles.d.ts +39 -12
- package/dist/components/_base/interaction-styles.d.ts.map +1 -1
- package/dist/components/_base/interaction-styles.js +85 -33
- package/dist/components/_base/moni-element.d.ts +43 -8
- package/dist/components/_base/moni-element.d.ts.map +1 -1
- package/dist/components/_base/moni-element.js +43 -8
- package/dist/components/_base/shared-styles.d.ts +41 -17
- package/dist/components/_base/shared-styles.d.ts.map +1 -1
- package/dist/components/_base/shared-styles.js +113 -21
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +6 -0
- package/dist/components/loading-shapes.d.ts +6 -0
- package/dist/components/loading-shapes.d.ts.map +1 -1
- package/dist/components/loading-shapes.js +6 -0
- package/dist/components/moni-app-bar.d.ts +128 -33
- package/dist/components/moni-app-bar.d.ts.map +1 -1
- package/dist/components/moni-app-bar.js +121 -26
- package/dist/components/moni-badge.d.ts +122 -14
- package/dist/components/moni-badge.d.ts.map +1 -1
- package/dist/components/moni-badge.js +122 -14
- package/dist/components/moni-bottom-sheet.d.ts +120 -15
- package/dist/components/moni-bottom-sheet.d.ts.map +1 -1
- package/dist/components/moni-bottom-sheet.js +116 -12
- package/dist/components/moni-button-group.d.ts +53 -27
- package/dist/components/moni-button-group.d.ts.map +1 -1
- package/dist/components/moni-button-group.js +49 -23
- package/dist/components/moni-button-segment.d.ts +28 -8
- package/dist/components/moni-button-segment.d.ts.map +1 -1
- package/dist/components/moni-button-segment.js +27 -7
- package/dist/components/moni-button.d.ts +51 -32
- package/dist/components/moni-button.d.ts.map +1 -1
- package/dist/components/moni-button.js +50 -31
- package/dist/components/moni-card.d.ts +91 -31
- package/dist/components/moni-card.d.ts.map +1 -1
- package/dist/components/moni-card.js +86 -26
- package/dist/components/moni-carousel.d.ts +80 -17
- package/dist/components/moni-carousel.d.ts.map +1 -1
- package/dist/components/moni-carousel.js +258 -34
- package/dist/components/moni-checkbox.d.ts +122 -17
- package/dist/components/moni-checkbox.d.ts.map +1 -1
- package/dist/components/moni-checkbox.js +118 -14
- package/dist/components/moni-chip.d.ts +56 -30
- package/dist/components/moni-chip.d.ts.map +1 -1
- package/dist/components/moni-chip.js +51 -25
- package/dist/components/moni-color-field.d.ts +44 -6
- package/dist/components/moni-color-field.d.ts.map +1 -1
- package/dist/components/moni-color-field.js +43 -5
- package/dist/components/moni-context-menu.d.ts +44 -22
- package/dist/components/moni-context-menu.d.ts.map +1 -1
- package/dist/components/moni-context-menu.js +43 -21
- package/dist/components/moni-dialog.d.ts +107 -15
- package/dist/components/moni-dialog.d.ts.map +1 -1
- package/dist/components/moni-dialog.js +105 -14
- package/dist/components/moni-divider.d.ts +50 -15
- package/dist/components/moni-divider.d.ts.map +1 -1
- package/dist/components/moni-divider.js +49 -14
- package/dist/components/moni-expansion.d.ts +44 -8
- package/dist/components/moni-expansion.d.ts.map +1 -1
- package/dist/components/moni-expansion.js +43 -7
- package/dist/components/moni-fab-menu.d.ts +39 -20
- package/dist/components/moni-fab-menu.d.ts.map +1 -1
- package/dist/components/moni-fab-menu.js +38 -19
- package/dist/components/moni-fab.d.ts +49 -23
- package/dist/components/moni-fab.d.ts.map +1 -1
- package/dist/components/moni-fab.js +46 -20
- package/dist/components/moni-file-field.d.ts +54 -14
- package/dist/components/moni-file-field.d.ts.map +1 -1
- package/dist/components/moni-file-field.js +53 -13
- package/dist/components/moni-icon.d.ts +78 -11
- package/dist/components/moni-icon.d.ts.map +1 -1
- package/dist/components/moni-icon.js +77 -10
- package/dist/components/moni-list-item.d.ts +61 -30
- package/dist/components/moni-list-item.d.ts.map +1 -1
- package/dist/components/moni-list-item.js +55 -24
- package/dist/components/moni-list.d.ts +37 -13
- package/dist/components/moni-list.d.ts.map +1 -1
- package/dist/components/moni-list.js +36 -12
- package/dist/components/moni-loading-indicator.d.ts +38 -11
- package/dist/components/moni-loading-indicator.d.ts.map +1 -1
- package/dist/components/moni-loading-indicator.js +37 -10
- package/dist/components/moni-menu-item.d.ts +31 -8
- package/dist/components/moni-menu-item.d.ts.map +1 -1
- package/dist/components/moni-menu-item.js +30 -7
- package/dist/components/moni-menu.d.ts +58 -33
- package/dist/components/moni-menu.d.ts.map +1 -1
- package/dist/components/moni-menu.js +51 -26
- package/dist/components/moni-morph-modal.d.ts +7 -1
- package/dist/components/moni-morph-modal.d.ts.map +1 -1
- package/dist/components/moni-morph-modal.js +46 -24
- package/dist/components/moni-nav-item.d.ts +50 -10
- package/dist/components/moni-nav-item.d.ts.map +1 -1
- package/dist/components/moni-nav-item.js +48 -8
- package/dist/components/moni-nav.d.ts +57 -22
- package/dist/components/moni-nav.d.ts.map +1 -1
- package/dist/components/moni-nav.js +53 -18
- package/dist/components/moni-progress.d.ts +108 -20
- package/dist/components/moni-progress.d.ts.map +1 -1
- package/dist/components/moni-progress.js +104 -16
- package/dist/components/moni-radio.d.ts +106 -14
- package/dist/components/moni-radio.d.ts.map +1 -1
- package/dist/components/moni-radio.js +104 -13
- package/dist/components/moni-ripple.d.ts +121 -10
- package/dist/components/moni-ripple.d.ts.map +1 -1
- package/dist/components/moni-ripple.js +120 -9
- package/dist/components/moni-segmented-button.d.ts +31 -11
- package/dist/components/moni-segmented-button.d.ts.map +1 -1
- package/dist/components/moni-segmented-button.js +30 -10
- package/dist/components/moni-select-option.d.ts +43 -9
- package/dist/components/moni-select-option.d.ts.map +1 -1
- package/dist/components/moni-select-option.js +41 -7
- package/dist/components/moni-select.d.ts +59 -2
- package/dist/components/moni-select.d.ts.map +1 -1
- package/dist/components/moni-select.js +58 -1
- package/dist/components/moni-shape.d.ts +1 -1
- package/dist/components/moni-side-sheet.d.ts +56 -19
- package/dist/components/moni-side-sheet.d.ts.map +1 -1
- package/dist/components/moni-side-sheet.js +53 -16
- package/dist/components/moni-slider.d.ts +56 -25
- package/dist/components/moni-slider.d.ts.map +1 -1
- package/dist/components/moni-slider.js +55 -24
- package/dist/components/moni-snackbar.d.ts +86 -17
- package/dist/components/moni-snackbar.d.ts.map +1 -1
- package/dist/components/moni-snackbar.js +85 -16
- package/dist/components/moni-split-button.d.ts +38 -9
- package/dist/components/moni-split-button.d.ts.map +1 -1
- package/dist/components/moni-split-button.js +37 -8
- package/dist/components/moni-step.d.ts +42 -9
- package/dist/components/moni-step.d.ts.map +1 -1
- package/dist/components/moni-step.js +41 -8
- package/dist/components/moni-stepper.d.ts +43 -6
- package/dist/components/moni-stepper.d.ts.map +1 -1
- package/dist/components/moni-stepper.js +42 -5
- package/dist/components/moni-switch.d.ts +103 -16
- package/dist/components/moni-switch.d.ts.map +1 -1
- package/dist/components/moni-switch.js +99 -13
- package/dist/components/moni-tab.d.ts +35 -8
- package/dist/components/moni-tab.d.ts.map +1 -1
- package/dist/components/moni-tab.js +34 -7
- package/dist/components/moni-tabs.d.ts +51 -13
- package/dist/components/moni-tabs.d.ts.map +1 -1
- package/dist/components/moni-tabs.js +48 -10
- package/dist/components/moni-text-field.d.ts +55 -10
- package/dist/components/moni-text-field.d.ts.map +1 -1
- package/dist/components/moni-text-field.js +54 -9
- package/dist/components/moni-textarea.d.ts +51 -21
- package/dist/components/moni-textarea.d.ts.map +1 -1
- package/dist/components/moni-textarea.js +48 -18
- package/dist/components/moni-time-picker.d.ts +41 -11
- package/dist/components/moni-time-picker.d.ts.map +1 -1
- package/dist/components/moni-time-picker.js +40 -10
- package/dist/components/moni-toolbar.d.ts +43 -15
- package/dist/components/moni-toolbar.d.ts.map +1 -1
- package/dist/components/moni-toolbar.js +42 -14
- package/dist/components/moni-tooltip.d.ts +55 -25
- package/dist/components/moni-tooltip.d.ts.map +1 -1
- package/dist/components/moni-tooltip.js +54 -24
- package/dist/components/moni-typography.d.ts +43 -18
- package/dist/components/moni-typography.d.ts.map +1 -1
- package/dist/components/moni-typography.js +42 -17
- package/dist/index.d.ts +47 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -2
- package/dist/styles/tailwind.css +67 -0
- package/dist/styles/tokens.css +111 -99
- package/dist/utils/color.d.ts +181 -2
- package/dist/utils/color.d.ts.map +1 -1
- package/dist/utils/color.js +182 -4
- package/dist/utils/theme.svelte.d.ts +305 -2
- package/dist/utils/theme.svelte.d.ts.map +1 -1
- package/dist/utils/theme.svelte.js +331 -2
- package/dist/web-components.d.ts +28 -0
- package/dist/web-components.d.ts.map +1 -1
- package/dist/web-components.js +29 -2
- package/package.json +1 -1
- package/src/actions/index.ts +7 -0
- package/src/components/_base/field-styles.ts +165 -37
- package/src/components/_base/index.ts +27 -0
- package/src/components/_base/interaction-styles.ts +86 -33
- package/src/components/_base/moni-element.ts +44 -8
- package/src/components/_base/shared-styles.ts +114 -21
- package/src/components/index.ts +7 -0
- package/src/components/loading-shapes.ts +7 -0
- package/src/components/moni-app-bar.ts +127 -26
- package/src/components/moni-badge.ts +128 -14
- package/src/components/moni-bottom-sheet.ts +125 -13
- package/src/components/moni-button-group.ts +50 -23
- package/src/components/moni-button-segment.ts +28 -7
- package/src/components/moni-button.ts +51 -31
- package/src/components/moni-card.ts +90 -26
- package/src/components/moni-carousel.ts +282 -34
- package/src/components/moni-checkbox.ts +125 -14
- package/src/components/moni-chip.ts +52 -25
- package/src/components/moni-color-field.ts +44 -5
- package/src/components/moni-context-menu.ts +44 -21
- package/src/components/moni-dialog.ts +111 -14
- package/src/components/moni-divider.ts +50 -14
- package/src/components/moni-expansion.ts +44 -7
- package/src/components/moni-fab-menu.ts +39 -19
- package/src/components/moni-fab.ts +47 -20
- package/src/components/moni-file-field.ts +54 -13
- package/src/components/moni-icon.ts +80 -10
- package/src/components/moni-list-item.ts +56 -24
- package/src/components/moni-list.ts +37 -12
- package/src/components/moni-loading-indicator.ts +38 -10
- package/src/components/moni-menu-item.ts +31 -7
- package/src/components/moni-menu.ts +52 -26
- package/src/components/moni-morph-modal.ts +58 -24
- package/src/components/moni-nav-item.ts +49 -8
- package/src/components/moni-nav.ts +54 -18
- package/src/components/moni-progress.ts +109 -16
- package/src/components/moni-radio.ts +111 -13
- package/src/components/moni-ripple.ts +126 -9
- package/src/components/moni-segmented-button.ts +31 -10
- package/src/components/moni-select-option.ts +42 -7
- package/src/components/moni-select.ts +79 -1
- package/src/components/moni-side-sheet.ts +54 -16
- package/src/components/moni-slider.ts +56 -24
- package/src/components/moni-snackbar.ts +90 -16
- package/src/components/moni-split-button.ts +38 -8
- package/src/components/moni-step.ts +42 -8
- package/src/components/moni-stepper.ts +43 -5
- package/src/components/moni-switch.ts +106 -13
- package/src/components/moni-tab.ts +35 -7
- package/src/components/moni-tabs.ts +49 -10
- package/src/components/moni-text-field.ts +55 -9
- package/src/components/moni-textarea.ts +49 -18
- package/src/components/moni-time-picker.ts +41 -10
- package/src/components/moni-toolbar.ts +43 -14
- package/src/components/moni-tooltip.ts +55 -24
- package/src/components/moni-typography.ts +43 -17
- package/src/index.ts +67 -3
- package/src/styles/tailwind.css +67 -0
- package/src/styles/tokens.css +111 -99
- package/src/types/svelte-runes.d.ts +64 -2
- package/src/utils/color.ts +286 -5
- package/src/utils/theme.svelte.ts +411 -2
- package/src/web-components.ts +31 -2
- package/dist/assets/shapes/arch.svg +0 -1
- package/dist/assets/shapes/arrow.svg +0 -1
- package/dist/assets/shapes/boom.svg +0 -1
- package/dist/assets/shapes/burst.svg +0 -1
- package/dist/assets/shapes/circle.svg +0 -1
- package/dist/assets/shapes/clamshell.svg +0 -1
- package/dist/assets/shapes/diamond.svg +0 -1
- package/dist/assets/shapes/fan.svg +0 -1
- package/dist/assets/shapes/flower.svg +0 -1
- package/dist/assets/shapes/gem.svg +0 -1
- package/dist/assets/shapes/ghost-ish.svg +0 -1
- package/dist/assets/shapes/heart.svg +0 -1
- package/dist/assets/shapes/leaf-clover4.svg +0 -1
- package/dist/assets/shapes/leaf-clover8.svg +0 -1
- package/dist/assets/shapes/loading-indicator.svg +0 -1
- package/dist/assets/shapes/oval.svg +0 -1
- package/dist/assets/shapes/pentagon.svg +0 -1
- package/dist/assets/shapes/pill.svg +0 -1
- package/dist/assets/shapes/pixel-circle.svg +0 -1
- package/dist/assets/shapes/pixel-triangle.svg +0 -1
- package/dist/assets/shapes/puffy-diamond.svg +0 -1
- package/dist/assets/shapes/puffy.svg +0 -1
- package/dist/assets/shapes/semicircle.svg +0 -1
- package/dist/assets/shapes/sided-cookie12.svg +0 -1
- package/dist/assets/shapes/sided-cookie4.svg +0 -1
- package/dist/assets/shapes/sided-cookie6.svg +0 -1
- package/dist/assets/shapes/sided-cookie7.svg +0 -1
- package/dist/assets/shapes/sided-cookie9.svg +0 -1
- package/dist/assets/shapes/slanted.svg +0 -1
- package/dist/assets/shapes/soft-boom.svg +0 -1
- package/dist/assets/shapes/soft-burst.svg +0 -1
- package/dist/assets/shapes/square.svg +0 -1
- package/dist/assets/shapes/sunny.svg +0 -1
- package/dist/assets/shapes/triangle.svg +0 -1
- package/dist/assets/shapes/very-sunny.svg +0 -1
- package/dist/assets/shapes/wavy-circle.svg +0 -1
- package/dist/assets/shapes/wavy.svg +0 -1
- package/src/assets/shapes/arch.svg +0 -1
- package/src/assets/shapes/arrow.svg +0 -1
- package/src/assets/shapes/boom.svg +0 -1
- package/src/assets/shapes/burst.svg +0 -1
- package/src/assets/shapes/circle.svg +0 -1
- package/src/assets/shapes/clamshell.svg +0 -1
- package/src/assets/shapes/diamond.svg +0 -1
- package/src/assets/shapes/fan.svg +0 -1
- package/src/assets/shapes/flower.svg +0 -1
- package/src/assets/shapes/gem.svg +0 -1
- package/src/assets/shapes/ghost-ish.svg +0 -1
- package/src/assets/shapes/heart.svg +0 -1
- package/src/assets/shapes/leaf-clover4.svg +0 -1
- package/src/assets/shapes/leaf-clover8.svg +0 -1
- package/src/assets/shapes/loading-indicator.svg +0 -1
- package/src/assets/shapes/oval.svg +0 -1
- package/src/assets/shapes/pentagon.svg +0 -1
- package/src/assets/shapes/pill.svg +0 -1
- package/src/assets/shapes/pixel-circle.svg +0 -1
- package/src/assets/shapes/pixel-triangle.svg +0 -1
- package/src/assets/shapes/puffy-diamond.svg +0 -1
- package/src/assets/shapes/puffy.svg +0 -1
- package/src/assets/shapes/semicircle.svg +0 -1
- package/src/assets/shapes/sided-cookie12.svg +0 -1
- package/src/assets/shapes/sided-cookie4.svg +0 -1
- package/src/assets/shapes/sided-cookie6.svg +0 -1
- package/src/assets/shapes/sided-cookie7.svg +0 -1
- package/src/assets/shapes/sided-cookie9.svg +0 -1
- package/src/assets/shapes/slanted.svg +0 -1
- package/src/assets/shapes/soft-boom.svg +0 -1
- package/src/assets/shapes/soft-burst.svg +0 -1
- package/src/assets/shapes/square.svg +0 -1
- package/src/assets/shapes/sunny.svg +0 -1
- package/src/assets/shapes/triangle.svg +0 -1
- package/src/assets/shapes/very-sunny.svg +0 -1
- package/src/assets/shapes/wavy-circle.svg +0 -1
- package/src/assets/shapes/wavy.svg +0 -1
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file components/moni-textarea.ts
|
|
3
|
+
* @package @moni-labs/moni-ui
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @contributors Moni Labs & Contributors
|
|
6
|
+
*/
|
|
7
|
+
|
|
1
8
|
import { html, nothing } from 'lit';
|
|
2
9
|
import { customElement, property, query } from 'lit/decorators.js';
|
|
3
10
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
@@ -7,26 +14,50 @@ import './moni-icon.js';
|
|
|
7
14
|
import './moni-progress.js';
|
|
8
15
|
|
|
9
16
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
17
|
+
* Material Design 3 Textarea component.
|
|
18
|
+
*
|
|
19
|
+
* A multi-line text input field designed for collecting longer amounts of text,
|
|
20
|
+
* such as comments, descriptions, or messages.
|
|
21
|
+
*
|
|
22
|
+
* **M3 spec reference:** `m3-docs/components/text-fields/specs.md`
|
|
23
|
+
*
|
|
24
|
+
* **Visual architecture:**
|
|
25
|
+
* It shares the exact same `.field` shell and styling engine as
|
|
26
|
+
* `<moni-text-field>`, but internally renders a native `<textarea>` instead
|
|
27
|
+
* of an `<input>`. This ensures visual consistency across all form elements
|
|
28
|
+
* regarding floating labels, helper text, error states, and icons.
|
|
29
|
+
*
|
|
30
|
+
* **Character Counter:**
|
|
31
|
+
* If the `maxlength` attribute is set, the textarea automatically displays
|
|
32
|
+
* a character counter (`{current length} / {maxlength}`) positioned at the
|
|
33
|
+
* trailing edge of the supporting text area (bottom right). This can be
|
|
34
|
+
* suppressed by setting the `no-counter` attribute.
|
|
35
|
+
*
|
|
36
|
+
* **State management:**
|
|
37
|
+
* This component is purely visual and presentational. It reflects attributes
|
|
38
|
+
* down to the native textarea, but it does NOT attach internal `@input` or
|
|
39
|
+
* `@change` listeners. Consumers should attach standard DOM listeners directly
|
|
40
|
+
* to this element to capture user input, just as they would with a native
|
|
41
|
+
* textarea.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```html
|
|
45
|
+
* <!-- Standard filled textarea -->
|
|
46
|
+
* <moni-textarea label="Description" rows="4"></moni-textarea>
|
|
12
47
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
48
|
+
* <!-- Outlined textarea with character counter -->
|
|
49
|
+
* <moni-textarea
|
|
50
|
+
* variant="outlined"
|
|
51
|
+
* label="Bio"
|
|
52
|
+
* maxlength="160"
|
|
53
|
+
* ></moni-textarea>
|
|
54
|
+
* ```
|
|
17
55
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* - prefix: short text rendered before the input (e.g. "https://")
|
|
24
|
-
* - suffix: short text rendered after the input (e.g. ".com")
|
|
25
|
-
* - loading: present → shows indeterminate circular progress
|
|
26
|
-
* - rows: native textarea rows attribute (default 3)
|
|
27
|
-
* - maxlength: when set, displays a character counter
|
|
28
|
-
* (auto-shown; can be hidden via `no-counter`)
|
|
29
|
-
* - no-counter: suppress the character counter even when maxlength is set
|
|
56
|
+
* @csspart field - The outer `.field` div container.
|
|
57
|
+
* @csspart input - The native `<textarea>` element.
|
|
58
|
+
* @csspart label - The floating `<label>` element.
|
|
59
|
+
* @csspart helper - The helper/error text area.
|
|
60
|
+
* @csspart counter - The character counter element.
|
|
30
61
|
*/
|
|
31
62
|
@customElement('moni-textarea')
|
|
32
63
|
export class MoniTextarea extends MoniElement {
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file components/moni-time-picker.ts
|
|
3
|
+
* @package @moni-labs/moni-ui
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @contributors Moni Labs & Contributors
|
|
6
|
+
*/
|
|
7
|
+
|
|
1
8
|
import { html, css, PropertyValues } from 'lit';
|
|
2
9
|
import { customElement, property, state, query } from 'lit/decorators.js';
|
|
3
10
|
import { MoniElement, sharedStyles } from './_base/index.js';
|
|
@@ -5,18 +12,42 @@ import './moni-icon.js';
|
|
|
5
12
|
import './moni-button.js';
|
|
6
13
|
|
|
7
14
|
/**
|
|
8
|
-
* Material Design 3 Time Picker
|
|
9
|
-
*
|
|
15
|
+
* Material Design 3 Time Picker component.
|
|
16
|
+
*
|
|
17
|
+
* A highly interactive control that allows users to select a specific time.
|
|
18
|
+
* It provides two distinct input modes:
|
|
19
|
+
* 1. **Dial mode:** An interactive clock face where users can drag or click
|
|
20
|
+
* to select hours and minutes.
|
|
21
|
+
* 2. **Input mode:** Standard text inputs for precise keyboard entry.
|
|
22
|
+
*
|
|
23
|
+
* **M3 spec reference:** `m3-docs/components/time-pickers/specs.md`
|
|
24
|
+
*
|
|
25
|
+
* **Time formats & modes:**
|
|
26
|
+
* - The `value` property expects and always outputs a 24-hour formatted string
|
|
27
|
+
* (`HH:MM`, e.g., `"14:30"`).
|
|
28
|
+
* - Setting `use-24-hour` configures the visual presentation to use a 24-hour
|
|
29
|
+
* clock dial (inner and outer rings) and removes the AM/PM toggle. Otherwise,
|
|
30
|
+
* it uses a standard 12-hour dial with an AM/PM toggle.
|
|
31
|
+
*
|
|
32
|
+
* **Responsive design:**
|
|
33
|
+
* The `orientation` attribute configures the layout. `vertical` stacks the
|
|
34
|
+
* time display above the clock face, `horizontal` places them side-by-side,
|
|
35
|
+
* and `auto` responds to the container/viewport width automatically.
|
|
36
|
+
*
|
|
37
|
+
* @fires change - Fired when the selected time changes interactively. The
|
|
38
|
+
* `detail.value` contains the new time in `HH:MM` format.
|
|
39
|
+
* @fires cancel - Fired when the 'Cancel' button is clicked.
|
|
40
|
+
* @fires ok - Fired when the 'OK' button is clicked. The `detail.value`
|
|
41
|
+
* contains the final confirmed time.
|
|
10
42
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```html
|
|
45
|
+
* <!-- 12-hour format (AM/PM) -->
|
|
46
|
+
* <moni-time-picker value="14:30"></moni-time-picker>
|
|
15
47
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - ok: Fired when OK button is clicked (detail: { value })
|
|
48
|
+
* <!-- 24-hour format -->
|
|
49
|
+
* <moni-time-picker use-24-hour value="14:30"></moni-time-picker>
|
|
50
|
+
* ```
|
|
20
51
|
*/
|
|
21
52
|
@customElement('moni-time-picker')
|
|
22
53
|
export class MoniTimePicker extends MoniElement {
|
|
@@ -1,26 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file components/moni-toolbar.ts
|
|
3
|
+
* @package @moni-labs/moni-ui
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @contributors Moni Labs & Contributors
|
|
6
|
+
*/
|
|
7
|
+
|
|
1
8
|
import { html, css } from 'lit';
|
|
2
9
|
import { customElement, property } from 'lit/decorators.js';
|
|
3
10
|
import { MoniElement, sharedStyles } from './_base/index.js';
|
|
4
11
|
|
|
5
12
|
/**
|
|
6
|
-
* Material 3
|
|
13
|
+
* Material Design 3 Top App Bar (Toolbar) component.
|
|
14
|
+
*
|
|
15
|
+
* Top app bars display information and actions at the top of a screen.
|
|
16
|
+
* They are used for branding, screen titles, navigation, and actions.
|
|
17
|
+
*
|
|
18
|
+
* **M3 spec reference:** `m3-docs/components/top-app-bar/specs.md`
|
|
19
|
+
*
|
|
20
|
+
* **Note:** This is the standard top-level toolbar. For bottom navigation
|
|
21
|
+
* bars (often used on mobile), use `<moni-app-bar>`.
|
|
22
|
+
*
|
|
23
|
+
* **Variants:**
|
|
24
|
+
* - `standard` (default): A full-width bar (64dp height) that sits flush
|
|
25
|
+
* against the top of the screen.
|
|
26
|
+
* - `floating`: A detached bar with a 4dp margin and rounded 8dp corners,
|
|
27
|
+
* appearing to float above the content.
|
|
7
28
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
29
|
+
* **Scroll behavior:**
|
|
30
|
+
* When the `scroll` attribute is present, the toolbar visually responds to
|
|
31
|
+
* scrolling by increasing its elevation (shadow) and dynamically shifting
|
|
32
|
+
* its surface color to indicate depth over the scrolling content.
|
|
10
33
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```html
|
|
36
|
+
* <!-- Standard toolbar with navigation and actions -->
|
|
37
|
+
* <moni-toolbar title="Inbox">
|
|
38
|
+
* <moni-icon-button slot="leading" icon="menu"></moni-icon-button>
|
|
39
|
+
* <moni-icon-button slot="trailing" icon="search"></moni-icon-button>
|
|
40
|
+
* <moni-icon-button slot="trailing" icon="more_vert"></moni-icon-button>
|
|
41
|
+
* </moni-toolbar>
|
|
14
42
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
43
|
+
* <!-- Floating toolbar with an attached FAB -->
|
|
44
|
+
* <moni-toolbar type="floating" title="Notes">
|
|
45
|
+
* <moni-fab slot="action-button" icon="add"></moni-fab>
|
|
46
|
+
* </moni-toolbar>
|
|
47
|
+
* ```
|
|
20
48
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
49
|
+
* @slot default - The title text or center content.
|
|
50
|
+
* @slot leading - Navigation icon/button placed on the far left.
|
|
51
|
+
* @slot trailing - Action icons/buttons placed on the far right.
|
|
52
|
+
* @slot action-button - A floating action button (FAB) anchored to the right side.
|
|
24
53
|
*/
|
|
25
54
|
@customElement('moni-toolbar')
|
|
26
55
|
export class MoniToolbar extends MoniElement {
|
|
@@ -1,36 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file components/moni-tooltip.ts
|
|
3
|
+
* @package @moni-labs/moni-ui
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @contributors Moni Labs & Contributors
|
|
6
|
+
*/
|
|
7
|
+
|
|
1
8
|
import { html, css } from 'lit';
|
|
2
9
|
import { customElement, property } from 'lit/decorators.js';
|
|
3
10
|
import { MoniElement, sharedStyles } from './_base/index.js';
|
|
4
11
|
|
|
5
12
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
13
|
+
* Material Design 3 Tooltip component.
|
|
14
|
+
*
|
|
15
|
+
* Tooltips provide contextual text labels or rich content that appear when
|
|
16
|
+
* users hover over, focus on, or tap an element. They surface supplementary
|
|
17
|
+
* information that helps users understand interface elements without
|
|
18
|
+
* permanently occupying screen space.
|
|
19
|
+
*
|
|
20
|
+
* **M3 spec reference:** `m3-docs/components/tooltips/specs.md`
|
|
21
|
+
*
|
|
22
|
+
* **Types:**
|
|
23
|
+
* - **Plain** (default) — Text-only label for simple descriptions (max 1 line).
|
|
24
|
+
* - **Rich** (`rich` attribute) — HTML content including formatted text,
|
|
25
|
+
* links, and icons. Rich tooltips can contain multiple lines and action links.
|
|
26
|
+
*
|
|
27
|
+
* **Placements:**
|
|
28
|
+
* - `top` (default), `top-start`, `top-end`
|
|
29
|
+
* - `bottom`, `bottom-start`, `bottom-end`
|
|
30
|
+
*
|
|
31
|
+
* **Trigger mechanism:**
|
|
32
|
+
* The tooltip uses `position: absolute` inside the parent element. The parent
|
|
33
|
+
* must have `position: relative` (set automatically via `connectedCallback`).
|
|
34
|
+
* Hover/focus events on the parent trigger the tooltip's CSS `:hover` and
|
|
35
|
+
* `:focus-within` selectors, which drive the show/hide transition.
|
|
36
|
+
*
|
|
37
|
+
* **Accessibility:**
|
|
38
|
+
* - The tooltip has `role="tooltip"`.
|
|
39
|
+
* - For keyboard accessibility, the parent should have `aria-describedby`
|
|
40
|
+
* pointing to the tooltip's `id` attribute. The component exposes a
|
|
41
|
+
* `tooltipId` getter for this purpose.
|
|
42
|
+
* - The `Escape` key closes rich tooltips.
|
|
8
43
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```html
|
|
46
|
+
* <!-- Plain tooltip -->
|
|
47
|
+
* <button aria-describedby="save-tip">
|
|
48
|
+
* Save
|
|
49
|
+
* <moni-tooltip id="save-tip" text="Ctrl+S"></moni-tooltip>
|
|
50
|
+
* </button>
|
|
14
51
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
52
|
+
* <!-- Rich tooltip -->
|
|
53
|
+
* <button>
|
|
54
|
+
* Filter
|
|
55
|
+
* <moni-tooltip rich position="bottom">
|
|
56
|
+
* <strong>Filter by date</strong>
|
|
57
|
+
* <p>Select a date range to filter results.</p>
|
|
58
|
+
* </moni-tooltip>
|
|
59
|
+
* </button>
|
|
60
|
+
* ```
|
|
18
61
|
*
|
|
19
|
-
*
|
|
20
|
-
* - The tooltip has `role="tooltip"` (M3 spec).
|
|
21
|
-
* - When `rich` content is used, the parent should also have
|
|
22
|
-
* `aria-describedby="<tooltip-id>"`. The component sets a unique `id` on
|
|
23
|
-
* the tooltip element and exposes it via `tooltipId` getter.
|
|
24
|
-
* - `Escape` closes the tooltip (WAI-ARIA tooltip pattern).
|
|
62
|
+
* @slot default - Rich content for the tooltip body (only used when `rich=true`).
|
|
25
63
|
*
|
|
26
|
-
*
|
|
27
|
-
* - text: tooltip text (plain tooltip)
|
|
28
|
-
* - position: top (default) | top-start | top-end | bottom | bottom-start | bottom-end
|
|
29
|
-
* - size: '' (default) | small | medium | large
|
|
30
|
-
* - rich: boolean — when true, the default slot accepts arbitrary HTML
|
|
31
|
-
* for rich content (links, icons, etc.). When false (default),
|
|
32
|
-
* the slot is rendered as text only.
|
|
33
|
-
* - id: forwarded to the tooltip element (useful for aria-describedby)
|
|
64
|
+
* @csspart tooltip - The tooltip container element.
|
|
34
65
|
*/
|
|
35
66
|
@customElement('moni-tooltip')
|
|
36
67
|
export class MoniTooltip extends MoniElement {
|
|
@@ -1,31 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file components/moni-typography.ts
|
|
3
|
+
* @package @moni-labs/moni-ui
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @contributors Moni Labs & Contributors
|
|
6
|
+
*/
|
|
7
|
+
|
|
1
8
|
import { css, nothing } from 'lit';
|
|
2
9
|
import { customElement, property } from 'lit/decorators.js';
|
|
3
10
|
import { unsafeStatic, html as staticHtml } from 'lit/static-html.js';
|
|
4
11
|
import { MoniElement, sharedStyles } from './_base/index.js';
|
|
5
12
|
|
|
6
13
|
/**
|
|
7
|
-
* Material 3 Typography
|
|
14
|
+
* Material Design 3 Typography component.
|
|
15
|
+
*
|
|
16
|
+
* A specialized text component that enforces the M3 type scale. It ensures
|
|
17
|
+
* typography is consistent, accessible, and correctly styled across the
|
|
18
|
+
* application without requiring manual CSS classes.
|
|
19
|
+
*
|
|
20
|
+
* **M3 spec reference:** `m3-docs/components/typography/specs.md`
|
|
21
|
+
*
|
|
22
|
+
* **Type Scale Categories:**
|
|
23
|
+
* - `display`: The largest text on the screen, reserved for short, important
|
|
24
|
+
* text or numerals. Works best on large screens. (Renders `<h1>` by default).
|
|
25
|
+
* - `headline`: High-emphasis text for primary page/section headers.
|
|
26
|
+
* (Renders `<h2>` by default).
|
|
27
|
+
* - `title`: Medium-emphasis text used for dialog headers or smaller section
|
|
28
|
+
* titles. (Renders `<h3>` by default).
|
|
29
|
+
* - `body`: Standard paragraph text used for long-form content.
|
|
30
|
+
* (Renders `<p>` by default).
|
|
31
|
+
* - `label`: Small, utilitarian text used for buttons, captions, and form
|
|
32
|
+
* elements. (Renders `<label>` by default).
|
|
33
|
+
*
|
|
34
|
+
* Each category supports three sizes: `large`, `medium`, and `small`.
|
|
8
35
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
36
|
+
* **Semantic Tags:**
|
|
37
|
+
* The component automatically selects an appropriate HTML semantic tag based on
|
|
38
|
+
* the variant. You can explicitly override this by setting the `as` attribute
|
|
39
|
+
* (e.g., to render a `headline` style but using a `<span>` tag for SEO or
|
|
40
|
+
* structural reasons).
|
|
12
41
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* - **body**: paragraph text.
|
|
18
|
-
* - **label**: button text, captions.
|
|
42
|
+
* @example
|
|
43
|
+
* ```html
|
|
44
|
+
* <!-- Renders an <h1> with display-large styles -->
|
|
45
|
+
* <moni-typography variant="display" size="large">Hero Text</moni-typography>
|
|
19
46
|
*
|
|
20
|
-
*
|
|
47
|
+
* <!-- Renders a <p> with body-medium styles -->
|
|
48
|
+
* <moni-typography variant="body">Standard paragraph text.</moni-typography>
|
|
21
49
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* - as: override the rendered tag (e.g. "span", "p", "label")
|
|
50
|
+
* <!-- Overriding the semantic tag -->
|
|
51
|
+
* <moni-typography variant="title" as="span">Inline title</moni-typography>
|
|
52
|
+
* ```
|
|
26
53
|
*
|
|
27
|
-
*
|
|
28
|
-
* - default: text content (falls back to `text` attribute if empty)
|
|
54
|
+
* @slot default - The text content to display.
|
|
29
55
|
*/
|
|
30
56
|
@customElement('moni-typography')
|
|
31
57
|
export class MoniTypography extends MoniElement {
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file index.ts
|
|
3
|
+
* @package @moni-labs/moni-ui
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @contributors Moni Labs & Contributors
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @module @moni-labs/moni-ui
|
|
10
|
+
*
|
|
11
|
+
* Main entry point for the Moni UI component library.
|
|
12
|
+
*
|
|
13
|
+
* **What this file does:**
|
|
14
|
+
* 1. **Side-effect import** — `import './components/index.js'` triggers the
|
|
15
|
+
* auto-registration of every `<moni-*>` custom element with the browser's
|
|
16
|
+
* Custom Element registry. This must happen before any component is rendered
|
|
17
|
+
* in the DOM.
|
|
18
|
+
* 2. **Re-exports** — All component classes, utilities, and TypeScript types
|
|
19
|
+
* are re-exported so consumers get a single import path:
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* import {
|
|
23
|
+
* MoniButton,
|
|
24
|
+
* getThemeEngine,
|
|
25
|
+
* generateScheme,
|
|
26
|
+
* type ColorScheme
|
|
27
|
+
* } from '@moni-labs/moni-ui';
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* **Import strategies:**
|
|
31
|
+
* - **Full bundle** (this file): imports and registers ALL components at once.
|
|
32
|
+
* Best for SPAs that use many components.
|
|
33
|
+
* - **Tree-shaken per-component**: import individual files from
|
|
34
|
+
* `@moni-labs/moni-ui/components/moni-button.js` etc. to let bundlers
|
|
35
|
+
* include only what is used. Better for apps that use a small subset.
|
|
36
|
+
*
|
|
37
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry Custom Element Registry}
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
1
41
|
// Auto-register all Moni UI Web Components
|
|
42
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
43
|
+
// This import has side effects: it calls customElements.define() for every
|
|
44
|
+
// <moni-*> element. Bundlers must NOT tree-shake this import.
|
|
2
45
|
import './components/index.js';
|
|
3
46
|
|
|
4
|
-
//
|
|
47
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
48
|
+
// Web Component class exports
|
|
49
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
50
|
+
// Exporting the class enables TypeScript consumers to:
|
|
51
|
+
// - Subclass components for customization.
|
|
52
|
+
// - Use the class in type narrowing (instanceof MoniButton).
|
|
53
|
+
// - Access static members and properties programmatically.
|
|
5
54
|
export {
|
|
6
55
|
MoniBadge,
|
|
7
56
|
MoniBottomSheet,
|
|
@@ -45,8 +94,17 @@ export {
|
|
|
45
94
|
MoniShape,
|
|
46
95
|
} from './components/index.js';
|
|
47
96
|
|
|
48
|
-
//
|
|
97
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
98
|
+
// Utility exports
|
|
99
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Theme engine singleton factory.
|
|
103
|
+
* @see {@link getThemeEngine} for full documentation.
|
|
104
|
+
*/
|
|
49
105
|
export { getThemeEngine, resetThemeEngine } from './utils/theme.svelte.js';
|
|
106
|
+
|
|
107
|
+
/** TypeScript types for theme engine configuration. */
|
|
50
108
|
export type {
|
|
51
109
|
ThemeSettings,
|
|
52
110
|
ThemeMode,
|
|
@@ -54,6 +112,11 @@ export type {
|
|
|
54
112
|
ThemeRadius,
|
|
55
113
|
ThemeFont
|
|
56
114
|
} from './utils/theme.svelte.js';
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Color generation and application utilities.
|
|
118
|
+
* @see utils/color.ts for full documentation.
|
|
119
|
+
*/
|
|
57
120
|
export {
|
|
58
121
|
generateScheme,
|
|
59
122
|
applySchemeToDocument,
|
|
@@ -61,5 +124,6 @@ export {
|
|
|
61
124
|
hexToHsl,
|
|
62
125
|
hslToHex
|
|
63
126
|
} from './utils/color.js';
|
|
64
|
-
export type { ColorScheme, ContrastLevel } from './utils/color.js';
|
|
65
127
|
|
|
128
|
+
/** TypeScript types for the color system. */
|
|
129
|
+
export type { ColorScheme, ContrastLevel } from './utils/color.js';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file styles/tailwind.css
|
|
3
|
+
* @package @moni-labs/moni-ui
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @contributors Moni Labs & Contributors
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@import 'tailwindcss';
|
|
9
|
+
|
|
10
|
+
@theme {
|
|
11
|
+
/* ─── Material Design 3 Expressive tokens integration ─── */
|
|
12
|
+
--color-primary: var(--moni-primary);
|
|
13
|
+
--color-on-primary: var(--moni-on-primary);
|
|
14
|
+
--color-primary-container: var(--moni-primary-container);
|
|
15
|
+
--color-on-primary-container: var(--moni-on-primary-container);
|
|
16
|
+
|
|
17
|
+
--color-secondary: var(--moni-secondary);
|
|
18
|
+
--color-on-secondary: var(--moni-on-secondary);
|
|
19
|
+
--color-secondary-container: var(--moni-secondary-container);
|
|
20
|
+
--color-on-secondary-container: var(--moni-on-secondary-container);
|
|
21
|
+
|
|
22
|
+
--color-tertiary: var(--moni-tertiary);
|
|
23
|
+
--color-on-tertiary: var(--moni-on-tertiary);
|
|
24
|
+
--color-tertiary-container: var(--moni-tertiary-container);
|
|
25
|
+
--color-on-tertiary-container: var(--moni-on-tertiary-container);
|
|
26
|
+
|
|
27
|
+
--color-error: var(--moni-error);
|
|
28
|
+
--color-on-error: var(--moni-on-error);
|
|
29
|
+
--color-error-container: var(--moni-error-container);
|
|
30
|
+
--color-on-error-container: var(--moni-on-error-container);
|
|
31
|
+
|
|
32
|
+
--color-background: var(--moni-background);
|
|
33
|
+
--color-on-background: var(--moni-on-background);
|
|
34
|
+
--color-surface: var(--moni-surface);
|
|
35
|
+
--color-on-surface: var(--moni-on-surface);
|
|
36
|
+
--color-surface-variant: var(--moni-surface-variant);
|
|
37
|
+
--color-on-surface-variant: var(--moni-on-surface-variant);
|
|
38
|
+
|
|
39
|
+
--color-outline: var(--moni-outline);
|
|
40
|
+
--color-outline-variant: var(--moni-outline-variant);
|
|
41
|
+
|
|
42
|
+
--color-surface-container-lowest: var(--moni-surface-container-lowest);
|
|
43
|
+
--color-surface-container-low: var(--moni-surface-container-low);
|
|
44
|
+
--color-surface-container: var(--moni-surface-container);
|
|
45
|
+
--color-surface-container-high: var(--moni-surface-container-high);
|
|
46
|
+
--color-surface-container-highest: var(--moni-surface-container-highest);
|
|
47
|
+
|
|
48
|
+
--color-inverse-surface: var(--moni-inverse-surface);
|
|
49
|
+
--color-inverse-on-surface: var(--moni-inverse-on-surface);
|
|
50
|
+
--color-inverse-primary: var(--moni-inverse-primary);
|
|
51
|
+
|
|
52
|
+
/* ─── Typography ─── */
|
|
53
|
+
--font-sans: var(--moni-font-sans, 'Geist', system-ui, -apple-system, sans-serif);
|
|
54
|
+
--font-serif: var(--moni-font-title, 'Instrument Serif', Georgia, serif);
|
|
55
|
+
--font-mono: 'Geist Mono', 'Fira Code', monospace;
|
|
56
|
+
--font-brand: var(--moni-font-sans, 'Geist', system-ui, sans-serif);
|
|
57
|
+
--font-title: var(--moni-font-title, 'Instrument Serif', Georgia, serif);
|
|
58
|
+
--font-icon: var(--moni-font-icon, 'Material Symbols Rounded');
|
|
59
|
+
|
|
60
|
+
/* ─── Radius scale ─── */
|
|
61
|
+
--radius-base: var(--moni-radius-base, 12px);
|
|
62
|
+
--radius-sm: calc(var(--moni-radius-base, 12px) * 0.5);
|
|
63
|
+
--radius-md: var(--moni-radius-base, 12px);
|
|
64
|
+
--radius-lg: calc(var(--moni-radius-base, 12px) * 1.5);
|
|
65
|
+
--radius-xl: calc(var(--moni-radius-base, 12px) * 2);
|
|
66
|
+
--radius-full: 9999px;
|
|
67
|
+
}
|