@navette-js/panels 0.0.0-stage → 1.0.0-beta.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.
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 +142 -0
  55. package/lib/calendar.d.ts +82 -0
  56. package/lib/calendar.js +107 -0
  57. package/lib/index.d.ts +1619 -0
  58. package/lib/index.js +3487 -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 +241 -0
  63. package/package.json +59 -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,55 @@
1
+ input.fi-input {
2
+ @apply block w-full appearance-none border-none bg-transparent px-3 py-1.5 text-start text-sm leading-6 text-gray-950 transition duration-75 placeholder:text-gray-400 focus:ring-0 focus:outline-none disabled:text-gray-500 disabled:[-webkit-text-fill-color:var(--color-gray-500)] disabled:placeholder:[-webkit-text-fill-color:var(--color-gray-400)] dark:text-white dark:placeholder:text-gray-500 dark:disabled:text-gray-400 dark:disabled:[-webkit-text-fill-color:var(--color-gray-400)] dark:disabled:placeholder:[-webkit-text-fill-color:var(--color-gray-500)];
3
+
4
+ /* https://defensivecss.dev/tip/input-zoom-safari */
5
+ @supports (-webkit-touch-callout: none) {
6
+ @apply text-base;
7
+ }
8
+
9
+ &.fi-input-has-inline-prefix {
10
+ @apply ps-0;
11
+ }
12
+
13
+ &.fi-input-has-inline-suffix {
14
+ @apply pe-0;
15
+ }
16
+
17
+ &.fi-align-center {
18
+ @apply text-center;
19
+ }
20
+
21
+ &.fi-align-end {
22
+ @apply text-end;
23
+ }
24
+
25
+ &.fi-align-left {
26
+ @apply text-left;
27
+ }
28
+
29
+ &.fi-align-right {
30
+ @apply text-end;
31
+ }
32
+
33
+ &.fi-align-justify,
34
+ &.fi-align-between {
35
+ @apply text-justify;
36
+ }
37
+ }
38
+
39
+ input[type='date'].fi-input,
40
+ input[type='datetime-local'].fi-input,
41
+ input[type='time'].fi-input {
42
+ /* An almost transparent white background color is used
43
+ instead of fully transparent to fix a Safari bug
44
+ where the date/time input "placeholder" colors too dark.
45
+
46
+ https://github.com/filamentphp/filament/issues/7087
47
+ https://github.com/filamentphp/filament/issues/18570 */
48
+
49
+ @apply bg-white/[1%];
50
+ }
51
+
52
+ input[type='range'].fi-input {
53
+ @apply mx-auto appearance-auto;
54
+ width: calc(100% - 1.5rem);
55
+ }
@@ -0,0 +1,7 @@
1
+ .fi-one-time-code-input-ctn {
2
+ @apply flex w-fit items-center gap-2;
3
+
4
+ & > .fi-one-time-code-input-digit {
5
+ @apply focus:border-primary-600 focus:ring-primary-600 dark:focus:border-primary-500 dark:focus:ring-primary-500 h-11 w-10 rounded-lg border border-gray-950/10 bg-white text-center font-mono text-base font-medium text-gray-950 transition duration-75 focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:text-gray-500 disabled:opacity-70 dark:border-white/20 dark:bg-white/5 dark:text-white;
6
+ }
7
+ }
@@ -0,0 +1,11 @@
1
+ input[type='radio'].fi-radio-input {
2
+ @apply text-primary-600 checked:bg-primary-600 focus:ring-primary-600 checked:focus:ring-primary-500/50 dark:text-primary-500 dark:checked:bg-primary-500 dark:focus:ring-primary-500 dark:checked:focus:ring-primary-400/50 size-4 appearance-none rounded-full border-none bg-white shadow-sm ring-1 ring-gray-950/10 checked:ring-0 focus:ring-2 focus:ring-offset-0 focus:outline-none disabled:bg-gray-50 disabled:text-gray-50 disabled:checked:bg-gray-400 disabled:checked:text-gray-400 dark:bg-white/5 dark:ring-white/20 dark:disabled:bg-transparent dark:disabled:ring-white/10 dark:disabled:checked:bg-gray-600;
3
+
4
+ &:checked {
5
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");
6
+ }
7
+
8
+ &.fi-invalid {
9
+ @apply text-danger-600 checked:bg-danger-600 ring-danger-600 focus:ring-danger-600 checked:focus:ring-danger-500/50 dark:text-danger-500 dark:checked:bg-danger-500 dark:ring-danger-500 dark:checked:bg-danger-500 dark:focus:ring-danger-500 dark:checked:focus:ring-danger-400/50;
10
+ }
11
+ }
@@ -0,0 +1,154 @@
1
+ select.fi-select-input {
2
+ @apply block w-full appearance-none border-none bg-transparent py-1.5 ps-3 pe-8 text-sm leading-6 text-gray-950 transition duration-75 focus:ring-0 focus:outline-none disabled:text-gray-500 disabled:[-webkit-text-fill-color:var(--color-gray-500)] dark:text-white dark:disabled:text-gray-400 dark:disabled:[-webkit-text-fill-color:var(--color-gray-400)] [&_optgroup]:bg-white [&_optgroup]:dark:bg-gray-900 [&_option]:bg-white [&_option]:dark:bg-gray-900;
3
+
4
+ /* https://defensivecss.dev/tip/input-zoom-safari */
5
+ @supports (-webkit-touch-callout: none) {
6
+ @apply text-base;
7
+ }
8
+
9
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
10
+ background-position: right 0.5rem center;
11
+ background-repeat: no-repeat;
12
+ background-size: 1.5em 1.5em;
13
+
14
+ @variant rtl {
15
+ background-position: left 0.5rem center;
16
+ }
17
+
18
+ &.fi-select-input-has-inline-prefix {
19
+ @apply ps-0;
20
+ }
21
+ }
22
+
23
+ .fi-select-input {
24
+ & .fi-select-input-ctn {
25
+ @apply relative;
26
+ }
27
+
28
+ & div[x-ref='select'] {
29
+ @apply min-h-9;
30
+ }
31
+
32
+ & .fi-select-input-btn {
33
+ @apply flex min-h-9 w-full rounded-lg py-1.5 ps-3 pe-8 text-start text-sm leading-6 text-gray-950 focus:ring-0 focus:outline-none dark:text-white;
34
+
35
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
36
+ background-position: right 0.5rem center;
37
+ background-repeat: no-repeat;
38
+ background-size: 1.5em 1.5em;
39
+
40
+ @variant rtl {
41
+ background-position: left 0.5rem center;
42
+ }
43
+ }
44
+
45
+ & .fi-select-input-value-ctn {
46
+ @apply flex w-full items-center text-wrap;
47
+ word-break: break-word;
48
+ }
49
+
50
+ & .fi-select-input-value-badges-ctn {
51
+ @apply flex flex-wrap gap-1.5;
52
+ }
53
+
54
+ & .fi-select-input-ctn-multiple {
55
+ & .fi-select-input-btn {
56
+ @apply absolute inset-0 h-full;
57
+ }
58
+
59
+ & .fi-select-input-value-ctn {
60
+ @apply pointer-events-none relative min-h-9 py-1.5 ps-3 pe-8;
61
+ }
62
+
63
+ & .fi-badge-delete-btn {
64
+ @apply pointer-events-auto;
65
+ }
66
+ }
67
+
68
+ & .fi-select-input-ctn-reorderable .fi-select-input-value-badges-ctn {
69
+ @apply pointer-events-auto;
70
+ }
71
+
72
+ & .fi-select-input-value-label {
73
+ @apply flex-1;
74
+ }
75
+
76
+ /* The glyph is a mask painted in `currentColor`, not a hardcoded fill, so
77
+ this rule's own hover and focus colors still reach it. */
78
+ & .fi-select-input-value-remove-btn {
79
+ @apply absolute end-8 top-1/2 size-4 -translate-y-1/2 text-gray-500 hover:text-gray-600 focus-visible:text-gray-600 focus-visible:outline-none dark:hover:text-gray-300 dark:focus-visible:text-gray-300;
80
+
81
+ background-color: currentColor;
82
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M5.28 4.22a.75.75 0 0 0-1.06 1.06L6.94 8l-2.72 2.72a.75.75 0 1 0 1.06 1.06L8 9.06l2.72 2.72a.75.75 0 1 0 1.06-1.06L9.06 8l2.72-2.72a.75.75 0 0 0-1.06-1.06L8 6.94 5.28 4.22Z' /%3E%3C/svg%3E");
83
+ mask-position: center;
84
+ mask-repeat: no-repeat;
85
+ }
86
+
87
+ & .fi-select-input-ctn-clearable .fi-select-input-btn {
88
+ @apply pe-14;
89
+ }
90
+
91
+ & .fi-select-input-ctn-clearable .fi-select-input-btn:disabled {
92
+ @apply pe-8;
93
+ }
94
+
95
+ & .fi-select-input-value-remove-btn:disabled,
96
+ & .fi-badge-delete-btn:disabled {
97
+ @apply hidden;
98
+ }
99
+
100
+ & .fi-dropdown-panel {
101
+ @apply max-h-60 max-w-full!;
102
+ }
103
+
104
+ & .fi-select-input-options-ctn {
105
+ @apply divide-y divide-gray-100 dark:divide-white/5;
106
+ }
107
+
108
+ & .fi-select-input-option-group {
109
+ @apply divide-y divide-gray-100 dark:divide-white/5;
110
+
111
+ & .fi-dropdown-header {
112
+ @apply font-medium text-gray-500 dark:text-gray-400;
113
+ }
114
+ }
115
+
116
+ & .fi-select-input-search-ctn {
117
+ @apply sticky top-0 z-10 bg-white dark:bg-gray-900;
118
+ }
119
+
120
+ & .fi-select-input-option {
121
+ @apply min-w-px text-wrap;
122
+ word-break: break-word;
123
+ }
124
+
125
+ & .fi-select-input-placeholder {
126
+ @apply text-gray-400 dark:text-gray-500;
127
+ }
128
+
129
+ & .fi-disabled {
130
+ @apply cursor-not-allowed opacity-70;
131
+
132
+ & .fi-select-input-placeholder {
133
+ @apply text-gray-400 dark:text-gray-500;
134
+ }
135
+ }
136
+
137
+ & .fi-select-input-message {
138
+ @apply px-3 py-2 text-sm text-gray-500 dark:text-gray-400;
139
+ }
140
+
141
+ & .fi-select-input-max-items-message {
142
+ @apply text-danger-600 dark:text-danger-400 px-3 py-2 text-sm;
143
+ }
144
+
145
+ & .fi-select-input-ctn.fi-select-input-ctn-option-labels-not-wrapped {
146
+ & .fi-select-input-value-ctn > span {
147
+ @apply truncate text-nowrap break-normal;
148
+ }
149
+
150
+ & .fi-select-input-option > span {
151
+ @apply truncate;
152
+ }
153
+ }
154
+ }
@@ -0,0 +1,107 @@
1
+ .fi-input-wrp {
2
+ @apply flex rounded-lg bg-white shadow-sm ring-1 ring-gray-950/10 transition duration-75 dark:bg-white/5 dark:ring-white/20;
3
+
4
+ &:not(.fi-disabled):not(:has(.fi-input-wrp-actions :focus)) {
5
+ @apply focus-within:ring-primary-600 dark:focus-within:ring-primary-500 focus-within:ring-2;
6
+
7
+ &.fi-invalid {
8
+ @apply focus-within:ring-danger-600 dark:focus-within:ring-danger-500;
9
+ }
10
+ }
11
+
12
+ &.fi-disabled {
13
+ @apply bg-gray-50 dark:bg-transparent;
14
+
15
+ &:not(.fi-invalid) {
16
+ @apply dark:ring-white/10;
17
+ }
18
+ }
19
+
20
+ &.fi-invalid {
21
+ @apply ring-danger-600 dark:ring-danger-500;
22
+ }
23
+
24
+ & .fi-input-wrp-prefix {
25
+ @apply hidden items-center gap-x-3 ps-3;
26
+
27
+ &.fi-input-wrp-prefix-has-content {
28
+ @apply flex;
29
+ }
30
+
31
+ &.fi-inline {
32
+ @apply pe-2;
33
+
34
+ &.fi-input-wrp-prefix-has-label {
35
+ @apply pe-1;
36
+ }
37
+ }
38
+
39
+ &:not(.fi-inline) {
40
+ @apply border-e border-gray-200 ps-3 pe-3 dark:border-white/10;
41
+ }
42
+ }
43
+
44
+ & .fi-input-wrp-content-ctn,
45
+ &:not(:has(.fi-input-wrp-content-ctn)) > * {
46
+ @apply min-w-0 flex-1;
47
+
48
+ &.fi-input-wrp-content-ctn-ps {
49
+ @apply ps-3;
50
+ }
51
+ }
52
+
53
+ & .fi-input-wrp-suffix {
54
+ @apply flex items-center gap-x-3 pe-3;
55
+
56
+ &.fi-inline {
57
+ @apply ps-2;
58
+
59
+ &.fi-input-wrp-suffix-has-label {
60
+ @apply ps-1;
61
+ }
62
+ }
63
+
64
+ &:not(.fi-inline) {
65
+ @apply border-s border-gray-200 ps-3 dark:border-white/10;
66
+ }
67
+ }
68
+
69
+ & .fi-input-wrp-actions {
70
+ @apply flex items-center gap-3;
71
+
72
+ & .fi-btn.fi-size-sm {
73
+ @apply px-2 py-1;
74
+ }
75
+
76
+ & .fi-icon-btn.fi-size-sm {
77
+ @apply size-7;
78
+
79
+ &:has(.fi-icon.fi-size-sm) {
80
+ @apply -m-1.5;
81
+ }
82
+
83
+ &:has(.fi-icon.fi-size-md) {
84
+ @apply -m-1;
85
+ }
86
+
87
+ &:has(.fi-icon.fi-size-lg) {
88
+ @apply -m-0.5;
89
+ }
90
+ }
91
+ }
92
+
93
+ & .fi-input-wrp-label {
94
+ @apply text-sm whitespace-nowrap text-gray-500 dark:text-gray-400;
95
+ }
96
+
97
+ & .fi-input-wrp-prefix,
98
+ & .fi-input-wrp-suffix {
99
+ & > .fi-icon {
100
+ @apply text-gray-400 dark:text-gray-500;
101
+
102
+ &.fi-color {
103
+ @apply text-color-500;
104
+ }
105
+ }
106
+ }
107
+ }
@@ -0,0 +1,90 @@
1
+ .fi-link {
2
+ @apply relative inline-flex items-center justify-center gap-1.5 font-medium text-gray-700 outline-none dark:text-gray-200;
3
+
4
+ /* Pinning the link's baseline to the label keeps it aligned with surrounding text, even when the loading indicator is the first flex item. */
5
+ & > .fi-link-label {
6
+ @apply self-baseline;
7
+ }
8
+
9
+ &.fi-force-enabled,
10
+ &:not(.fi-disabled):not([disabled]) {
11
+ /* `outline-solid` is load-bearing: the base `outline-none` above leaves `--tw-outline-style: none` on the element, which `outline-2` alone resolves to, so the focus outline never paints without it. */
12
+ @apply hover:underline focus-visible:rounded-sm focus-visible:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-current focus-visible:outline-solid;
13
+ }
14
+
15
+ &.fi-disabled:not(.fi-force-enabled),
16
+ &[disabled]:not(.fi-force-enabled) {
17
+ @apply cursor-default opacity-70;
18
+
19
+ &:not([x-tooltip]) {
20
+ @apply pointer-events-none;
21
+ }
22
+ }
23
+
24
+ &.fi-size-xs {
25
+ @apply gap-1 text-xs;
26
+ }
27
+
28
+ &.fi-size-sm {
29
+ @apply gap-1 text-sm;
30
+ }
31
+
32
+ &.fi-size-md,
33
+ &.fi-size-lg,
34
+ &.fi-size-xl {
35
+ @apply gap-1.5 text-sm;
36
+ }
37
+
38
+ &.fi-font-thin {
39
+ @apply font-thin;
40
+ }
41
+
42
+ &.fi-font-extralight {
43
+ @apply font-extralight;
44
+ }
45
+
46
+ &.fi-font-light {
47
+ @apply font-light;
48
+ }
49
+
50
+ &.fi-font-normal {
51
+ @apply font-normal;
52
+ }
53
+
54
+ &.fi-font-semibold {
55
+ @apply font-semibold;
56
+ }
57
+
58
+ &.fi-font-bold {
59
+ @apply font-bold;
60
+ }
61
+
62
+ &.fi-font-extrabold {
63
+ @apply font-extrabold;
64
+ }
65
+
66
+ &.fi-font-black {
67
+ @apply font-black;
68
+ }
69
+
70
+ &.fi-color {
71
+ @apply text-(--text) dark:text-(--dark-text);
72
+ }
73
+
74
+ &:not(.fi-color) > .fi-icon {
75
+ @apply text-gray-400 dark:text-gray-500;
76
+ }
77
+
78
+ & .fi-link-badge-ctn {
79
+ @apply absolute start-full top-0 z-[1] flex w-max -translate-x-1/4 -translate-y-3/4 rounded-md bg-white font-normal hover:no-underline focus-visible:no-underline rtl:translate-x-1/4 dark:bg-gray-900;
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Align links embedded within text.
85
+ */
86
+ p > .fi-link,
87
+ span > .fi-link {
88
+ @apply pb-[2px] align-middle;
89
+ text-align: inherit;
90
+ }
@@ -0,0 +1,3 @@
1
+ .fi-loading-indicator {
2
+ @apply motion-safe:animate-spin;
3
+ }
@@ -0,0 +1,3 @@
1
+ .fi-loading-section {
2
+ @apply motion-safe:animate-pulse;
3
+ }