@atelier-ui/react 0.1.10 → 0.1.12

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 (88) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +1 -1
  3. package/src/lib/accordion/llm-accordion.css +120 -0
  4. package/src/lib/accordion/llm-accordion.d.ts +3 -3
  5. package/src/lib/accordion/llm-accordion.d.ts.map +1 -1
  6. package/src/lib/alert/llm-alert.css +80 -0
  7. package/src/lib/alert/llm-alert.d.ts +1 -1
  8. package/src/lib/alert/llm-alert.d.ts.map +1 -1
  9. package/src/lib/avatar/llm-avatar.css +106 -0
  10. package/src/lib/avatar/llm-avatar.d.ts +2 -2
  11. package/src/lib/avatar/llm-avatar.d.ts.map +1 -1
  12. package/src/lib/badge/llm-badge.css +60 -0
  13. package/src/lib/badge/llm-badge.d.ts +1 -1
  14. package/src/lib/badge/llm-badge.d.ts.map +1 -1
  15. package/src/lib/breadcrumbs/llm-breadcrumbs.css +62 -0
  16. package/src/lib/breadcrumbs/llm-breadcrumbs.d.ts +2 -2
  17. package/src/lib/breadcrumbs/llm-breadcrumbs.d.ts.map +1 -1
  18. package/src/lib/button/llm-button.css +139 -0
  19. package/src/lib/card/llm-card.css +70 -0
  20. package/src/lib/card/llm-card.d.ts +4 -4
  21. package/src/lib/card/llm-card.d.ts.map +1 -1
  22. package/src/lib/chat/llm-chat.css +446 -0
  23. package/src/lib/chat/llm-chat.d.ts +7 -7
  24. package/src/lib/chat/llm-chat.d.ts.map +1 -1
  25. package/src/lib/checkbox/llm-checkbox.css +123 -0
  26. package/src/lib/checkbox/llm-checkbox.d.ts +1 -1
  27. package/src/lib/checkbox/llm-checkbox.d.ts.map +1 -1
  28. package/src/lib/code-block/llm-code-block.css +112 -0
  29. package/src/lib/code-block/llm-code-block.d.ts +1 -1
  30. package/src/lib/code-block/llm-code-block.d.ts.map +1 -1
  31. package/src/lib/combobox/llm-combobox.css +169 -0
  32. package/src/lib/combobox/llm-combobox.d.ts +1 -1
  33. package/src/lib/combobox/llm-combobox.d.ts.map +1 -1
  34. package/src/lib/dialog/llm-dialog.css +174 -0
  35. package/src/lib/dialog/llm-dialog.d.ts +4 -4
  36. package/src/lib/dialog/llm-dialog.d.ts.map +1 -1
  37. package/src/lib/drawer/llm-drawer.css +228 -0
  38. package/src/lib/drawer/llm-drawer.d.ts +4 -4
  39. package/src/lib/drawer/llm-drawer.d.ts.map +1 -1
  40. package/src/lib/icon/llm-icon.css +29 -0
  41. package/src/lib/icon/llm-icon.d.ts +1 -1
  42. package/src/lib/icon/llm-icon.d.ts.map +1 -1
  43. package/src/lib/input/llm-input.css +94 -0
  44. package/src/lib/input/llm-input.d.ts +1 -1
  45. package/src/lib/input/llm-input.d.ts.map +1 -1
  46. package/src/lib/menu/llm-menu.css +85 -0
  47. package/src/lib/menu/llm-menu.d.ts +4 -4
  48. package/src/lib/menu/llm-menu.d.ts.map +1 -1
  49. package/src/lib/pagination/llm-pagination.css +80 -0
  50. package/src/lib/pagination/llm-pagination.d.ts +1 -1
  51. package/src/lib/pagination/llm-pagination.d.ts.map +1 -1
  52. package/src/lib/progress/llm-progress.css +69 -0
  53. package/src/lib/progress/llm-progress.d.ts +1 -1
  54. package/src/lib/progress/llm-progress.d.ts.map +1 -1
  55. package/src/lib/radio/llm-radio.css +78 -0
  56. package/src/lib/radio/llm-radio.d.ts +1 -1
  57. package/src/lib/radio/llm-radio.d.ts.map +1 -1
  58. package/src/lib/radio-group/llm-radio-group.css +31 -0
  59. package/src/lib/radio-group/llm-radio-group.d.ts +1 -1
  60. package/src/lib/radio-group/llm-radio-group.d.ts.map +1 -1
  61. package/src/lib/select/llm-select.css +83 -0
  62. package/src/lib/select/llm-select.d.ts +2 -2
  63. package/src/lib/select/llm-select.d.ts.map +1 -1
  64. package/src/lib/skeleton/llm-skeleton.css +51 -0
  65. package/src/lib/skeleton/llm-skeleton.d.ts +1 -1
  66. package/src/lib/skeleton/llm-skeleton.d.ts.map +1 -1
  67. package/src/lib/stepper/llm-stepper.css +171 -0
  68. package/src/lib/stepper/llm-stepper.d.ts +1 -1
  69. package/src/lib/stepper/llm-stepper.d.ts.map +1 -1
  70. package/src/lib/table/llm-table.css +200 -0
  71. package/src/lib/table/llm-table.d.ts +6 -6
  72. package/src/lib/table/llm-table.d.ts.map +1 -1
  73. package/src/lib/tabs/llm-tabs.css +120 -0
  74. package/src/lib/tabs/llm-tabs.d.ts +1 -1
  75. package/src/lib/tabs/llm-tabs.d.ts.map +1 -1
  76. package/src/lib/textarea/llm-textarea.css +100 -0
  77. package/src/lib/textarea/llm-textarea.d.ts +1 -1
  78. package/src/lib/textarea/llm-textarea.d.ts.map +1 -1
  79. package/src/lib/toast/llm-toast.css +137 -0
  80. package/src/lib/toast/llm-toast.d.ts +3 -3
  81. package/src/lib/toast/llm-toast.d.ts.map +1 -1
  82. package/src/lib/toggle/llm-toggle.css +118 -0
  83. package/src/lib/toggle/llm-toggle.d.ts +1 -1
  84. package/src/lib/toggle/llm-toggle.d.ts.map +1 -1
  85. package/src/lib/tooltip/llm-tooltip.css +80 -0
  86. package/src/lib/tooltip/llm-tooltip.d.ts +1 -1
  87. package/src/lib/tooltip/llm-tooltip.d.ts.map +1 -1
  88. package/styles/tokens.css +346 -0
