@navette-js/panels 0.0.0-stage → 1.0.0-beta.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 (207) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -2
  3. package/THIRD-PARTY-NOTICES.md +12 -0
  4. package/dist/FILAMENT-LICENSE.md +21 -0
  5. package/dist/filament/css/filament/filament/app.css +2 -0
  6. package/dist/filament/fonts/INTER-LICENSE.txt +92 -0
  7. package/dist/filament/fonts/filament/filament/inter/index.css +1 -0
  8. package/dist/filament/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-SP7Z6XGK.woff2 +0 -0
  9. package/dist/filament/fonts/filament/filament/inter/inter-cyrillic-wght-normal-DR6K5BQD.woff2 +0 -0
  10. package/dist/filament/fonts/filament/filament/inter/inter-greek-ext-wght-normal-A2J6H3EX.woff2 +0 -0
  11. package/dist/filament/fonts/filament/filament/inter/inter-greek-wght-normal-ZABHMKQG.woff2 +0 -0
  12. package/dist/filament/fonts/filament/filament/inter/inter-latin-ext-wght-normal-ZIT2UBIY.woff2 +0 -0
  13. package/dist/filament/fonts/filament/filament/inter/inter-latin-wght-normal-DIHYUR35.woff2 +0 -0
  14. package/dist/filament/fonts/filament/filament/inter/inter-vietnamese-wght-normal-VWEHJHBA.woff2 +0 -0
  15. package/dist/filament/js/filament/actions/actions.js +1 -0
  16. package/dist/filament/js/filament/filament/app.js +1 -0
  17. package/dist/filament/js/filament/filament/echo.js +13 -0
  18. package/dist/filament/js/filament/forms/components/builder.js +1 -0
  19. package/dist/filament/js/filament/forms/components/checkbox-list.js +1 -0
  20. package/dist/filament/js/filament/forms/components/code-editor.js +38 -0
  21. package/dist/filament/js/filament/forms/components/color-picker.js +1 -0
  22. package/dist/filament/js/filament/forms/components/date-time-picker.js +1 -0
  23. package/dist/filament/js/filament/forms/components/file-upload.js +116 -0
  24. package/dist/filament/js/filament/forms/components/js-field.js +1 -0
  25. package/dist/filament/js/filament/forms/components/key-value.js +1 -0
  26. package/dist/filament/js/filament/forms/components/markdown-editor.js +51 -0
  27. package/dist/filament/js/filament/forms/components/repeater.js +1 -0
  28. package/dist/filament/js/filament/forms/components/rich-editor.js +161 -0
  29. package/dist/filament/js/filament/forms/components/select.js +11 -0
  30. package/dist/filament/js/filament/forms/components/slider.js +1 -0
  31. package/dist/filament/js/filament/forms/components/tags-input.js +1 -0
  32. package/dist/filament/js/filament/forms/components/text-input/password-reveal.js +1 -0
  33. package/dist/filament/js/filament/forms/components/textarea.js +1 -0
  34. package/dist/filament/js/filament/forms/components/toggle-buttons.js +1 -0
  35. package/dist/filament/js/filament/notifications/notifications.js +1 -0
  36. package/dist/filament/js/filament/schemas/components/actions.js +1 -0
  37. package/dist/filament/js/filament/schemas/components/js-component.js +1 -0
  38. package/dist/filament/js/filament/schemas/components/tabs.js +1 -0
  39. package/dist/filament/js/filament/schemas/components/wizard.js +1 -0
  40. package/dist/filament/js/filament/schemas/schemas.js +1 -0
  41. package/dist/filament/js/filament/support/support.js +46 -0
  42. package/dist/filament/js/filament/tables/components/columns/checkbox.js +1 -0
  43. package/dist/filament/js/filament/tables/components/columns/select.js +11 -0
  44. package/dist/filament/js/filament/tables/components/columns/text-input.js +1 -0
  45. package/dist/filament/js/filament/tables/components/columns/toggle.js +1 -0
  46. package/dist/filament/js/filament/tables/tables.js +1 -0
  47. package/dist/filament/js/filament/widgets/components/chart.js +31 -0
  48. package/dist/filament/js/filament/widgets/components/js-widget.js +1 -0
  49. package/dist/filament/js/filament/widgets/components/stats-overview/stat/chart.js +20 -0
  50. package/dist/navette/navette/calendar.css +108 -0
  51. package/dist/navette/navette/motion.css +101 -0
  52. package/dist/navette/navette/motion.js +49 -0
  53. package/lib/auth.d.ts +61 -0
  54. package/lib/auth.js +140 -0
  55. package/lib/calendar.d.ts +82 -0
  56. package/lib/calendar.js +107 -0
  57. package/lib/index.d.ts +1624 -0
  58. package/lib/index.js +3532 -0
  59. package/lib/notifications.d.ts +76 -0
  60. package/lib/notifications.js +112 -0
  61. package/lib/topbar.d.ts +90 -0
  62. package/lib/topbar.js +240 -0
  63. package/package.json +58 -4
  64. package/resources/filament/LICENSE.md +21 -0
  65. package/resources/filament/README.md +2 -0
  66. package/resources/filament/packages/actions/resources/css/actions.css +30 -0
  67. package/resources/filament/packages/actions/resources/css/index.css +1 -0
  68. package/resources/filament/packages/forms/dist/index.css +1 -0
  69. package/resources/filament/packages/forms/resources/css/components/builder.css +206 -0
  70. package/resources/filament/packages/forms/resources/css/components/checkbox-list.css +55 -0
  71. package/resources/filament/packages/forms/resources/css/components/code-editor.css +79 -0
  72. package/resources/filament/packages/forms/resources/css/components/color-picker.css +17 -0
  73. package/resources/filament/packages/forms/resources/css/components/date-time-picker.css +127 -0
  74. package/resources/filament/packages/forms/resources/css/components/field.css +88 -0
  75. package/resources/filament/packages/forms/resources/css/components/file-upload/filepond-plugin-media-preview.css +104 -0
  76. package/resources/filament/packages/forms/resources/css/components/file-upload.css +199 -0
  77. package/resources/filament/packages/forms/resources/css/components/key-value.css +57 -0
  78. package/resources/filament/packages/forms/resources/css/components/markdown-editor.css +343 -0
  79. package/resources/filament/packages/forms/resources/css/components/modal-table-select.css +17 -0
  80. package/resources/filament/packages/forms/resources/css/components/radio.css +41 -0
  81. package/resources/filament/packages/forms/resources/css/components/repeater.css +401 -0
  82. package/resources/filament/packages/forms/resources/css/components/rich-editor.css +666 -0
  83. package/resources/filament/packages/forms/resources/css/components/select.css +13 -0
  84. package/resources/filament/packages/forms/resources/css/components/slider.css +54 -0
  85. package/resources/filament/packages/forms/resources/css/components/tags-input.css +33 -0
  86. package/resources/filament/packages/forms/resources/css/components/text-input.css +20 -0
  87. package/resources/filament/packages/forms/resources/css/components/textarea.css +26 -0
  88. package/resources/filament/packages/forms/resources/css/components/toggle-buttons.css +49 -0
  89. package/resources/filament/packages/forms/resources/css/index.css +32 -0
  90. package/resources/filament/packages/infolists/resources/css/components/code.css +21 -0
  91. package/resources/filament/packages/infolists/resources/css/components/color.css +34 -0
  92. package/resources/filament/packages/infolists/resources/css/components/entry.css +68 -0
  93. package/resources/filament/packages/infolists/resources/css/components/icon.css +39 -0
  94. package/resources/filament/packages/infolists/resources/css/components/image.css +161 -0
  95. package/resources/filament/packages/infolists/resources/css/components/key-value.css +24 -0
  96. package/resources/filament/packages/infolists/resources/css/components/repeatable.css +136 -0
  97. package/resources/filament/packages/infolists/resources/css/components/text.css +234 -0
  98. package/resources/filament/packages/infolists/resources/css/index.css +14 -0
  99. package/resources/filament/packages/notifications/resources/css/database-notifications.css +56 -0
  100. package/resources/filament/packages/notifications/resources/css/index.css +3 -0
  101. package/resources/filament/packages/notifications/resources/css/notification.css +109 -0
  102. package/resources/filament/packages/notifications/resources/css/notifications.css +29 -0
  103. package/resources/filament/packages/panels/resources/css/base.css +13 -0
  104. package/resources/filament/packages/panels/resources/css/components/global-search.css +93 -0
  105. package/resources/filament/packages/panels/resources/css/components/header.css +56 -0
  106. package/resources/filament/packages/panels/resources/css/components/layout.css +182 -0
  107. package/resources/filament/packages/panels/resources/css/components/logo.css +11 -0
  108. package/resources/filament/packages/panels/resources/css/components/page.css +60 -0
  109. package/resources/filament/packages/panels/resources/css/components/sidebar.css +311 -0
  110. package/resources/filament/packages/panels/resources/css/components/tenant-menu.css +49 -0
  111. package/resources/filament/packages/panels/resources/css/components/theme-switcher.css +15 -0
  112. package/resources/filament/packages/panels/resources/css/components/topbar.css +89 -0
  113. package/resources/filament/packages/panels/resources/css/components/user-menu.css +46 -0
  114. package/resources/filament/packages/panels/resources/css/index.css +40 -0
  115. package/resources/filament/packages/panels/resources/css/theme.css +2 -0
  116. package/resources/filament/packages/panels/resources/css/utilities.css +3 -0
  117. package/resources/filament/packages/panels/resources/css/widgets/account-widget.css +21 -0
  118. package/resources/filament/packages/panels/resources/css/widgets/filament-info-widget.css +21 -0
  119. package/resources/filament/packages/schemas/resources/css/components/actions.css +29 -0
  120. package/resources/filament/packages/schemas/resources/css/components/flex.css +106 -0
  121. package/resources/filament/packages/schemas/resources/css/components/form.css +7 -0
  122. package/resources/filament/packages/schemas/resources/css/components/fused-group.css +337 -0
  123. package/resources/filament/packages/schemas/resources/css/components/icon.css +11 -0
  124. package/resources/filament/packages/schemas/resources/css/components/image.css +12 -0
  125. package/resources/filament/packages/schemas/resources/css/components/section.css +24 -0
  126. package/resources/filament/packages/schemas/resources/css/components/tabs.css +77 -0
  127. package/resources/filament/packages/schemas/resources/css/components/text.css +77 -0
  128. package/resources/filament/packages/schemas/resources/css/components/unordered-list.css +15 -0
  129. package/resources/filament/packages/schemas/resources/css/components/wizard.css +177 -0
  130. package/resources/filament/packages/schemas/resources/css/index.css +12 -0
  131. package/resources/filament/packages/schemas/resources/css/schema.css +132 -0
  132. package/resources/filament/packages/support/dist/index.css +1 -0
  133. package/resources/filament/packages/support/resources/css/base.css +23 -0
  134. package/resources/filament/packages/support/resources/css/components/avatar.css +15 -0
  135. package/resources/filament/packages/support/resources/css/components/badge.css +90 -0
  136. package/resources/filament/packages/support/resources/css/components/breadcrumbs.css +25 -0
  137. package/resources/filament/packages/support/resources/css/components/button.css +214 -0
  138. package/resources/filament/packages/support/resources/css/components/callout.css +57 -0
  139. package/resources/filament/packages/support/resources/css/components/dropdown/header.css +21 -0
  140. package/resources/filament/packages/support/resources/css/components/dropdown/index.css +79 -0
  141. package/resources/filament/packages/support/resources/css/components/dropdown/list/index.css +7 -0
  142. package/resources/filament/packages/support/resources/css/components/dropdown/list/item.css +74 -0
  143. package/resources/filament/packages/support/resources/css/components/empty-state.css +67 -0
  144. package/resources/filament/packages/support/resources/css/components/fieldset.css +23 -0
  145. package/resources/filament/packages/support/resources/css/components/grid.css +511 -0
  146. package/resources/filament/packages/support/resources/css/components/icon-button.css +124 -0
  147. package/resources/filament/packages/support/resources/css/components/icon.css +31 -0
  148. package/resources/filament/packages/support/resources/css/components/input/checkbox.css +32 -0
  149. package/resources/filament/packages/support/resources/css/components/input/index.css +55 -0
  150. package/resources/filament/packages/support/resources/css/components/input/one-time-code.css +7 -0
  151. package/resources/filament/packages/support/resources/css/components/input/radio.css +11 -0
  152. package/resources/filament/packages/support/resources/css/components/input/select.css +154 -0
  153. package/resources/filament/packages/support/resources/css/components/input/wrapper.css +107 -0
  154. package/resources/filament/packages/support/resources/css/components/link.css +90 -0
  155. package/resources/filament/packages/support/resources/css/components/loading-indicator.css +3 -0
  156. package/resources/filament/packages/support/resources/css/components/loading-section.css +3 -0
  157. package/resources/filament/packages/support/resources/css/components/modal.css +494 -0
  158. package/resources/filament/packages/support/resources/css/components/pagination.css +160 -0
  159. package/resources/filament/packages/support/resources/css/components/section.css +234 -0
  160. package/resources/filament/packages/support/resources/css/components/tabs.css +70 -0
  161. package/resources/filament/packages/support/resources/css/components/toggle.css +60 -0
  162. package/resources/filament/packages/support/resources/css/components/tooltip.css +36 -0
  163. package/resources/filament/packages/support/resources/css/index.css +133 -0
  164. package/resources/filament/packages/support/resources/css/sortable.css +3 -0
  165. package/resources/filament/packages/support/resources/css/utilities.css +897 -0
  166. package/resources/filament/packages/tables/resources/css/actions.css +51 -0
  167. package/resources/filament/packages/tables/resources/css/cell.css +139 -0
  168. package/resources/filament/packages/tables/resources/css/column-manager.css +48 -0
  169. package/resources/filament/packages/tables/resources/css/columns/checkbox.css +54 -0
  170. package/resources/filament/packages/tables/resources/css/columns/color.css +76 -0
  171. package/resources/filament/packages/tables/resources/css/columns/icon.css +81 -0
  172. package/resources/filament/packages/tables/resources/css/columns/image.css +207 -0
  173. package/resources/filament/packages/tables/resources/css/columns/layout/grid.css +49 -0
  174. package/resources/filament/packages/tables/resources/css/columns/layout/panel.css +3 -0
  175. package/resources/filament/packages/tables/resources/css/columns/layout/split.css +35 -0
  176. package/resources/filament/packages/tables/resources/css/columns/layout/stack.css +29 -0
  177. package/resources/filament/packages/tables/resources/css/columns/select.css +36 -0
  178. package/resources/filament/packages/tables/resources/css/columns/summaries/icon-count.css +43 -0
  179. package/resources/filament/packages/tables/resources/css/columns/summaries/range.css +27 -0
  180. package/resources/filament/packages/tables/resources/css/columns/summaries/text.css +29 -0
  181. package/resources/filament/packages/tables/resources/css/columns/summaries/values.css +33 -0
  182. package/resources/filament/packages/tables/resources/css/columns/text-input.css +36 -0
  183. package/resources/filament/packages/tables/resources/css/columns/text.css +319 -0
  184. package/resources/filament/packages/tables/resources/css/columns/toggle.css +54 -0
  185. package/resources/filament/packages/tables/resources/css/container.css +311 -0
  186. package/resources/filament/packages/tables/resources/css/content.css +342 -0
  187. package/resources/filament/packages/tables/resources/css/empty-state.css +31 -0
  188. package/resources/filament/packages/tables/resources/css/group-header.css +54 -0
  189. package/resources/filament/packages/tables/resources/css/header-cell.css +224 -0
  190. package/resources/filament/packages/tables/resources/css/index.css +26 -0
  191. package/resources/filament/packages/tables/resources/css/row.css +47 -0
  192. package/resources/filament/packages/tables/resources/css/table.css +394 -0
  193. package/resources/filament/packages/widgets/resources/css/chart-widget.css +88 -0
  194. package/resources/filament/packages/widgets/resources/css/index.css +3 -0
  195. package/resources/filament/packages/widgets/resources/css/stats-overview-widget.css +67 -0
  196. package/resources/filament/packages/widgets/resources/css/widget.css +3 -0
  197. package/theme.css +17 -0
  198. package/views/components/logo.ejs +9 -0
  199. package/views/components/tenant-menu.ejs +13 -0
  200. package/views/components/user-menu.ejs +82 -0
  201. package/views/layout/base.ejs +129 -0
  202. package/views/layout/index.ejs +41 -0
  203. package/views/layout/simple.ejs +19 -0
  204. package/views/livewire/sidebar.ejs +123 -0
  205. package/views/livewire/topbar.ejs +47 -0
  206. package/views/pages/page.ejs +143 -0
  207. package/views/pages/simple.ejs +32 -0
