@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,666 @@
1
+ .fi-fo-rich-editor {
2
+ --rich-editor-toolbar-height: 0px;
3
+ --rich-editor-sticky-offset: 0px;
4
+
5
+ .fi-topbar-ctn ~ * & {
6
+ --rich-editor-sticky-offset: var(--topbar-height, 4rem);
7
+ }
8
+
9
+ .fi-modal & {
10
+ /* Resolve the measured header height inside the editor's `wire:ignore` element. */
11
+ --rich-editor-sticky-offset: initial;
12
+ }
13
+
14
+ & .fi-fo-rich-editor-toolbar.fi-fo-rich-editor-sticky-toolbar {
15
+ @apply sticky z-5 rounded-t-lg bg-white dark:bg-gray-900;
16
+ top: var(
17
+ --rich-editor-sticky-offset,
18
+ var(--rich-editor-modal-header-height, 0px)
19
+ );
20
+ }
21
+
22
+ & .fi-fo-rich-editor-uploading-file {
23
+ @apply pointer-events-none cursor-wait opacity-50;
24
+ }
25
+
26
+ & .fi-fo-rich-editor-toolbar {
27
+ @apply relative flex flex-wrap gap-x-3 gap-y-1 border-b border-gray-200 px-2.5 py-2 dark:border-white/10;
28
+ }
29
+
30
+ & .fi-fo-rich-editor-floating-toolbar {
31
+ @apply invisible absolute z-5 -mt-1 flex max-w-full flex-wrap gap-x-3 gap-y-1 rounded-lg border border-gray-300 bg-white p-1 shadow dark:border-gray-600 dark:bg-gray-800;
32
+ }
33
+
34
+ & .fi-fo-rich-editor-toolbar,
35
+ & .fi-fo-rich-editor-floating-toolbar {
36
+ &:has(.fi-fo-rich-editor-dropdown-tool-trigger[aria-expanded='true']) {
37
+ @apply z-20;
38
+ }
39
+ }
40
+
41
+ & .fi-fo-rich-editor-toolbar-group {
42
+ @apply flex gap-x-1;
43
+ }
44
+
45
+ & .fi-fo-rich-editor-dropdown-tool {
46
+ @apply relative inline-flex;
47
+
48
+ &:not(.fi-fo-rich-editor-dropdown-tool-textual) {
49
+ & .fi-fo-rich-editor-dropdown-tool-panel {
50
+ @apply divide-y-0;
51
+ }
52
+ }
53
+ }
54
+
55
+ & .fi-fo-rich-editor-dropdown-tool-trigger {
56
+ @apply flex h-8 cursor-pointer items-center justify-center gap-0.5 rounded-lg border-none bg-transparent px-1 text-sm font-semibold text-gray-700 transition duration-75 outline-none hover:bg-gray-50 focus-visible:bg-gray-50 dark:text-gray-200 dark:hover:bg-white/5 dark:focus-visible:bg-white/5;
57
+
58
+ &.fi-active {
59
+ @apply text-primary-600 dark:text-primary-400 bg-gray-50 dark:bg-white/5;
60
+ }
61
+ }
62
+
63
+ & .fi-fo-rich-editor-dropdown-tool-chevron {
64
+ @apply h-3 w-3 text-gray-400 dark:text-gray-500;
65
+ }
66
+
67
+ & .fi-fo-rich-editor-dropdown-tool-panel {
68
+ @apply z-30 w-max max-w-none! rounded-lg border border-gray-300 bg-white p-1 shadow-lg ring-0 dark:border-gray-600 dark:bg-gray-800;
69
+ }
70
+
71
+ & .fi-fo-rich-editor-dropdown-tool-menu {
72
+ @apply flex gap-1;
73
+ }
74
+
75
+ & .fi-fo-rich-editor-dropdown-tool-option {
76
+ @apply flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-lg border-none bg-transparent p-0 text-sm font-semibold text-gray-700 transition duration-75 outline-none hover:bg-gray-50 focus-visible:bg-gray-50 dark:text-gray-200 dark:hover:bg-white/5 dark:focus-visible:bg-white/5;
77
+
78
+ & > .fi-icon {
79
+ @apply text-current;
80
+ }
81
+
82
+ &[aria-disabled='true'] {
83
+ @apply cursor-default opacity-70;
84
+ }
85
+
86
+ &.fi-active {
87
+ @apply text-primary-600 dark:text-primary-400 bg-gray-50 dark:bg-white/5;
88
+ }
89
+ }
90
+
91
+ & .fi-fo-rich-editor-dropdown-tool-textual {
92
+ & .fi-fo-rich-editor-dropdown-tool-menu {
93
+ @apply min-w-32 flex-col;
94
+ }
95
+
96
+ & .fi-fo-rich-editor-dropdown-tool-option {
97
+ @apply min-w-0 justify-start gap-2 px-2 py-1 text-[0.8125rem] font-normal whitespace-nowrap;
98
+
99
+ &.fi-active {
100
+ @apply text-primary-700 dark:text-primary-400;
101
+ }
102
+ }
103
+ }
104
+
105
+ & .fi-fo-rich-editor-tool {
106
+ @apply flex h-8 min-w-8 items-center justify-center rounded-lg text-sm font-semibold text-gray-700 transition duration-75 hover:bg-gray-50 focus-visible:bg-gray-50 dark:text-gray-200 dark:hover:bg-white/5 dark:focus-visible:bg-white/5;
107
+
108
+ &[disabled] {
109
+ @apply pointer-events-none cursor-default opacity-70;
110
+ }
111
+
112
+ &.fi-active {
113
+ @apply text-primary-600 dark:text-primary-400 bg-gray-50 dark:bg-white/5;
114
+ }
115
+
116
+ &.fi-fo-rich-editor-tool-with-label {
117
+ @apply items-center gap-x-1 px-1.5;
118
+ }
119
+ }
120
+
121
+ & .fi-fo-rich-editor-tool,
122
+ & .fi-fo-rich-editor-dropdown-tool-trigger,
123
+ & .fi-fo-rich-editor-dropdown-tool-option {
124
+ &:focus-visible {
125
+ @apply outline-primary-600 dark:outline-primary-400 outline-2 outline-offset-1 outline-solid;
126
+ }
127
+ }
128
+
129
+ & .fi-fo-rich-editor-uploading-file-message {
130
+ @apply flex items-center gap-x-3 border-b border-gray-200 bg-gray-50 px-5 py-1.5 text-sm leading-6 font-medium text-gray-700 dark:border-white/10 dark:bg-white/5 dark:text-gray-200;
131
+
132
+ & .fi-loading-indicator {
133
+ @apply text-gray-400 dark:text-gray-500;
134
+ }
135
+ }
136
+
137
+ & .fi-fo-rich-editor-file-validation-message {
138
+ @apply border-danger-200 bg-danger-50 text-danger-700 dark:text-danger-200 flex items-center gap-x-3 border-b px-5 py-1.5 text-sm leading-6 font-medium dark:border-white/10 dark:bg-white/5;
139
+ }
140
+
141
+ & .fi-fo-rich-editor-main {
142
+ @apply flex flex-col-reverse;
143
+ }
144
+
145
+ & .fi-fo-rich-editor-content {
146
+ @apply relative flex min-h-12 w-full flex-1 flex-col px-5 py-3;
147
+ }
148
+
149
+ &[style*='--min-height'] .fi-fo-rich-editor-content {
150
+ min-height: var(--min-height);
151
+ }
152
+
153
+ &[style*='--max-height'] .fi-fo-rich-editor-content {
154
+ @apply overflow-y-auto;
155
+ scrollbar-gutter: stable;
156
+ max-height: var(--max-height);
157
+ }
158
+
159
+ &[style*='--max-height'] .fi-fo-rich-editor-content[role='region'] {
160
+ @apply focus-visible:ring-primary-600 dark:focus-visible:ring-primary-500 outline-none focus-visible:ring-2 focus-visible:ring-inset;
161
+ }
162
+
163
+ & span[data-type='mergeTag'] {
164
+ @apply my-0 inline-block whitespace-nowrap;
165
+
166
+ &::before {
167
+ @apply me-1 font-normal opacity-60;
168
+ content: '{{';
169
+ }
170
+
171
+ &::after {
172
+ @apply ms-1 font-normal opacity-60;
173
+ content: '}}';
174
+ }
175
+ }
176
+
177
+ & span[data-type='mention'] {
178
+ @apply bg-primary-50 text-primary-700 dark:bg-primary-400/10 dark:text-primary-400 my-0 inline-block rounded px-1 font-medium whitespace-nowrap;
179
+ }
180
+
181
+ & .fi-fo-rich-editor-panels {
182
+ @apply w-full overflow-clip border-b border-gray-200 bg-gray-50 dark:border-white/10 dark:bg-gray-900/30;
183
+ }
184
+
185
+ & .fi-fo-rich-editor-panel-header {
186
+ @apply flex items-start gap-3 px-4 py-3;
187
+ }
188
+
189
+ & .fi-fo-rich-editor-panel-heading {
190
+ @apply flex-1 text-sm font-semibold text-gray-950 dark:text-white;
191
+ }
192
+
193
+ & .fi-fo-rich-editor-panel-close-btn-ctn {
194
+ @apply shrink-0;
195
+ }
196
+
197
+ & .fi-fo-rich-editor-panel {
198
+ @apply grid grid-cols-1 divide-y divide-gray-200 dark:divide-white/10;
199
+
200
+ &:has(.fi-fo-rich-editor-custom-blocks-ctn) {
201
+ @apply -mb-px;
202
+ }
203
+ }
204
+
205
+ & .fi-fo-rich-editor-merge-tags-list {
206
+ @apply flex flex-wrap gap-2 px-4 py-3;
207
+ }
208
+
209
+ & .fi-fo-rich-editor-merge-tag-btn {
210
+ @apply cursor-move rounded-lg bg-white p-1 text-start text-sm text-gray-600 ring-1 ring-gray-600/10 dark:bg-gray-400/10 dark:text-gray-200 dark:ring-gray-400/20;
211
+ }
212
+
213
+ & .fi-fo-rich-editor-custom-blocks-ctn {
214
+ @apply grid overflow-y-auto border-b border-gray-200 dark:border-white/10;
215
+ }
216
+
217
+ & .fi-fo-rich-editor-custom-blocks-group-header {
218
+ @apply sticky -top-px z-1 border-b border-gray-200 bg-gray-50 px-4 py-2 text-sm font-semibold text-gray-950 dark:border-white/10 dark:bg-gray-800 dark:text-white;
219
+
220
+ &:not(:first-child) {
221
+ @apply border-t;
222
+ }
223
+ }
224
+
225
+ & .fi-fo-rich-editor-custom-blocks-list {
226
+ @apply flex flex-wrap gap-2 px-4 py-3;
227
+ }
228
+
229
+ &:has(.fi-fo-rich-editor-custom-blocks-group-header)
230
+ .fi-fo-rich-editor-custom-blocks-list {
231
+ @apply bg-white dark:bg-gray-900;
232
+ }
233
+
234
+ & .fi-fo-rich-editor-custom-block-btn {
235
+ @apply focus-visible:ring-primary-600 dark:focus-visible:ring-primary-500 flex cursor-move items-center gap-1.5 rounded-lg bg-white px-2 py-1 text-start text-sm text-gray-600 ring-1 ring-gray-600/10 focus-visible:ring-2 focus-visible:outline-none dark:bg-gray-400/10 dark:text-gray-200 dark:ring-gray-400/20;
236
+
237
+ & .fi-fo-rich-editor-custom-block-icon,
238
+ & .fi-loading-indicator {
239
+ @apply size-4 shrink-0;
240
+ }
241
+
242
+ & .fi-fo-rich-editor-custom-block-icon .fi-icon {
243
+ @apply size-full;
244
+ }
245
+ }
246
+
247
+ &
248
+ .fi-fo-rich-editor-custom-blocks-list.fi-fo-rich-editor-custom-blocks-grid {
249
+ @apply grid grid-cols-2;
250
+ }
251
+
252
+ &
253
+ .fi-fo-rich-editor-custom-blocks-grid
254
+ > .fi-fo-rich-editor-custom-block-btn {
255
+ @apply min-h-20 flex-col justify-center gap-2 p-3 text-center text-xs;
256
+
257
+ & .fi-fo-rich-editor-custom-block-icon,
258
+ & .fi-loading-indicator {
259
+ @apply size-6;
260
+ }
261
+ }
262
+
263
+ & .fi-fo-rich-editor-custom-blocks-search {
264
+ @apply flex items-center gap-2 px-4 focus-within:inset-shadow-[0_-2px_0_var(--color-primary-600)] dark:focus-within:inset-shadow-[0_-2px_0_var(--color-primary-500)];
265
+
266
+ & > .fi-icon {
267
+ @apply size-4 shrink-0 text-gray-400 dark:text-gray-500;
268
+ }
269
+ }
270
+
271
+ & .fi-fo-rich-editor-custom-blocks-search-input {
272
+ @apply block min-w-0 flex-1 border-0 bg-transparent px-0 py-2.5 text-base text-gray-950 outline-none placeholder:text-gray-500 focus:ring-0 sm:text-sm dark:text-white dark:placeholder:text-gray-400;
273
+ }
274
+
275
+ & .fi-fo-rich-editor-custom-blocks-no-results {
276
+ @apply px-4 py-3 text-sm text-gray-500 dark:text-gray-400;
277
+ }
278
+
279
+ & .tiptap {
280
+ @apply h-full flex-1;
281
+
282
+ &:focus {
283
+ @apply outline-none;
284
+
285
+ & .ProseMirror-selectednode {
286
+ div&[data-type='customBlock'],
287
+ img& {
288
+ @apply ring-primary-600 dark:ring-primary-500 ring-2;
289
+ }
290
+ }
291
+ }
292
+
293
+ & p.is-editor-empty:first-child {
294
+ &::before {
295
+ @apply pointer-events-none float-start h-0 text-gray-400;
296
+ content: attr(data-placeholder);
297
+ }
298
+
299
+ &::after {
300
+ /* Reserve placeholder space without moving the caret from the first line. */
301
+ @apply pointer-events-none invisible -mt-[1lh] block min-h-[1lh];
302
+ content: attr(data-placeholder);
303
+ }
304
+
305
+ @variant dark {
306
+ &::before {
307
+ @apply text-gray-500;
308
+ }
309
+ }
310
+ }
311
+
312
+ & [data-type='details'] {
313
+ @apply my-6 flex gap-1 rounded-md border border-gray-950/20 p-4 dark:border-white/20;
314
+
315
+ & > div:first-of-type {
316
+ @apply !mt-0;
317
+ }
318
+
319
+ & summary {
320
+ @apply list-none font-medium;
321
+ }
322
+
323
+ & > button {
324
+ @apply me-2 mt-px flex size-5 items-center justify-center rounded-md bg-transparent p-1 text-xs leading-none hover:bg-gray-950/5 dark:hover:bg-white/5;
325
+
326
+ &::before {
327
+ content: '\25B6';
328
+ }
329
+
330
+ @variant rtl {
331
+ &::before {
332
+ content: '\25C0';
333
+ }
334
+ }
335
+ }
336
+
337
+ &.is-open > button::before {
338
+ content: '\25BC';
339
+ }
340
+
341
+ & > div {
342
+ @apply flex w-full flex-col gap-4;
343
+
344
+ & > [data-type='detailsContent'] {
345
+ @apply !mt-0;
346
+
347
+ & > :last-child {
348
+ @apply mb-4;
349
+ }
350
+ }
351
+ }
352
+ }
353
+
354
+ & table {
355
+ @apply m-0 w-full table-fixed border-collapse overflow-hidden first:mt-0;
356
+
357
+ & td,
358
+ & th {
359
+ @apply relative min-w-[1em] border border-gray-300 !p-2 align-top dark:border-gray-600;
360
+
361
+ & > * {
362
+ @apply mb-0;
363
+ }
364
+ }
365
+
366
+ & th {
367
+ @apply bg-gray-100 text-start font-bold dark:bg-gray-800 dark:text-white;
368
+ }
369
+
370
+ & .selectedCell {
371
+ &::after {
372
+ @apply pointer-events-none absolute start-0 end-0 top-0 bottom-0 z-2 bg-gray-200/80 content-[''];
373
+ }
374
+
375
+ @variant dark {
376
+ &::after {
377
+ @apply bg-gray-800/80;
378
+ }
379
+ }
380
+ }
381
+
382
+ & .column-resize-handle {
383
+ @apply bg-primary-600 pointer-events-none absolute end-0 top-0 bottom-0 !m-0 w-1;
384
+ }
385
+ }
386
+
387
+ & .tableWrapper {
388
+ @apply overflow-x-auto;
389
+ }
390
+
391
+ & li > .tableWrapper:where(:not(.fi-not-prose, .fi-not-prose *)) {
392
+ @apply my-4 first:mt-0 last:mb-0;
393
+ }
394
+
395
+ &.resize-cursor {
396
+ @apply cursor-col-resize cursor-ew-resize;
397
+ }
398
+
399
+ & .grid-layout > .grid-layout-col {
400
+ @apply rounded-md border border-gray-950/20 p-4 dark:border-white/20;
401
+ }
402
+
403
+ [data-resize-handle] {
404
+ position: absolute;
405
+ background: rgba(0, 0, 0, 0.5);
406
+ border: 1px solid rgba(255, 255, 255, 0.8);
407
+ border-radius: 2px;
408
+ z-index: 1;
409
+
410
+ &:hover {
411
+ background: rgba(0, 0, 0, 0.8);
412
+ }
413
+
414
+ &[data-resize-handle] {
415
+ margin: 0 !important;
416
+ }
417
+ &[data-resize-handle='top-left'],
418
+ &[data-resize-handle='top-right'],
419
+ &[data-resize-handle='bottom-left'],
420
+ &[data-resize-handle='bottom-right'] {
421
+ width: 8px;
422
+ height: 8px;
423
+ }
424
+
425
+ &[data-resize-handle='top-left'] {
426
+ top: -4px;
427
+ left: -4px;
428
+ cursor: nwse-resize;
429
+ }
430
+
431
+ &[data-resize-handle='top-right'] {
432
+ top: -4px;
433
+ right: -4px;
434
+ cursor: nesw-resize;
435
+ }
436
+
437
+ &[data-resize-handle='bottom-left'] {
438
+ bottom: -4px;
439
+ left: -4px;
440
+ cursor: nesw-resize;
441
+ }
442
+
443
+ &[data-resize-handle='bottom-right'] {
444
+ bottom: -4px;
445
+ right: -4px;
446
+ cursor: nwse-resize;
447
+ }
448
+
449
+ &[data-resize-handle='top'],
450
+ &[data-resize-handle='bottom'] {
451
+ height: 6px;
452
+ left: 8px;
453
+ right: 8px;
454
+ }
455
+
456
+ &[data-resize-handle='top'] {
457
+ top: -3px;
458
+ cursor: ns-resize;
459
+ }
460
+
461
+ &[data-resize-handle='bottom'] {
462
+ bottom: -3px;
463
+ cursor: ns-resize;
464
+ }
465
+
466
+ &[data-resize-handle='left'],
467
+ &[data-resize-handle='right'] {
468
+ width: 6px;
469
+ top: 8px;
470
+ bottom: 8px;
471
+ }
472
+
473
+ &[data-resize-handle='left'] {
474
+ left: -3px;
475
+ cursor: ew-resize;
476
+ }
477
+
478
+ &[data-resize-handle='right'] {
479
+ right: -3px;
480
+ cursor: ew-resize;
481
+ }
482
+ }
483
+
484
+ [data-resize-state='true'] [data-resize-wrapper] {
485
+ @apply relative;
486
+ outline: 1px solid rgba(0, 0, 0, 0.25);
487
+ border-radius: 0.125rem;
488
+ }
489
+ }
490
+
491
+ &.fi-disabled {
492
+ [data-resize-handle] {
493
+ @apply hidden;
494
+ }
495
+
496
+ [data-resize-state='true'] [data-resize-wrapper] {
497
+ outline: none;
498
+ }
499
+ }
500
+
501
+ & .tiptap.ProseMirror {
502
+ /* https://defensivecss.dev/tip/input-zoom-safari */
503
+ @supports (-webkit-touch-callout: none) {
504
+ @apply text-base;
505
+ }
506
+ }
507
+
508
+ & img {
509
+ @apply inline-block;
510
+ }
511
+
512
+ & div[data-type='customBlock'] {
513
+ @apply grid divide-y divide-gray-200 overflow-hidden rounded-lg shadow-sm ring-1 ring-gray-950/10 dark:divide-white/10 dark:ring-white/20;
514
+ }
515
+
516
+ & .fi-fo-rich-editor-custom-block-header {
517
+ @apply flex items-start gap-3 bg-gray-50 px-4 py-3 dark:bg-gray-900/30;
518
+ }
519
+
520
+ & .fi-fo-rich-editor-custom-block-heading {
521
+ @apply flex-1 text-sm font-semibold text-gray-950 dark:text-white;
522
+ }
523
+
524
+ & .fi-fo-rich-editor-custom-block-edit-btn-ctn {
525
+ @apply shrink-0;
526
+ }
527
+
528
+ & .fi-fo-rich-editor-custom-block-delete-btn-ctn {
529
+ @apply shrink-0;
530
+ }
531
+
532
+ & .fi-fo-rich-editor-custom-block-preview {
533
+ @apply px-4 py-3;
534
+ }
535
+
536
+ & div[data-type='customBlock'].fi-fo-rich-editor-custom-block-minimal {
537
+ @apply relative grid-cols-1 divide-y-0 shadow-none ring-0;
538
+
539
+ &:has(> .fi-fo-rich-editor-custom-block-header .fi-icon-btn) {
540
+ @apply grid-cols-[minmax(0,1fr)_auto] gap-x-2;
541
+ }
542
+
543
+ & > .fi-fo-rich-editor-custom-block-header {
544
+ @apply col-start-2 row-start-1 flex-col gap-1 self-start border-0 bg-transparent p-0;
545
+
546
+ &:not(:has(.fi-icon-btn)) {
547
+ @apply sr-only;
548
+ }
549
+
550
+ & > .fi-fo-rich-editor-custom-block-heading {
551
+ @apply sr-only;
552
+ }
553
+
554
+ & > .fi-fo-rich-editor-custom-block-edit-btn-ctn,
555
+ & > .fi-fo-rich-editor-custom-block-delete-btn-ctn {
556
+ & > .fi-icon-btn {
557
+ @apply m-0 size-8 focus-visible:bg-gray-50 focus-visible:ring-inset dark:focus-visible:bg-white/5;
558
+
559
+ @media (hover: hover) {
560
+ @apply hover:bg-gray-50 dark:hover:bg-white/5;
561
+ }
562
+
563
+ @media (pointer: coarse) {
564
+ @apply size-11;
565
+ }
566
+ }
567
+ }
568
+ }
569
+
570
+ & > .fi-fo-rich-editor-custom-block-preview {
571
+ @apply col-start-1 row-start-1 min-w-0 self-center border-0 p-0;
572
+ }
573
+ }
574
+
575
+ @supports (container-type: inline-size) {
576
+ @apply @container;
577
+
578
+ & .fi-fo-rich-editor-main {
579
+ @apply @2xl:flex-row;
580
+ }
581
+
582
+ & .fi-fo-rich-editor-panels {
583
+ @apply @2xl:max-w-3xs @2xl:rounded-ee-lg @2xl:border-s @2xl:border-b-0;
584
+ }
585
+
586
+ &
587
+ .fi-fo-rich-editor-panels.fi-fo-rich-editor-sticky-panels
588
+ > .fi-fo-rich-editor-panel {
589
+ @apply @2xl:sticky @2xl:overflow-y-auto;
590
+
591
+ & .fi-fo-rich-editor-custom-blocks-ctn {
592
+ @apply @2xl:overflow-visible;
593
+ }
594
+
595
+ @container (min-width: 42rem) {
596
+ top: calc(
597
+ var(
598
+ --rich-editor-sticky-offset,
599
+ var(--rich-editor-modal-header-height, 0px)
600
+ ) +
601
+ var(--rich-editor-toolbar-height, 0px)
602
+ );
603
+ max-height: calc(
604
+ var(--rich-editor-modal-viewport-height, 100dvh) -
605
+ var(
606
+ --rich-editor-sticky-offset,
607
+ var(--rich-editor-modal-header-height, 0px)
608
+ ) -
609
+ var(--rich-editor-toolbar-height, 0px) -
610
+ var(--rich-editor-modal-footer-height, 0px)
611
+ );
612
+ }
613
+ }
614
+ }
615
+
616
+ @supports not (container-type: inline-size) {
617
+ & .fi-fo-rich-editor-main {
618
+ @apply md:flex-row;
619
+ }
620
+
621
+ & .fi-fo-rich-editor-panels {
622
+ @apply md:max-w-3xs md:rounded-ee-lg md:border-s md:border-b-0;
623
+ }
624
+
625
+ &
626
+ .fi-fo-rich-editor-panels.fi-fo-rich-editor-sticky-panels
627
+ > .fi-fo-rich-editor-panel {
628
+ @apply md:sticky md:overflow-y-auto;
629
+
630
+ & .fi-fo-rich-editor-custom-blocks-ctn {
631
+ @apply md:overflow-visible;
632
+ }
633
+
634
+ @media (min-width: 48rem) {
635
+ top: calc(
636
+ var(
637
+ --rich-editor-sticky-offset,
638
+ var(--rich-editor-modal-header-height, 0px)
639
+ ) +
640
+ var(--rich-editor-toolbar-height, 0px)
641
+ );
642
+ max-height: calc(
643
+ var(--rich-editor-modal-viewport-height, 100dvh) -
644
+ var(
645
+ --rich-editor-sticky-offset,
646
+ var(--rich-editor-modal-header-height, 0px)
647
+ ) -
648
+ var(--rich-editor-toolbar-height, 0px) -
649
+ var(--rich-editor-modal-footer-height, 0px)
650
+ );
651
+ }
652
+ }
653
+ }
654
+ }
655
+
656
+ & .fi-fo-rich-editor-text-color-select-option {
657
+ @apply flex items-center gap-2;
658
+
659
+ & .fi-fo-rich-editor-text-color-select-option-preview {
660
+ @apply h-5 w-5 shrink-0 rounded-full bg-(--color) dark:bg-(--dark-color);
661
+ }
662
+ }
663
+
664
+ [x-sortable]:has(.fi-sortable-ghost) .fi-fo-rich-editor {
665
+ pointer-events: none;
666
+ }
@@ -0,0 +1,13 @@
1
+ .fi-fo-select {
2
+ & .fi-hidden {
3
+ @apply hidden;
4
+ }
5
+ }
6
+
7
+ .fi-fo-select-wrp {
8
+ &.fi-fo-field-has-inline-label {
9
+ & .fi-fo-field-label-col {
10
+ @apply sm:pt-1.5;
11
+ }
12
+ }
13
+ }