@@ -0,0 +1,174 @@
1
+ /* ── Native <dialog> reset + base ──────────────────────────────────────────── */
2
+ .llm-dialog {
3
+ all: unset;
4
+ position: fixed;
5
+ inset: 0;
6
+ margin: auto;
7
+ width: fit-content;
8
+ height: fit-content;
9
+ display: none; /* hidden by default; showModal() moves to top layer */
10
+ flex-direction: column;
11
+ max-width: 100vw;
12
+ max-height: calc(100dvh - var(--ui-spacing-8));
13
+ border-radius: var(--ui-radius-lg);
14
+ background: var(--ui-color-surface);
15
+ box-shadow: var(--ui-shadow-xl, 0 20px 60px rgba(0, 0, 0, 0.3));
16
+ color: var(--ui-color-text);
17
+ overflow: hidden;
18
+
19
+ /* Open/close animation */
20
+ opacity: 0;
21
+ transform: scale(0.95);
22
+ transition:
23
+ opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),
24
+ transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),
25
+ display var(--ui-duration-slow) allow-discrete,
26
+ overlay var(--ui-duration-slow) allow-discrete;
27
+ }
28
+
29
+ .llm-dialog[open] {
30
+ display: flex;
31
+ opacity: 1;
32
+ transform: scale(1);
33
+ }
34
+
35
+ @starting-style {
36
+ .llm-dialog[open] {
37
+ opacity: 0;
38
+ transform: scale(0.95);
39
+ }
40
+ }
41
+
42
+ /* ── Backdrop ────────────────────────────────────────────────────────────── */
43
+ .llm-dialog::backdrop {
44
+ background: var(--ui-color-overlay);
45
+ backdrop-filter: blur(2px);
46
+ transition:
47
+ opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),
48
+ display var(--ui-duration-slow) allow-discrete,
49
+ overlay var(--ui-duration-slow) allow-discrete;
50
+ }
51
+
52
+ @starting-style {
53
+ .llm-dialog[open]::backdrop {
54
+ opacity: 0;
55
+ }
56
+ }
57
+
58
+ @media (prefers-color-scheme: dark) {
59
+ .llm-dialog::backdrop {
60
+ background: var(--ui-color-overlay);
61
+ }
62
+ }
63
+
64
+ [data-theme='dark'] .llm-dialog::backdrop {
65
+ background: var(--ui-color-overlay);
66
+ }
67
+
68
+ /* ── Panel (inner wrapper) ───────────────────────────────────────────────── */
69
+ .panel {
70
+ display: flex;
71
+ flex-direction: column;
72
+ width: 100%;
73
+ max-height: inherit;
74
+ overflow: hidden;
75
+ }
76
+
77
+ /* ── Size variants ───────────────────────────────────────────────────────────
78
+ * Scoped to the dialog. React applies size-* on the <dialog class="llm-dialog">
79
+ * itself; Angular/Vue apply it on the inner .panel — hence the selector pair
80
+ * (`dialog > .panel` covers both, including Angular's emulated-scoped template,
81
+ * which never carries the `llm-dialog` class). Bare `.size-*` selectors leaked
82
+ * globally and resized unrelated elements (e.g. `llm-button size-md`). */
83
+ .llm-dialog.size-sm,
84
+ dialog > .panel.size-sm {
85
+ width: min(24rem, 90vw);
86
+ }
87
+
88
+ .llm-dialog.size-md,
89
+ dialog > .panel.size-md {
90
+ width: min(36rem, 90vw);
91
+ }
92
+
93
+ .llm-dialog.size-lg,
94
+ dialog > .panel.size-lg {
95
+ width: min(48rem, 90vw);
96
+ }
97
+
98
+ .llm-dialog.size-xl,
99
+ dialog > .panel.size-xl {
100
+ width: min(64rem, 90vw);
101
+ }
102
+
103
+ .llm-dialog.size-full,
104
+ dialog > .panel.size-full {
105
+ width: 100vw;
106
+ height: 100dvh;
107
+ max-width: 100vw;
108
+ max-height: 100dvh;
109
+ border-radius: 0;
110
+ margin: 0;
111
+ }
112
+
113
+ /* ── Sub-components ──────────────────────────────────────────────────────── */
114
+ .llm-dialog-header {
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: space-between;
118
+ padding: var(--ui-spacing-5) var(--ui-spacing-6);
119
+ border-bottom: 1px solid var(--ui-color-border);
120
+ font-size: var(--ui-font-size-xl);
121
+ font-weight: 600;
122
+ letter-spacing: var(--ui-letter-spacing-tight);
123
+ color: var(--ui-color-text);
124
+ flex-shrink: 0;
125
+ }
126
+
127
+ .llm-dialog-content {
128
+ display: block;
129
+ padding: var(--ui-spacing-6);
130
+ overflow-y: auto;
131
+ flex: 1;
132
+ color: var(--ui-color-text);
133
+ }
134
+
135
+ .llm-dialog-footer {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: flex-end;
139
+ gap: var(--ui-spacing-3);
140
+ padding: var(--ui-spacing-5) var(--ui-spacing-6);
141
+ border-top: 1px solid var(--ui-color-border);
142
+ flex-shrink: 0;
143
+ }
144
+
145
+ /* ── Close button ──────────────────────────────────────────────────────────── */
146
+ .close-btn {
147
+ display: inline-flex;
148
+ align-items: center;
149
+ justify-content: center;
150
+ flex-shrink: 0;
151
+ width: 2rem;
152
+ height: 2rem;
153
+ padding: 0;
154
+ margin-left: var(--ui-spacing-3);
155
+ background: transparent;
156
+ border: none;
157
+ border-radius: var(--ui-radius-sm);
158
+ cursor: pointer;
159
+ color: var(--ui-color-text-muted);
160
+ transition:
161
+ background-color var(--ui-transition-fast),
162
+ color var(--ui-transition-fast);
163
+ line-height: 1;
164
+ }
165
+
166
+ .close-btn:hover {
167
+ background-color: var(--ui-color-surface-sunken);
168
+ color: var(--ui-color-text);
169
+ }
170
+
171
+ .close-btn:focus-visible {
172
+ outline: none;
173
+ box-shadow: var(--ui-focus-ring);
174
+ }
@@ -37,7 +37,7 @@ export interface LlmDialogProps extends LlmDialogSpec {
37
37
  /**
38
38
  * A dialog (modal) component for displaying content on top of the main UI.
39
39
  */
40
- export declare function LlmDialog({ open, onOpenChange, closeOnBackdrop, size, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, children, }: LlmDialogProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function LlmDialog({ open, onOpenChange, closeOnBackdrop, size, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, children, }: LlmDialogProps): import("react").JSX.Element;
41
41
  /**
42
42
  * The header component for an LlmDialog.
43
43
  */
@@ -46,7 +46,7 @@ export declare function LlmDialogHeader({ children, className, ...rest }: HTMLAt
46
46
  * The content of the dialog header.
47
47
  */
48
48
  children?: ReactNode;
49
- }): import("react/jsx-runtime").JSX.Element;
49
+ }): import("react").JSX.Element;
50
50
  /**
51
51
  * The main content component for an LlmDialog.
52
52
  */