@@ -0,0 +1,234 @@
1
+ .fi-in-text {
2
+ @apply w-full;
3
+
4
+ &.fi-numeric {
5
+ /* Numeric and money entries use tabular figures, so digits line up
6
+ down a column of entries. */
7
+ @apply tabular-nums;
8
+ }
9
+
10
+ &.fi-in-text-affixed {
11
+ @apply flex gap-3;
12
+ }
13
+
14
+ & .fi-in-text-affixed-content {
15
+ @apply min-w-0 flex-1;
16
+ }
17
+
18
+ & .fi-in-text-affix {
19
+ @apply flex items-center gap-3 self-stretch;
20
+ }
21
+
22
+ &.fi-in-text-list-limited {
23
+ /* Add space between content and list limit message. */
24
+ @apply flex flex-col;
25
+
26
+ &.fi-in-text-has-badges {
27
+ /* When the content contains badges, more gap is required to balance the spacing. */
28
+ @apply gap-y-2;
29
+ }
30
+
31
+ &:not(.fi-in-text-has-badges) {
32
+ /* When the content does not contain badges, less gap is required to balance the spacing. */
33
+ @apply gap-y-1;
34
+ }
35
+ }
36
+
37
+ ul&.fi-bulleted,
38
+ &.fi-bulleted ul {
39
+ @apply list-inside list-disc;
40
+ }
41
+
42
+ &:not(.fi-in-text-has-line-breaks) {
43
+ ul&.fi-in-text-has-badges,
44
+ &.fi-in-text-has-badges ul {
45
+ /* A list of badges without line breaks need to remain on the same line, not wrap */
46
+ @apply flex gap-x-1.5;
47
+
48
+ &.fi-wrapped,
49
+ &:is(.fi-wrapped ul) {
50
+ /* When wrap is enabled, some badges can remain on the same line as others and some should wrap */
51
+ @apply flex-wrap gap-y-1;
52
+ }
53
+ }
54
+ }
55
+
56
+ ul&.fi-in-text-has-badges,
57
+ &.fi-in-text-has-badges ul {
58
+ &.fi-in-text-has-line-breaks,
59
+ &:is(.fi-in-text-has-line-breaks ul) {
60
+ /* Add vertical gap between badges in a list with line breaks */
61
+ @apply flex flex-col gap-y-1;
62
+ }
63
+
64
+ &:not(ul.fi-in-text-has-line-breaks),
65
+ &:not(.fi-in-text-has-line-breaks ul) {
66
+ /* A list of badges without line breaks need to remain on the same line, not wrap */
67
+ @apply flex gap-x-1.5;
68
+
69
+ &.fi-wrapped,
70
+ &:is(.fi-wrapped ul) {
71
+ /* When wrap is enabled, some badges can remain on the same line as others and some should wrap */
72
+ @apply flex-wrap gap-y-1;
73
+ }
74
+ }
75
+ }
76
+
77
+ &.fi-wrapped:not(.fi-in-text-has-badges.fi-in-text-has-line-breaks) {
78
+ /* If the content has badges, and they have line breaks, setting `whitespace-normal` sometimes pushes the badge
79
+ onto the line below the bullet point if there is one, and badge content does not need to wrap anyway. */
80
+ @apply whitespace-normal;
81
+ @apply wrap-break-word;
82
+
83
+ & .fi-badge,
84
+ & .fi-in-text-list-limited-message {
85
+ /* Badge content and list limited message and actions should not wrap. */
86
+ @apply whitespace-nowrap;
87
+ }
88
+ }
89
+
90
+ & > .fi-in-text-list-limited-message {
91
+ @apply text-sm text-gray-500 dark:text-gray-400;
92
+ }
93
+
94
+ &.fi-align-center {
95
+ @apply text-center;
96
+
97
+ ul&,
98
+ & ul {
99
+ @apply justify-center;
100
+ }
101
+ }
102
+
103
+ &.fi-align-end,
104
+ &.fi-align-right {
105
+ @apply text-end;
106
+
107
+ ul&,
108
+ & ul {
109
+ @apply justify-end;
110
+ }
111
+ }
112
+
113
+ &.fi-align-justify,
114
+ &.fi-align-between {
115
+ @apply text-justify;
116
+
117
+ ul&,
118
+ & ul {
119
+ @apply justify-between;
120
+ }
121
+ }
122
+ }
123
+
124
+ .fi-in-text-item {
125
+ @apply text-gray-950 dark:text-white;
126
+
127
+ & a {
128
+ @apply hover:underline focus-visible:underline;
129
+ }
130
+
131
+ &:not(.fi-bulleted li.fi-in-text-item) {
132
+ /* Line clamping sets the `display` property of the list item to `-webkit-box` instead of `list-item`, which hides the bullet point. */
133
+ @apply line-clamp-(--line-clamp,none);
134
+ }
135
+
136
+ & > .fi-copyable {
137
+ @apply focus-visible:ring-primary-600 dark:focus-visible:ring-primary-500 cursor-pointer rounded-md outline-none focus-visible:ring-2;
138
+ }
139
+
140
+ &.fi-size-xs {
141
+ @apply text-xs;
142
+ }
143
+
144
+ &.fi-size-sm {
145
+ @apply text-sm;
146
+ }
147
+
148
+ &.fi-size-md {
149
+ @apply text-base;
150
+ }
151
+
152
+ &.fi-size-lg {
153
+ @apply text-lg;
154
+ }
155
+
156
+ &.fi-font-thin {
157
+ @apply font-thin;
158
+ }
159
+
160
+ &.fi-font-extralight {
161
+ @apply font-extralight;
162
+ }
163
+
164
+ &.fi-font-light {
165
+ @apply font-light;
166
+ }
167
+
168
+ &.fi-font-normal {
169
+ @apply font-normal;
170
+ }
171
+
172
+ &.fi-font-medium {
173
+ @apply font-medium;
174
+ }
175
+
176
+ &.fi-font-semibold {
177
+ @apply font-semibold;
178
+ }
179
+
180
+ &.fi-font-bold {
181
+ @apply font-bold;
182
+ }
183
+
184
+ &.fi-font-extrabold {
185
+ @apply font-extrabold;
186
+ }
187
+
188
+ &.fi-font-black {
189
+ @apply font-black;
190
+ }
191
+
192
+ &.fi-font-sans {
193
+ @apply font-sans;
194
+ }
195
+
196
+ &.fi-font-serif {
197
+ @apply font-serif;
198
+ }
199
+
200
+ &.fi-font-mono {
201
+ @apply font-mono;
202
+ }
203
+
204
+ &.fi-color {
205
+ @apply text-(--text) dark:text-(--dark-text);
206
+
207
+ li&::marker {
208
+ @apply text-gray-950;
209
+ }
210
+
211
+ @variant dark {
212
+ li&::marker {
213
+ @apply text-white;
214
+ }
215
+ }
216
+ }
217
+
218
+ &.fi-color-gray {
219
+ @apply text-gray-500 dark:text-gray-400;
220
+
221
+ li&::marker {
222
+ @apply text-gray-950;
223
+ }
224
+ }
225
+
226
+ & > .fi-icon,
227
+ & > span:not(.fi-badge) > .fi-icon {
228
+ @apply inline-block shrink-0 text-gray-400 dark:text-gray-500;
229
+
230
+ &.fi-color {
231
+ @apply text-color-500;
232
+ }
233
+ }
234
+ }
@@ -0,0 +1,14 @@
1
+ @import './components/code.css' layer(components);
2
+ @import './components/color.css' layer(components);
3
+ @import './components/entry.css' layer(components);
4
+ @import './components/key-value.css' layer(components);
5
+ @import './components/icon.css' layer(components);
6
+ @import './components/image.css' layer(components);
7
+ @import './components/repeatable.css' layer(components);
8
+ @import './components/text.css' layer(components);
9
+
10
+ @layer utilities {
11
+ .fi-in-text-item.fi-prose {
12
+ font-size: revert-layer;
13
+ }
14
+ }
@@ -0,0 +1,56 @@
1
+ .fi-no-database {
2
+ @apply flex;
3
+
4
+ /* `.fi-no-database` sits on the teleported modal root as well as on this
5
+ trigger wrapper, and the compound is what lets the zeroed gutter below
6
+ outrank the modal's own `px-6`. */
7
+ &.fi-modal .fi-modal-window-ctn > .fi-modal-window {
8
+ & .fi-modal-heading {
9
+ @apply relative inline-block;
10
+
11
+ & .fi-badge {
12
+ @apply absolute start-full -top-1 ms-1 w-max;
13
+ }
14
+ }
15
+
16
+ & .fi-modal-header {
17
+ & .fi-ac {
18
+ @apply mt-2;
19
+ }
20
+ }
21
+
22
+ & .fi-modal-content {
23
+ /* The list runs flush to the window's edges by ZEROING the
24
+ padding, not by cancelling it with negative margins: a
25
+ cancelled `pb` stays behind the last notification as dead
26
+ scroll space, and cancelled `px` leaves the content's border
27
+ box wider than the window, so the scroll container scrolls
28
+ sideways over empty space. */
29
+ @apply gap-y-0 p-0;
30
+
31
+ & .fi-no-notifications {
32
+ @apply -mb-px divide-y divide-gray-200 dark:divide-white/10;
33
+
34
+ & > :last-child {
35
+ @apply border-b border-gray-200 dark:border-white/10;
36
+ }
37
+ }
38
+
39
+ & .fi-no-notifications-loading-ctn {
40
+ @apply flex justify-center p-6 text-gray-400 dark:text-gray-500;
41
+ }
42
+ }
43
+
44
+ &.fi-modal-window-has-footer .fi-modal-content {
45
+ @apply border-b border-gray-200 dark:border-white/10;
46
+ }
47
+
48
+ & .fi-modal-footer {
49
+ @apply pt-6;
50
+ }
51
+ }
52
+
53
+ & .fi-no-notification-unread-ctn {
54
+ @apply before:bg-primary-600 dark:before:bg-primary-500 relative before:absolute before:start-0 before:h-full before:w-0.5;
55
+ }
56
+ }
@@ -0,0 +1,3 @@
1
+ @import './database-notifications.css' layer(components);
2
+ @import './notification.css' layer(components);
3
+ @import './notifications.css' layer(components);
@@ -0,0 +1,109 @@
1
+ .fi-no-notification {
2
+ @apply pointer-events-auto invisible flex w-full shrink-0 gap-3 overflow-hidden p-4 transition duration-300;
3
+
4
+ & .fi-no-notification-icon {
5
+ @apply text-gray-400;
6
+
7
+ &.fi-color {
8
+ @apply text-color-400;
9
+ }
10
+ }
11
+
12
+ & .fi-no-notification-main {
13
+ @apply mt-0.5 grid flex-1 gap-3;
14
+ }
15
+
16
+ & .fi-no-notification-text {
17
+ @apply grid gap-1;
18
+ }
19
+
20
+ & .fi-no-notification-title {
21
+ @apply text-sm font-medium text-gray-950 dark:text-white;
22
+ }
23
+
24
+ & .fi-no-notification-date {
25
+ @apply text-sm text-gray-500 dark:text-gray-400;
26
+ }
27
+
28
+ & .fi-no-notification-body {
29
+ @apply overflow-hidden text-sm text-pretty break-words text-gray-500 dark:text-gray-400;
30
+
31
+ & > p:not(:first-of-type) {
32
+ @apply mt-1;
33
+ }
34
+ }
35
+
36
+ &:not(.fi-inline) {
37
+ @apply flex max-w-sm gap-3 rounded-xl bg-white p-4 shadow-lg ring-1 ring-gray-950/5 dark:bg-gray-900 dark:ring-white/10;
38
+
39
+ &.fi-color {
40
+ @apply ring-color-600/20 dark:ring-color-400/30;
41
+ }
42
+
43
+ &.fi-transition-leave-end {
44
+ @apply scale-95;
45
+ }
46
+ }
47
+
48
+ &.fi-color {
49
+ background-color: color-mix(in oklab, white 90%, var(--color-400));
50
+
51
+ @variant dark {
52
+ background-color: color-mix(
53
+ in oklab,
54
+ var(--gray-900) 90%,
55
+ var(--color-400)
56
+ );
57
+ }
58
+
59
+ & .fi-no-notification-body {
60
+ @apply text-gray-700/75 dark:text-gray-300/75;
61
+ }
62
+ }
63
+
64
+ &.fi-transition-enter-start {
65
+ @apply opacity-0;
66
+ }
67
+
68
+ &.fi-transition-leave-end {
69
+ @apply opacity-0;
70
+ }
71
+ }
72
+
73
+ .fi-no {
74
+ &.fi-align-start,
75
+ &.fi-align-left {
76
+ & .fi-no-notification {
77
+ &.fi-transition-enter-start {
78
+ @apply -translate-x-12 rtl:translate-x-12;
79
+ }
80
+ }
81
+ }
82
+
83
+ &.fi-align-end,
84
+ &.fi-align-right {
85
+ & .fi-no-notification {
86
+ &.fi-transition-enter-start {
87
+ @apply translate-x-12 rtl:-translate-x-12;
88
+ }
89
+ }
90
+ }
91
+
92
+ &.fi-align-center {
93
+ &.fi-vertical-align-start {
94
+ & .fi-no-notification {
95
+ &.fi-transition-enter-start {
96
+ @apply -translate-y-12;
97
+ }
98
+ }
99
+ }
100
+
101
+ &.fi-vertical-align-end {
102
+ & .fi-no-notification {
103
+ &.fi-transition-enter-start {
104
+ @apply translate-y-12;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,29 @@
1
+ .fi-no {
2
+ @apply pointer-events-none fixed inset-4 z-50 mx-auto flex gap-3;
3
+
4
+ &.fi-align-start,
5
+ &.fi-align-left {
6
+ @apply items-start;
7
+ }
8
+
9
+ &.fi-align-center {
10
+ @apply items-center;
11
+ }
12
+
13
+ &.fi-align-end,
14
+ &.fi-align-right {
15
+ @apply items-end;
16
+ }
17
+
18
+ &.fi-vertical-align-start {
19
+ @apply flex-col-reverse justify-end;
20
+ }
21
+
22
+ &.fi-vertical-align-center {
23
+ @apply flex-col justify-center;
24
+ }
25
+
26
+ &.fi-vertical-align-end {
27
+ @apply flex-col justify-end;
28
+ }
29
+ }
@@ -0,0 +1,13 @@
1
+ :root.dark {
2
+ color-scheme: dark;
3
+ }
4
+
5
+ /* When scrolling to a validation error, do not hide the element behind the top bar.
6
+ Server-side validation errors scroll to the wrapper, while native browser validation
7
+ scrolls to the focused control itself, which can be any focusable descendant, and
8
+ `scroll-margin` is not inherited. The clearance is the topbar height plus breathing
9
+ room, so it tracks a customized topbar. */
10
+ [data-field-wrapper],
11
+ [data-field-wrapper] * {
12
+ scroll-margin-top: calc(var(--topbar-height) + 4rem);
13
+ }
@@ -0,0 +1,93 @@
1
+ .fi-global-search-ctn {
2
+ @apply flex items-center;
3
+ }
4
+
5
+ .fi-global-search {
6
+ @apply flex-1 sm:relative;
7
+ }
8
+
9
+ .fi-global-search-results-ctn {
10
+ @apply absolute inset-x-4 z-10 mt-2 max-h-96 overflow-auto rounded-lg bg-white shadow-lg ring-1 ring-gray-950/5 transition sm:inset-x-auto dark:bg-gray-900 dark:ring-white/10;
11
+
12
+ /**
13
+ * This zero translation along the z-axis fixes a Safari bug
14
+ * where the results container is incorrectly placed in the stacking context
15
+ * due to the overflow-x value of clip on the topbar element.
16
+ *
17
+ * https://github.com/filamentphp/filament/issues/8215
18
+ */
19
+ transform: translateZ(0);
20
+
21
+ &.fi-transition-enter-start,
22
+ &.fi-transition-leave-end {
23
+ @apply opacity-0;
24
+ }
25
+ }
26
+
27
+ .fi-topbar .fi-global-search-results-ctn {
28
+ @apply sm:end-0 sm:w-screen sm:max-w-sm;
29
+ }
30
+
31
+ .fi-sidebar {
32
+ & .fi-global-search-ctn {
33
+ @apply mx-3 mt-3;
34
+ }
35
+
36
+ & .fi-global-search-results-ctn {
37
+ @apply sm:start-0;
38
+ }
39
+ }
40
+
41
+ .fi-global-search-no-results-message {
42
+ @apply px-4 py-4 text-sm text-gray-500 dark:text-gray-400;
43
+ }
44
+
45
+ .fi-global-search-results {
46
+ @apply divide-y divide-gray-200 dark:divide-white/10;
47
+ }
48
+
49
+ .fi-global-search-result-group-header {
50
+ @apply sticky top-0 z-10 border-b border-gray-200 bg-gray-50 px-4 py-2 text-sm font-semibold text-gray-950 capitalize dark:border-white/10 dark:bg-gray-800 dark:text-white;
51
+ }
52
+
53
+ .fi-global-search-result-group-results {
54
+ @apply divide-y divide-gray-200 dark:divide-white/10;
55
+ }
56
+
57
+ .fi-global-search-result {
58
+ @apply scroll-mt-9 transition duration-75 focus-within:bg-gray-50 hover:bg-gray-50 dark:focus-within:bg-white/5 dark:hover:bg-white/5;
59
+
60
+ &.fi-global-search-result-has-actions {
61
+ & .fi-global-search-result-link {
62
+ @apply pb-0;
63
+ }
64
+ }
65
+ }
66
+
67
+ .fi-global-search-result-link {
68
+ @apply block p-4 outline-hidden;
69
+ }
70
+
71
+ .fi-global-search-result-heading {
72
+ @apply text-sm font-medium text-gray-950 dark:text-white;
73
+ }
74
+
75
+ .fi-global-search-result-details {
76
+ @apply mt-1;
77
+ }
78
+
79
+ .fi-global-search-result-detail {
80
+ @apply text-sm text-gray-500 dark:text-gray-400;
81
+ }
82
+
83
+ .fi-global-search-result-detail-label {
84
+ @apply inline font-medium;
85
+ }
86
+
87
+ .fi-global-search-result-detail-value {
88
+ @apply inline;
89
+ }
90
+
91
+ .fi-global-search-result-actions {
92
+ @apply mt-3 flex gap-x-3 px-4 pb-4;
93
+ }
@@ -0,0 +1,56 @@
1
+ .fi-header {
2
+ @apply flex flex-col gap-4 sm:flex-row sm:flex-wrap sm:items-center sm:justify-between;
3
+
4
+ & .fi-breadcrumbs {
5
+ @apply mb-2 hidden sm:block;
6
+ }
7
+
8
+ & > div:first-child:not(.fi-header-actions-ctn) {
9
+ @apply max-w-full sm:w-max;
10
+ }
11
+
12
+ &.fi-header-has-subheading {
13
+ & .fi-header-actions-ctn {
14
+ @apply sm:self-center;
15
+ }
16
+ }
17
+ }
18
+
19
+ .fi-header-heading {
20
+ @apply text-2xl font-bold tracking-tight text-gray-950 sm:text-3xl dark:text-white;
21
+ }
22
+
23
+ .fi-header-subheading {
24
+ @apply mt-2 max-w-2xl text-lg text-gray-600 dark:text-gray-400;
25
+ }
26
+
27
+ .fi-header-actions-ctn {
28
+ @apply flex max-w-full shrink-0 items-center gap-3 sm:self-end;
29
+
30
+ & > .fi-ac {
31
+ @apply flex-1;
32
+
33
+ &:not(.fi-width-full) {
34
+ &.fi-align-end,
35
+ &.fi-align-right {
36
+ @apply flex-row justify-end;
37
+ }
38
+ }
39
+ }
40
+ }
41
+
42
+ .fi-simple-header {
43
+ @apply flex flex-col items-center;
44
+
45
+ & .fi-logo {
46
+ @apply mb-4 text-center leading-6 text-balance;
47
+ }
48
+ }
49
+
50
+ .fi-simple-header-heading {
51
+ @apply text-center text-2xl font-bold tracking-tight text-gray-950 dark:text-white;
52
+ }
53
+
54
+ .fi-simple-header-subheading {
55
+ @apply mt-2 text-center text-sm text-gray-500 dark:text-gray-400;
56
+ }