You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

form-fields.css 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /* Filament Repeater Styles */
  2. .fi-fo-repeater.uncontained .fi-fo-repeater-item {
  3. @apply divide-y-0 rounded-none bg-none shadow-none ring-0 ring-gray-950/5 dark:divide-white/10 dark:bg-white/5 dark:ring-white/10;
  4. .fi-fo-repeater-item-header {
  5. @apply px-0;
  6. > h4 {
  7. @apply text-base font-semibold leading-6 text-gray-950 dark:text-white;
  8. }
  9. }
  10. .fi-fo-repeater-item-content {
  11. @apply py-4 px-0;
  12. }
  13. }
  14. .fi-fo-repeater-item {
  15. @apply divide-y divide-gray-200 rounded-xl bg-white dark:bg-gray-900;
  16. }
  17. /* Report Field Styles */
  18. .fi-fo-field-wrp.report-hidden-label > div.grid.gap-y-2 > div.flex.items-center {
  19. @apply hidden;
  20. }
  21. .fi-fo-field-wrp.report-hidden-label {
  22. @apply lg:mt-8;
  23. }
  24. /* Choices.js select field overrides */
  25. .choices__list.choices__list--single {
  26. @apply w-full;
  27. }
  28. .choices:focus-visible {
  29. outline: none;
  30. }
  31. .choices__group {
  32. @apply text-gray-900 dark:text-white font-semibold;
  33. }
  34. .choices[data-type="select-one"] .choices__inner {
  35. line-height: 1.5;
  36. display: flex;
  37. align-items: center;
  38. min-height: 2.25rem;
  39. box-sizing: border-box;
  40. }
  41. .choices:not(.is-disabled) .choices__item {
  42. cursor: pointer;
  43. }
  44. /* Base horizontal scrolling */
  45. .table-repeater-container {
  46. overflow-x: auto;
  47. max-width: 100%;
  48. -webkit-overflow-scrolling: touch;
  49. }
  50. .table-repeater-container:has(.choices.is-open) {
  51. overflow: visible;
  52. }
  53. .table-repeater-container table {
  54. min-width: 100%;
  55. width: max-content;
  56. }
  57. /* Excel/Spreadsheet styling */
  58. .is-spreadsheet {
  59. /* Container styles */
  60. .table-repeater-container {
  61. border: 1px solid #e5e7eb !important;
  62. border-radius: 0 !important;
  63. box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  64. @apply ring-0 !important;
  65. }
  66. /* Header styles */
  67. .table-repeater-header {
  68. background-color: #f8f9fa !important;
  69. border-radius: 0 !important;
  70. }
  71. .table-repeater-header-column {
  72. border: 1px solid #e5e7eb !important;
  73. background-color: #f8f9fa !important;
  74. border-radius: 0 !important;
  75. font-weight: 600 !important;
  76. padding: 8px 12px !important;
  77. }
  78. /* Cell styles */
  79. .table-repeater-column {
  80. border: 1px solid #e5e7eb !important;
  81. padding: 8px 12px !important;
  82. }
  83. /* Input styles */
  84. .table-repeater-column input {
  85. text-align: right !important;
  86. width: 100% !important;
  87. }
  88. /* Flatten inputs */
  89. .fi-input-wrapper,
  90. .fi-input {
  91. padding: 0 !important;
  92. width: 100% !important;
  93. }
  94. .fi-input-wrp,
  95. .fi-fo-file-upload .filepond--root {
  96. @apply ring-0 bg-transparent shadow-none !important;
  97. }
  98. .fi-input-wrp input {
  99. @apply bg-transparent border-0 shadow-none !important;
  100. }
  101. /* Focus states */
  102. .table-repeater-column:focus-within {
  103. outline: 2px solid #2563eb !important;
  104. outline-offset: -2px !important;
  105. z-index: 1 !important;
  106. }
  107. .fi-input-wrp:focus-within {
  108. @apply ring-0 shadow-none !important;
  109. }
  110. input:focus,
  111. select:focus,
  112. textarea:focus {
  113. @apply ring-0 shadow-none !important;
  114. outline: none !important;
  115. }
  116. /* Row styling */
  117. .table-repeater-row:nth-child(even) {
  118. background-color: #f9fafb;
  119. }
  120. /* Form control spacing */
  121. .fi-fo-field-wrp:has(.fi-fo-checkbox-list),
  122. .fi-fo-field-wrp:has(.fi-checkbox-input),
  123. .fi-fo-field-wrp:has(.fi-fo-radio) {
  124. @apply py-2 px-3 !important;
  125. }
  126. .fi-fo-field-wrp:has(.fi-fo-toggle) {
  127. @apply inline-block mt-1 !important;
  128. }
  129. }
  130. /* Responsive behavior */
  131. @media (max-width: theme('screens.sm')) {
  132. .table-repeater-component.break-point-sm .table-repeater-container {
  133. overflow-x: visible;
  134. }
  135. }
  136. @media (max-width: theme('screens.md')) {
  137. .table-repeater-component.break-point-md .table-repeater-container {
  138. overflow-x: visible;
  139. }
  140. }
  141. @media (max-width: theme('screens.lg')) {
  142. .table-repeater-component.break-point-lg .table-repeater-container {
  143. overflow-x: visible;
  144. }
  145. }
  146. @media (max-width: theme('screens.xl')) {
  147. .table-repeater-component.break-point-xl .table-repeater-container {
  148. overflow-x: visible;
  149. }
  150. }
  151. @media (max-width: theme('screens.2xl')) {
  152. .table-repeater-component.break-point-2xl .table-repeater-container {
  153. overflow-x: visible;
  154. }
  155. }