@@ -55,7 +55,7 @@ export declare function LlmDialogContent({ children, className, ...rest }: HTMLA
55
55
  * The main content of the dialog.
56
56
  */
57
57
  children?: ReactNode;
58
- }): import("react/jsx-runtime").JSX.Element;
58
+ }): import("react").JSX.Element;
59
59
  /**
60
60
  * The footer component for an LlmDialog.
61
61
  */
@@ -64,5 +64,5 @@ export declare function LlmDialogFooter({ children, className, ...rest }: HTMLAt
64
64
  * The content of the dialog footer.
65
65
  */
66
66
  children?: ReactNode;
67
- }): import("react/jsx-runtime").JSX.Element;
67
+ }): import("react").JSX.Element;
68
68
  //# sourceMappingURL=llm-dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-dialog.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/dialog/llm-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,cAAc,EAEf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,kBAAkB,CAAC;AAY1B;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAY,EACZ,YAAY,EACZ,eAAsB,EACtB,IAAW,EACX,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,QAAQ,GACT,EAAE,cAAc,2CA2DhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CAiCA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CASA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CASA"}
1
+ {"version":3,"file":"llm-dialog.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/dialog/llm-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,cAAc,EAEf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,kBAAkB,CAAC;AAY1B;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAY,EACZ,YAAY,EACZ,eAAsB,EACtB,IAAW,EACX,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,QAAQ,GACT,EAAE,cAAc,+BA2DhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAiCA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BASA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BASA"}
@@ -0,0 +1,228 @@
1
+ /* ── Host wrapper ──────────────────────────────────────────────────────────── */
2
+ .llm-drawer-host {
3
+ display: contents;
4
+ }
5
+
6
+ /* ── Native <dialog> base ──────────────────────────────────────────────────── */
7
+ .llm-drawer-host dialog {
8
+ all: unset;
9
+ position: fixed;
10
+ display: none;
11
+ flex-direction: column;
12
+ background: var(--ui-color-surface);
13
+ box-shadow: var(--ui-shadow-xl, 0 20px 60px rgba(0, 0, 0, 0.3));
14
+ color: var(--ui-color-text);
15
+ overflow: hidden;
16
+ transition:
17
+ transform var(--ui-duration-slow) var(--ui-ease-out, ease-out),
18
+ display var(--ui-duration-slow) allow-discrete,
19
+ overlay var(--ui-duration-slow) allow-discrete;
20
+ }
21
+
22
+ .llm-drawer-host dialog[open] {
23
+ display: flex;
24
+ transform: translate(0, 0) !important;
25
+ }
26
+
27
+ /* ── Backdrop ──────────────────────────────────────────────────────────────── */
28
+ .llm-drawer-host dialog::backdrop {
29
+ background: var(--ui-color-overlay);
30
+ backdrop-filter: blur(2px);
31
+ transition:
32
+ opacity var(--ui-duration-slow) var(--ui-ease-out, ease-out),
33
+ display var(--ui-duration-slow) allow-discrete,
34
+ overlay var(--ui-duration-slow) allow-discrete;
35
+ }
36
+
37
+ @starting-style {
38
+ .llm-drawer-host dialog[open]::backdrop {
39
+ opacity: 0;
40
+ }
41
+ }
42
+
43
+ @media (prefers-color-scheme: dark) {
44
+ .llm-drawer-host dialog::backdrop {
45
+ background: var(--ui-color-overlay);
46
+ }
47
+ }
48
+
49
+ [data-theme='dark'] .llm-drawer-host dialog::backdrop {
50
+ background: var(--ui-color-overlay);
51
+ }
52
+
53
+ /* ── Panel (inner wrapper) ─────────────────────────────────────────────────── */
54
+ .llm-drawer-host .panel {
55
+ display: flex;
56
+ flex-direction: column;
57
+ width: 100%;
58
+ height: 100%;
59
+ overflow: hidden;
60
+ }
61
+
62
+ /* ═══════════════════════════════════════════════════════════════════════════ */
63
+ /* POSITION VARIANTS */
64
+ /* ═══════════════════════════════════════════════════════════════════════════ */
65
+
66
+ /* ── Right ─────────────────────────────────────────────────────────────────── */
67
+ .llm-drawer-host.position-right dialog {
68
+ inset: 0 0 0 auto;
69
+ height: 100dvh;
70
+ transform: translateX(100%);
71
+ }
72
+
73
+ @starting-style {
74
+ .llm-drawer-host.position-right dialog[open] {
75
+ transform: translateX(100%);
76
+ }
77
+ }
78
+
79
+ /* ── Left ──────────────────────────────────────────────────────────────────── */
80
+ .llm-drawer-host.position-left dialog {
81
+ inset: 0 auto 0 0;
82
+ height: 100dvh;
83
+ transform: translateX(-100%);
84
+ }
85
+
86
+ @starting-style {
87
+ .llm-drawer-host.position-left dialog[open] {
88
+ transform: translateX(-100%);
89
+ }
90
+ }
91
+
92
+ /* ── Top ───────────────────────────────────────────────────────────────────── */
93
+ .llm-drawer-host.position-top dialog {
94
+ inset: 0 0 auto 0;
95
+ width: 100vw;
96
+ transform: translateY(-100%);
97
+ }
98
+
99
+ @starting-style {
100
+ .llm-drawer-host.position-top dialog[open] {
101
+ transform: translateY(-100%);
102
+ }
103
+ }
104
+
105
+ /* ── Bottom ────────────────────────────────────────────────────────────────── */
106
+ .llm-drawer-host.position-bottom dialog {
107
+ inset: auto 0 0 0;
108
+ width: 100vw;
109
+ transform: translateY(100%);
110
+ }
111
+
112
+ @starting-style {
113
+ .llm-drawer-host.position-bottom dialog[open] {
114
+ transform: translateY(100%);
115
+ }
116
+ }
117
+
118
+ /* ═══════════════════════════════════════════════════════════════════════════ */
119
+ /* SIZE VARIANTS (left/right = width; top/bottom = height) */
120
+ /* ═══════════════════════════════════════════════════════════════════════════ */
121
+
122
+ /* Left / Right widths */
123
+ .llm-drawer-host.position-right.size-sm dialog,
124
+ .llm-drawer-host.position-left.size-sm dialog {
125
+ width: 20rem;
126
+ }
127
+
128
+ .llm-drawer-host.position-right.size-md dialog,
129
+ .llm-drawer-host.position-left.size-md dialog {
130
+ width: 28rem;
131
+ }
132
+
133
+ .llm-drawer-host.position-right.size-lg dialog,
134
+ .llm-drawer-host.position-left.size-lg dialog {
135
+ width: 40rem;
136
+ }
137
+
138
+ .llm-drawer-host.position-right.size-full dialog,
139
+ .llm-drawer-host.position-left.size-full dialog {
140
+ width: 100vw;
141
+ }
142
+
143
+ /* Top / Bottom heights */
144
+ .llm-drawer-host.position-top.size-sm dialog,
145
+ .llm-drawer-host.position-bottom.size-sm dialog {
146
+ height: 12rem;
147
+ }
148
+
149
+ .llm-drawer-host.position-top.size-md dialog,
150
+ .llm-drawer-host.position-bottom.size-md dialog {
151
+ height: 20rem;
152
+ }
153
+
154
+ .llm-drawer-host.position-top.size-lg dialog,
155
+ .llm-drawer-host.position-bottom.size-lg dialog {
156
+ height: 32rem;
157
+ }
158
+
159
+ .llm-drawer-host.position-top.size-full dialog,
160
+ .llm-drawer-host.position-bottom.size-full dialog {
161
+ height: 100dvh;
162
+ }
163
+
164
+ /* ═══════════════════════════════════════════════════════════════════════════ */
165
+ /* SUB-COMPONENTS */
166
+ /* ═══════════════════════════════════════════════════════════════════════════ */
167
+
168
+ .llm-drawer-header {
169
+ display: flex;
170
+ align-items: center;
171
+ justify-content: space-between;
172
+ padding: var(--ui-spacing-5) var(--ui-spacing-6);
173
+ border-bottom: 1px solid var(--ui-color-border);
174
+ font-size: var(--ui-font-size-xl);
175
+ font-weight: 600;
176
+ letter-spacing: var(--ui-letter-spacing-tight);
177
+ color: var(--ui-color-text);
178
+ flex-shrink: 0;
179
+ }
180
+
181
+ .llm-drawer-content {
182
+ display: block;
183
+ padding: var(--ui-spacing-6);
184
+ overflow-y: auto;
185
+ flex: 1;
186
+ color: var(--ui-color-text);
187
+ }
188
+
189
+ .llm-drawer-footer {
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: flex-end;
193
+ gap: var(--ui-spacing-3);
194
+ padding: var(--ui-spacing-5) var(--ui-spacing-6);
195
+ border-top: 1px solid var(--ui-color-border);
196
+ flex-shrink: 0;
197
+ }
198
+
199
+ /* ── Close button ──────────────────────────────────────────────────────────── */
200
+ .close-btn {
201
+ display: inline-flex;
202
+ align-items: center;
203
+ justify-content: center;
204
+ flex-shrink: 0;
205
+ width: 2rem;
206
+ height: 2rem;
207
+ padding: 0;
208
+ margin-left: var(--ui-spacing-3);
209
+ background: transparent;
210
+ border: none;
211
+ border-radius: var(--ui-radius-sm);
212
+ cursor: pointer;
213
+ color: var(--ui-color-text-muted);
214
+ transition:
215
+ background-color var(--ui-transition-fast),
216
+ color var(--ui-transition-fast);
217
+ line-height: 1;
218
+ }
219
+
220
+ .close-btn:hover {
221
+ background-color: var(--ui-color-surface-sunken);
222
+ color: var(--ui-color-text);
223
+ }
224
+
225
+ .close-btn:focus-visible {
226
+ outline: none;
227
+ box-shadow: var(--ui-focus-ring);
228
+ }
@@ -33,7 +33,7 @@ export interface LlmDrawerProps extends LlmDrawerSpec {
33
33
  /**
34
34
  * A drawer component that slides in from the edge of the screen.
35
35
  */
36
- export declare function LlmDrawer({ open, onOpenChange, position, size, closeOnBackdrop, children, }: LlmDrawerProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function LlmDrawer({ open, onOpenChange, position, size, closeOnBackdrop, children, }: LlmDrawerProps): import("react").JSX.Element;
37
37
  /**
38
38
  * The header component for an LlmDrawer.
39
39
  */
@@ -42,7 +42,7 @@ export declare function LlmDrawerHeader({ children, className, ...rest }: HTMLAt
42
42
  * The content of the drawer header.
43
43
  */
44
44
  children?: ReactNode;
45
- }): import("react/jsx-runtime").JSX.Element;
45
+ }): import("react").JSX.Element;
46
46
  /**
47
47
  * The main content component for an LlmDrawer.
48
48
  */
@@ -51,7 +51,7 @@ export declare function LlmDrawerContent({ children, className, ...rest }: HTMLA
51
51
  * The main content of the drawer.
52
52
  */
53
53
  children?: ReactNode;
54
- }): import("react/jsx-runtime").JSX.Element;
54
+ }): import("react").JSX.Element;
55
55
  /**
56
56
  * The footer component for an LlmDrawer.
57
57
  */
@@ -60,5 +60,5 @@ export declare function LlmDrawerFooter({ children, className, ...rest }: HTMLAt
60
60
  * The content of the drawer footer.
61
61
  */
62
62
  children?: ReactNode;
63
- }): import("react/jsx-runtime").JSX.Element;
63
+ }): import("react").JSX.Element;
64
64
  //# sourceMappingURL=llm-drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-drawer.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/drawer/llm-drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,cAAc,EAEf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,kBAAkB,CAAC;AAY1B;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC/C;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAY,EACZ,YAAY,EACZ,QAAkB,EAClB,IAAW,EACX,eAAsB,EACtB,QAAQ,GACT,EAAE,cAAc,2CAkEhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CAiCA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CASA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CASA"}
1
+ {"version":3,"file":"llm-drawer.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/drawer/llm-drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,cAAc,EAEf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,kBAAkB,CAAC;AAY1B;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC/C;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAY,EACZ,YAAY,EACZ,QAAkB,EAClB,IAAW,EACX,eAAsB,EACtB,QAAQ,GACT,EAAE,cAAc,+BAkEhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAiCA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BASA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BASA"}
@@ -0,0 +1,29 @@
1
+ .llm-icon {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ font-family: var(--ui-font-family);
6
+ font-weight: var(--ui-font-weight-medium);
7
+ line-height: 1;
8
+ color: currentColor;
9
+ user-select: none;
10
+ flex-shrink: 0;
11
+ }
12
+
13
+ .llm-icon.size-sm {
14
+ width: 1rem;
15
+ height: 1rem;
16
+ font-size: var(--ui-font-size-sm);
17
+ }
18
+
19
+ .llm-icon.size-md {
20
+ width: 1.25rem;
21
+ height: 1.25rem;
22
+ font-size: var(--ui-font-size-md);
23
+ }
24
+
25
+ .llm-icon.size-lg {
26
+ width: 1.5rem;
27
+ height: 1.5rem;
28
+ font-size: var(--ui-font-size-lg);
29
+ }
@@ -20,5 +20,5 @@ export interface LlmIconProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'ari
20
20
  * component set. Decorative by default; pass `label` to announce a meaning
21
21
  * to assistive tech.
22
22
  */
23
- export declare function LlmIcon({ name, size, label, className, ...rest }: LlmIconProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function LlmIcon({ name, size, label, className, ...rest }: LlmIconProps): import("react").JSX.Element;
24
24
  //# sourceMappingURL=llm-icon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-icon.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/icon/llm-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,gBAAgB,CAAC;AA0BxB;;GAEG;AACH,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,EACzD,WAAW;IACb,qBAAqB;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,qBAAqB;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,IAAW,EACX,KAAK,EACL,SAAS,EACT,GAAG,IAAI,EACR,EAAE,YAAY,2CAUd"}
1
+ {"version":3,"file":"llm-icon.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/icon/llm-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,gBAAgB,CAAC;AA0BxB;;GAEG;AACH,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,EACzD,WAAW;IACb,qBAAqB;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,qBAAqB;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,IAAW,EACX,KAAK,EACL,SAAS,EACT,GAAG,IAAI,EACR,EAAE,YAAY,+BAUd"}
@@ -0,0 +1,94 @@
1
+ .llm-input {
2
+ display: block;
3
+ font-family: var(--ui-font-family);
4
+ font-size: var(--ui-font-size-md);
5
+ }
6
+
7
+ .llm-input input {
8
+ display: block;
9
+ width: 100%;
10
+ min-height: 2.5rem;
11
+ padding: 0.625rem var(--ui-spacing-4);
12
+ font-size: inherit;
13
+ font-family: inherit;
14
+ line-height: var(--ui-line-height-normal);
15
+ color: var(--ui-color-text);
16
+ background-color: var(--ui-color-input-bg);
17
+ border: 1px solid var(--ui-color-input-border);
18
+ border-radius: var(--ui-radius-md);
19
+ transition: border-color var(--ui-transition-fast),
20
+ box-shadow var(--ui-transition-fast),
21
+ background-color var(--ui-transition-fast);
22
+ outline: none;
23
+ box-sizing: border-box;
24
+ }
25
+
26
+ .llm-input input::placeholder {
27
+ color: var(--ui-color-placeholder);
28
+ }
29
+
30
+ .llm-input input:hover:not(:disabled):not(:read-only) {
31
+ border-color: var(--ui-color-input-border-hover);
32
+ }
33
+
34
+ .llm-input input:focus {
35
+ border-color: var(--ui-color-input-border-focus);
36
+ background-color: var(--ui-color-input-bg-focus);
37
+ box-shadow: var(--ui-focus-ring);
38
+ }
39
+
40
+ .llm-input .input-field {
41
+ position: relative;
42
+ }
43
+
44
+ /* Invalid state */
45
+ .llm-input.is-invalid input {
46
+ border-color: var(--ui-color-input-border-invalid);
47
+ padding-right: 2.25rem;
48
+ }
49
+
50
+ .llm-input.is-invalid input:focus {
51
+ border-color: var(--ui-color-input-border-invalid);
52
+ box-shadow: 0 0 0 2px var(--ui-color-surface), 0 0 0 4px var(--ui-color-danger);
53
+ }
54
+
55
+ /* Non-color invalid indicator (WCAG 1.4.1) */
56
+ .llm-input.is-invalid .input-field::before {
57
+ content: '✕';
58
+ position: absolute;
59
+ top: 50%;
60
+ transform: translateY(-50%);
61
+ right: 0.875rem;
62
+ color: var(--ui-color-danger);
63
+ font-weight: 700;
64
+ line-height: 1;
65
+ pointer-events: none;
66
+ }
67
+
68
+ /* Disabled state */
69
+ .llm-input.is-disabled {
70
+ opacity: var(--ui-opacity-disabled);
71
+ cursor: not-allowed;
72
+ }
73
+
74
+ .llm-input.is-disabled input {
75
+ cursor: not-allowed;
76
+ }
77
+
78
+ /* Readonly state */
79
+ .llm-input.is-readonly input {
80
+ background-color: var(--ui-color-surface-sunken);
81
+ cursor: default;
82
+ }
83
+
84
+ /* Error messages */
85
+ .llm-input .errors {
86
+ margin-top: var(--ui-spacing-2);
87
+ }
88
+
89
+ .llm-input .error-message {
90
+ margin: 0;
91
+ font-size: var(--ui-font-size-sm);
92
+ color: var(--ui-color-error-text);
93
+ line-height: var(--ui-line-height-normal);
94
+ }
@@ -37,5 +37,5 @@ export interface LlmInputProps extends Omit<InputHTMLAttributes<HTMLInputElement
37
37
  /**
38
38
  * A versatile input component for text entry.
39
39
  */
40
- export declare function LlmInput({ type, value, onChange, onValueChange, invalid, errors, disabled, readOnly: reactReadOnly, readonly: specReadOnly, required, label, className, id, ...rest }: LlmInputProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function LlmInput({ type, value, onChange, onValueChange, invalid, errors, disabled, readOnly: reactReadOnly, readonly: specReadOnly, required, label, className, id, ...rest }: LlmInputProps): import("react").JSX.Element;
41
41
  //# sourceMappingURL=llm-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-input.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/input/llm-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,EACtE,YAAY;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IAChE;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAa,EACb,KAAK,EACL,QAAQ,EACR,aAAa,EACb,OAAe,EACf,MAAW,EACX,QAAgB,EAChB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,YAAY,EACtB,QAAgB,EAChB,KAAK,EACL,SAAS,EACT,EAAE,EACF,GAAG,IAAI,EACR,EAAE,aAAa,2CAkDf"}
1
+ {"version":3,"file":"llm-input.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/input/llm-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,EACtE,YAAY;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IAChE;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAa,EACb,KAAK,EACL,QAAQ,EACR,aAAa,EACb,OAAe,EACf,MAAW,EACX,QAAgB,EAChB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,YAAY,EACtB,QAAgB,EAChB,KAAK,EACL,SAAS,EACT,EAAE,EACF,GAAG,IAAI,EACR,EAAE,aAAa,+BAkDf"}