passthrough.js 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015
  1. export const passthrough = {
  2. autocomplete: {
  3. root: tw`inline-flex p-fluid:flex`,
  4. pcInputText: {
  5. root: tw`appearance-none rounded-md border border-surface-300 bg-surface-0 px-3 py-2
  6. text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] outline-hidden
  7. transition-colors duration-200 placeholder:text-surface-500
  8. enabled:hover:border-surface-400 enabled:focus:border-primary
  9. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  10. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  11. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  12. dark:disabled:text-surface-400 p-invalid:border-red-400
  13. p-invalid:placeholder:text-red-600 dark:p-invalid:border-red-300
  14. dark:p-invalid:placeholder:text-red-400 p-small:px-[0.625rem]
  15. p-small:py-[0.375rem] p-small:text-sm p-large:px-[0.875rem]
  16. p-large:py-[0.625rem] p-large:text-lg p-fluid:w-full p-filled:bg-surface-50
  17. dark:p-filled:bg-surface-800 p-has-dropdown:w-[1%] p-has-dropdown:flex-auto
  18. p-has-dropdown:rounded-e-none`
  19. },
  20. inputMultiple: tw`m-0 flex w-full cursor-text list-none flex-wrap items-center gap-1
  21. overflow-hidden rounded-md border border-surface-300 bg-surface-0 px-3 py-1
  22. text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] transition-colors
  23. duration-200 outline-none not-p-empty:px-1 hover:border-surface-400
  24. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  25. dark:hover:border-surface-600 p-invalid:border-red-400
  26. dark:p-invalid:border-red-300 p-filled:bg-surface-50
  27. dark:p-filled:bg-surface-800 p-disabled:pointer-events-none
  28. p-disabled:bg-surface-200 p-disabled:text-surface-500
  29. dark:p-disabled:bg-surface-700 dark:p-disabled:text-surface-400
  30. p-focus:border-primary p-has-dropdown:rounded-e-none`,
  31. chipItem: tw``,
  32. pcChip: {
  33. root: tw`inline-flex items-center gap-2 rounded-sm bg-surface-100 px-3 py-1
  34. text-surface-800 has-[img]:pt-1 has-[img]:pb-1 dark:bg-surface-800
  35. dark:text-surface-0 p-focus:bg-surface-200 p-focus:text-surface-800
  36. dark:p-focus:bg-surface-700 dark:p-focus:text-surface-0 p-removable:pe-2`,
  37. image: tw`-ms-2 h-8 w-8 rounded-full`,
  38. icon: tw`h-4 w-4 text-base text-surface-800 dark:bg-surface-0`,
  39. label: tw``,
  40. removeIcon: tw`h-4 w-4 cursor-pointer rounded-full text-base text-surface-800
  41. focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
  42. focus-visible:outline-primary dark:text-surface-0`
  43. },
  44. chipIcon: tw``,
  45. inputChip: tw`inline-flex max-w-30 flex-auto py-1`,
  46. input: tw`m-0 w-full rounded-none border-none bg-transparent p-0 text-inherit shadow-none
  47. outline-none placeholder:text-surface-500 dark:placeholder:text-surface-400`,
  48. loader: tw`absolute end-3 top-1/2 -mt-2 p-has-dropdown:end-[3.25rem]`,
  49. dropdown: tw`relative inline-flex w-10 shrink-0 cursor-pointer items-center justify-center
  50. overflow-hidden rounded-e-md border border-s-0 border-surface-300 bg-surface-100
  51. text-surface-600 transition-colors duration-200 select-none
  52. focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
  53. focus-visible:outline-primary enabled:hover:bg-surface-200
  54. enabled:hover:text-surface-700 enabled:active:bg-surface-300
  55. enabled:hover:active:text-surface-800 dark:border-surface-700
  56. dark:bg-surface-800 dark:text-surface-300 dark:enabled:hover:bg-surface-700
  57. dark:enabled:hover:text-surface-200 dark:enabled:active:bg-surface-600
  58. dark:enabled:active:text-surface-100`,
  59. dropdownIcon: tw``,
  60. overlay: tw`absolute top-0 left-0 rounded-md border border-surface-200 bg-surface-50
  61. text-surface-700
  62. shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
  63. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  64. p-portal-self:min-w-full`,
  65. virtualScroller: tw``,
  66. listContainer: tw`overflow-auto`,
  67. list: tw`m-0 flex list-none flex-col gap-[2px] p-1`,
  68. optionGroup: tw`m-0 bg-transparent px-3 py-2 font-semibold text-surface-500
  69. dark:text-surface-400`,
  70. option: tw`relative flex cursor-pointer items-center overflow-hidden rounded-sm border-none
  71. bg-transparent px-3 py-2 whitespace-nowrap text-surface-700 transition-colors
  72. duration-200 dark:text-surface-0 p-selected:bg-highlight p-focus:bg-surface-100
  73. p-focus:text-surface-800 dark:p-focus:bg-surface-800 dark:p-focus:text-surface-0
  74. p-focus:p-selected:bg-highlight-emphasis`,
  75. emptyMessage: tw`px-3 py-2`,
  76. searchResultMessage: tw``,
  77. selectedMessage: tw``,
  78. transition: {
  79. enterFromClass: tw`scale-y-75 opacity-0`,
  80. enterActiveClass: tw`transition duration-120 ease-[cubic-bezier(0,0,0.2,1)]`,
  81. leaveActiveClass: tw`transition-opacity duration-100 ease-linear`,
  82. leaveToClass: tw`opacity-0`
  83. }
  84. },
  85. button: {
  86. root: tw`relative inline-flex cursor-pointer items-center justify-center gap-2
  87. overflow-hidden rounded-md border border-primary bg-primary px-3 py-2
  88. text-primary-contrast transition-colors duration-200 select-none
  89. focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
  90. focus-visible:outline-primary enabled:hover:border-primary-emphasis
  91. enabled:hover:bg-primary-emphasis enabled:active:border-primary-emphasis-alt
  92. enabled:active:bg-primary-emphasis-alt disabled:pointer-events-none
  93. disabled:opacity-60 p-small:px-[0.625rem] p-small:py-[0.375rem] p-small:text-sm
  94. p-large:px-[0.875rem] p-large:py-[0.625rem] p-large:text-[1.125rem]
  95. p-fluid:w-full p-vertical:flex-col p-icon-only:w-10 p-icon-only:gap-0
  96. p-icon-only:px-0 p-fluid:p-icon-only:w-10 p-rounded:rounded-[2rem]
  97. p-icon-only:p-rounded:h-10 p-icon-only:p-rounded:rounded-full p-raised:shadow-sm
  98. p-secondary:border-secondary p-secondary:bg-secondary
  99. p-secondary:text-secondary-contrast
  100. p-secondary:enabled:hover:border-secondary-emphasis
  101. p-secondary:enabled:hover:bg-secondary-emphasis
  102. p-secondary:enabled:active:border-secondary-emphasis-alt
  103. p-secondary:enabled:active:bg-secondary-emphasis-alt p-success:border-success
  104. p-success:bg-success p-success:text-success-contrast
  105. p-success:enabled:hover:border-success-emphasis
  106. p-success:enabled:hover:bg-success-emphasis
  107. p-success:enabled:active:border-success-emphasis-alt
  108. p-success:enabled:active:bg-success-emphasis-alt p-info:border-info
  109. p-info:bg-info p-info:text-info-contrast
  110. p-info:enabled:hover:border-info-emphasis p-info:enabled:hover:bg-info-emphasis
  111. p-info:enabled:active:border-info-emphasis-alt
  112. p-info:enabled:active:bg-info-emphasis-alt p-warn:border-warn p-warn:bg-warn
  113. p-warn:text-warn-contrast p-warn:enabled:hover:border-warn-emphasis
  114. p-warn:enabled:hover:bg-warn-emphasis
  115. p-warn:enabled:active:border-warn-emphasis-alt
  116. p-warn:enabled:active:bg-warn-emphasis-alt p-danger:border-danger
  117. p-danger:bg-danger p-danger:text-danger-contrast
  118. p-danger:enabled:hover:border-danger-emphasis
  119. p-danger:enabled:hover:bg-danger-emphasis
  120. p-danger:enabled:active:border-danger-emphasis-alt
  121. p-danger:enabled:active:bg-danger-emphasis-alt p-outlined:border-primary-200
  122. p-outlined:bg-transparent p-outlined:text-primary
  123. enabled:hover:p-outlined:border-primary-300
  124. enabled:hover:p-outlined:bg-primary-50 enabled:hover:p-outlined:text-primary
  125. enabled:active:p-outlined:border-primary-400
  126. enabled:active:p-outlined:bg-primary-100 enabled:active:p-outlined:text-primary
  127. dark:p-outlined:border-primary-700 dark:p-outlined:bg-transparent
  128. dark:p-outlined:text-primary dark:enabled:hover:p-outlined:border-primary-600
  129. dark:enabled:hover:p-outlined:bg-primary/5
  130. dark:enabled:hover:p-outlined:text-primary
  131. dark:enabled:active:p-outlined:border-primary-500
  132. dark:enabled:active:p-outlined:bg-primary/15
  133. dark:enabled:active:p-outlined:text-primary p-text:border-transparent
  134. p-text:bg-transparent p-text:text-primary
  135. enabled:hover:p-text:border-transparent enabled:hover:p-text:bg-primary-50
  136. enabled:hover:p-text:text-primary enabled:active:p-text:border-transparent
  137. enabled:active:p-text:bg-primary-100 enabled:active:p-text:text-primary
  138. dark:p-text:border-transparent dark:p-text:bg-transparent
  139. dark:p-text:text-primary dark:enabled:hover:p-text:border-transparent
  140. dark:enabled:hover:p-text:bg-primary/5 dark:enabled:hover:p-text:text-primary
  141. dark:enabled:active:p-text:border-transparent
  142. dark:enabled:active:p-text:bg-primary/15 dark:enabled:active:p-text:text-primary
  143. p-help:border-help p-help:bg-help p-help:text-help-contrast
  144. p-help:enabled:hover:border-help-emphasis p-help:enabled:hover:bg-help-emphasis
  145. p-help:enabled:active:border-help-emphasis-alt
  146. p-help:enabled:active:bg-help-emphasis-alt`,
  147. loadingIcon: tw`animate-spin`,
  148. icon: tw`p-right:order-1 p-bottom:order-2`,
  149. label: tw`font-medium p-small:text-sm p-large:text-[1.125rem] p-icon-only:invisible
  150. p-icon-only:w-0`,
  151. pcBadge: {
  152. root: tw`h-4 min-w-4 rounded-full bg-primary-contrast text-xs leading-4 font-bold
  153. text-primary`
  154. }
  155. },
  156. buttongroup: {
  157. root: tw`*:rounded-none *:not-last:border-r-0 *:first:rounded-s-md *:last:rounded-e-md
  158. *:focus-visible:relative *:focus-visible:z-10`
  159. },
  160. card: {
  161. root: tw`flex flex-col rounded-xl bg-surface-0 text-surface-700 shadow-md
  162. dark:bg-surface-900 dark:text-surface-0`,
  163. header: tw``,
  164. body: tw`flex flex-col gap-2 p-5`,
  165. caption: tw`flex flex-col gap-2`,
  166. title: tw`text-xl font-medium`,
  167. subtitle: tw`text-surface-500 dark:text-surface-400`,
  168. content: tw``,
  169. footer: tw``
  170. },
  171. chip: {
  172. root: tw`inline-flex items-center gap-1.5 rounded-2xl bg-primary-100 px-3 py-2
  173. text-primary-800 has-[img]:pt-1 has-[img]:pb-1 dark:bg-primary-900
  174. dark:text-primary p-removable:pe-2`,
  175. image: tw`-ms-2 h-8 w-8 rounded-full`,
  176. icon: tw`h-4 w-4 text-base text-surface-800 dark:text-surface-0`
  177. },
  178. confirmdialog: {
  179. root: tw`max-h-[90%] max-w-screen rounded-xl border border-surface-200 bg-surface-0
  180. text-surface-700 shadow-lg dark:border-surface-700 dark:bg-surface-900
  181. dark:text-surface-0`,
  182. mask: tw`fixed start-0 top-0 h-full w-full bg-black/50`,
  183. transition: {
  184. enterFromClass: tw`scale-75 opacity-0`,
  185. enterActiveClass: tw`transition-all duration-150 ease-[cubic-bezier(0,0,0.2,1)]`,
  186. leaveActiveClass: tw`transition-all duration-150 ease-[cubic-bezier(0.4,0,0.2,1)]`,
  187. leaveToClass: tw`scale-75 opacity-0`
  188. }
  189. },
  190. datatable: {
  191. root: tw`relative text-sm whitespace-nowrap p-flex-scrollable:flex
  192. p-flex-scrollable:h-full p-flex-scrollable:flex-col`,
  193. tableContainer: tw`p-scrollable:relative p-flex-scrollable:flex p-flex-scrollable:h-full
  194. p-flex-scrollable:flex-1 p-flex-scrollable:flex-col`,
  195. header: tw`border-b border-surface-200 bg-surface-50 pb-0 text-surface-700
  196. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-100`,
  197. table: tw`w-full border-separate border-spacing-0`,
  198. thead: tw`bg-surface-0! dark:bg-surface-950! p-scrollable:top-0 p-scrollable:z-10
  199. p-scrollable:bg-surface-0 dark:p-scrollable:bg-surface-900`,
  200. headerRow: tw`last:align-top last:*:border-r-0 first-of-type:bg-surface-0
  201. first-of-type:*:border-r-2 nth-of-type-2:*:px-1 nth-of-type-2:*:py-2
  202. dark:first-of-type:bg-surface-900`,
  203. tbody: tw`p-hoverable:*:hover:bg-primary/15 p-frozen:sticky p-frozen:z-10`,
  204. bodyRow: tw`bg-surface-0 text-surface-700 odd:bg-surface-50 dark:bg-surface-900
  205. dark:text-surface-100 dark:odd:bg-surface-950 p-selected:bg-highlight!
  206. p-selectable:cursor-pointer`,
  207. tfoot: tw`p-scrollable:bottom-0 p-scrollable:z-10 p-scrollable:bg-surface-0
  208. dark:p-scrollable:bg-surface-900`,
  209. footer: tw`border-b border-surface-200 bg-surface-0 p-0 text-surface-700
  210. dark:border-surface-700 dark:bg-surface-900 dark:text-surface-0`,
  211. mask: tw`backdrop-blu- absolute z-10 flex h-full w-full items-center justify-center
  212. bg-black/50 text-surface-200`,
  213. column: {
  214. root: tw``,
  215. headerCell: tw`group relative truncate border-b border-surface-200 border-r-surface-200
  216. bg-transparent px-4 py-3 text-start font-normal transition-colors duration-200
  217. dark:border-surface-700 dark:border-r-surface-700 p-sortable:cursor-pointer
  218. p-sortable:select-none p-sortable:hover:bg-surface-100
  219. p-sortable:hover:text-surface-800 p-sortable:focus-visible:outline
  220. p-sortable:focus-visible:outline-1 p-sortable:focus-visible:-outline-offset-1
  221. p-sortable:focus-visible:outline-primary dark:p-sortable:hover:bg-surface-700
  222. dark:p-sortable:hover:text-surface-0 p-frozen:sticky p-frozen:z-10
  223. p-frozen:bg-surface-0 dark:p-frozen:bg-surface-900`,
  224. columnHeaderContent: tw`flex items-center gap-1.5`,
  225. columnTitle: tw`block leading-[1.25rem] font-semibold`,
  226. bodyCell: tw`truncate border-b border-surface-200 px-4 py-3 text-start
  227. dark:border-surface-800 p-frozen:sticky p-frozen:bg-surface-0
  228. dark:p-frozen:bg-surface-900`,
  229. bodyCellContent: tw``,
  230. footerCell: tw`border-b border-surface-200 bg-surface-0 px-4 py-3 text-start text-surface-700
  231. dark:border-surface-800 dark:bg-surface-900 dark:text-surface-0 p-frozen:sticky
  232. p-frozen:bg-surface-0 dark:p-frozen:bg-surface-900`,
  233. columnFooter: tw`font-semibold`,
  234. columnResizer: tw`absolute end-0 top-0 m-0 block h-full w-2 cursor-col-resize border
  235. border-transparent p-0`,
  236. sort: tw`block leading-none`,
  237. sortIcon: tw`text-surface-500 transition-colors duration-200
  238. group-p-sortable:not-group-p-sorted:group-hover:text-surface-600
  239. group-p-sorted:bg-highlight dark:text-surface-400
  240. dark:group-p-sortable:not-group-p-sorted:group-hover:text-surface-300`,
  241. pcSortBadge: {
  242. root: tw`inline-flex h-6 min-w-6 items-center justify-center rounded-full bg-primary
  243. text-xs font-bold text-primary-contrast`
  244. },
  245. pcHeaderCheckbox: {
  246. root: tw`relative inline-flex h-5 w-5 align-bottom select-none`,
  247. input: tw`peer absolute start-0 top-0 z-10 m-0 h-full w-full cursor-pointer
  248. appearance-none rounded-xs border border-transparent p-0 opacity-0
  249. disabled:cursor-default`,
  250. box: tw`flex h-5 w-5 items-center justify-center rounded-sm border border-surface-300
  251. bg-surface-0 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  252. transition-colors duration-200 peer-focus-visible:outline
  253. peer-focus-visible:outline-1 peer-focus-visible:outline-offset-2
  254. peer-focus-visible:outline-primary peer-enabled:peer-hover:border-surface-400
  255. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  256. dark:peer-enabled:peer-hover:border-surface-600 p-checked:border-primary
  257. p-checked:bg-primary p-checked:text-primary-contrast
  258. peer-enabled:peer-hover:p-checked:border-primary-emphasis
  259. peer-enabled:peer-hover:p-checked:bg-primary-emphasis
  260. p-disabled:border-surface-300 p-disabled:bg-surface-200
  261. p-disabled:text-surface-700 dark:p-disabled:border-surface-700
  262. dark:p-disabled:bg-surface-400 dark:p-disabled:text-surface-400`,
  263. icon: tw`h-[0.875rem] w-[0.875rem] text-sm transition-none`
  264. },
  265. pcRowRadiobutton: {
  266. root: tw`relative inline-flex h-5 w-5 select-none`,
  267. input: tw`peer absolute start-0 top-0 z-10 m-0 h-full w-full cursor-pointer
  268. appearance-none rounded-full border border-transparent p-0 opacity-0
  269. disabled:cursor-default`,
  270. box: tw`flex h-5 w-5 items-center justify-center rounded-full border border-surface-300
  271. bg-surface-0 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] transition-colors
  272. duration-200 peer-focus-visible:outline peer-focus-visible:outline-1
  273. peer-focus-visible:outline-offset-2 peer-focus-visible:outline-primary
  274. peer-enabled:peer-hover:border-surface-400 dark:border-surface-700
  275. dark:bg-surface-950 dark:peer-enabled:peer-hover:border-surface-600
  276. p-invalid:border-danger-400 dark:p-invalid:border-danger-300
  277. p-filled:bg-surface-50 dark:p-filled:bg-surface-800 p-checked:border-primary
  278. p-checked:bg-primary peer-enabled:peer-hover:p-checked:border-primary-emphasis
  279. peer-enabled:peer-hover:p-checked:bg-primary-emphasis
  280. p-disabled:border-surface-300 p-disabled:bg-surface-200
  281. dark:p-disabled:border-surface-700 dark:p-disabled:bg-surface-400`,
  282. icon: tw`h-3 w-3 scale-[0.1] rounded-full bg-transparent text-xs transition-all
  283. duration-200 backface-hidden p-checked:visible p-checked:scale-100
  284. p-checked:bg-primary-contrast p-disabled:bg-surface-700
  285. dark:p-disabled:bg-surface-400`
  286. },
  287. pcRowCheckbox: {
  288. root: tw`relative inline-flex h-5 w-5 align-bottom select-none`,
  289. input: tw`peer absolute start-0 top-0 z-10 m-0 h-full w-full cursor-pointer
  290. appearance-none rounded-xs border border-transparent p-0 opacity-0
  291. disabled:cursor-default`,
  292. box: tw`flex h-5 w-5 items-center justify-center rounded-sm border border-surface-300
  293. bg-surface-0 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  294. transition-colors duration-200 peer-focus-visible:outline
  295. peer-focus-visible:outline-1 peer-focus-visible:outline-offset-2
  296. peer-focus-visible:outline-primary peer-enabled:peer-hover:border-surface-400
  297. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  298. dark:peer-enabled:peer-hover:border-surface-600 p-checked:border-primary
  299. p-checked:bg-primary p-checked:text-primary-contrast
  300. peer-enabled:peer-hover:p-checked:border-primary-emphasis
  301. peer-enabled:peer-hover:p-checked:bg-primary-emphasis
  302. p-disabled:border-surface-300 p-disabled:bg-surface-200
  303. p-disabled:text-surface-700 dark:p-disabled:border-surface-700
  304. dark:p-disabled:bg-surface-400 dark:p-disabled:text-surface-400`,
  305. icon: tw`h-[0.875rem] w-[0.875rem] text-sm transition-none`
  306. },
  307. rowToggleButton: tw`relative inline-flex h-7 w-7 cursor-pointer items-center justify-center
  308. overflow-hidden rounded-full border-none bg-transparent text-surface-500
  309. transition-colors duration-200 select-none focus-visible:outline
  310. focus-visible:outline-1 focus-visible:outline-offset-2
  311. focus-visible:outline-primary enabled:hover:bg-surface-100
  312. enabled:hover:text-surface-700 dark:text-surface-400
  313. dark:enabled:hover:bg-surface-800 dark:enabled:hover:text-surface-0
  314. p-selected:hover:bg-surface-0 p-selected:hover:text-primary
  315. dark:p-selected:hover:bg-surface-900`,
  316. rowToggleIcon: tw``,
  317. reorderableRowHandle: tw``
  318. },
  319. loadingIcon: tw``,
  320. pcPaginator: {
  321. paginatorContainer: tw`border-surface-200 dark:border-surface-700 p-bottom:border-b`,
  322. root: tw`flex flex-wrap items-center justify-center gap-1 rounded-md bg-surface-0 px-4
  323. py-2 text-surface-700 dark:bg-surface-900 dark:text-surface-0`
  324. },
  325. columnResizeIndicator: tw`absolute z-10 hidden w-px bg-primary`,
  326. rowReorderIndicatorUp: tw`absolute hidden`,
  327. rowReorderIndicatorDown: tw`absolute hidden`
  328. },
  329. datepicker: {
  330. root: tw`relative inline-flex max-w-full p-fluid:flex`,
  331. pcInputText: {
  332. root: tw`w-[1%] flex-auto appearance-none rounded-md border border-surface-300
  333. bg-surface-0 px-3 py-2 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  334. outline-hidden transition-colors duration-200 placeholder:text-surface-500
  335. enabled:hover:border-surface-400 enabled:focus:border-primary
  336. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  337. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  338. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  339. dark:disabled:text-surface-400 p-invalid:border-red-400
  340. p-invalid:placeholder:text-red-600 dark:p-invalid:border-red-300
  341. dark:p-invalid:placeholder:text-red-400 p-small:px-[0.625rem]
  342. p-small:py-[0.375rem] p-small:text-sm p-large:px-[0.875rem]
  343. p-large:py-[0.625rem] p-large:text-lg p-fluid:w-full p-filled:bg-surface-50
  344. dark:p-filled:bg-surface-800 p-has-e-icon:pe-10 p-has-dropdown:rounded-e-none`
  345. },
  346. dropdown: tw`relative inline-flex w-10 shrink-0 cursor-pointer items-center justify-center
  347. overflow-hidden rounded-e-md border border-s-0 border-surface-300 bg-surface-100
  348. text-surface-600 transition-colors duration-200 select-none
  349. focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
  350. focus-visible:outline-primary enabled:hover:bg-surface-200
  351. enabled:hover:text-surface-700 enabled:active:bg-surface-300
  352. enabled:hover:active:text-surface-800 dark:border-surface-700
  353. dark:bg-surface-800 dark:text-surface-300 dark:enabled:hover:bg-surface-700
  354. dark:enabled:hover:text-surface-200 dark:enabled:active:bg-surface-600
  355. dark:enabled:active:text-surface-100`,
  356. inputIconContainer: tw`absolute end-3 top-1/2 -mt-2 cursor-pointer leading-none text-surface-400
  357. p-small:*:size-[0.875rem] p-large:*:size-[1.125rem]`,
  358. panel: tw`w-auto rounded-md border border-surface-200 bg-surface-0 p-3 text-surface-700
  359. shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
  360. dark:border-surface-700 dark:bg-surface-900 dark:text-surface-0
  361. p-portal-self:min-w-full p-inline:inline-block p-inline:overflow-x-auto
  362. p-inline:shadow-none`,
  363. calendarContainer: tw`flex`,
  364. calendar: tw`flex-auto gap-3 border-s border-surface-200 px-3 first:border-s-0 first:ps-0
  365. last:pe-0 dark:border-surface-700`,
  366. header: tw`flex items-center justify-between gap-2 border-b border-surface-200 bg-surface-0
  367. px-0 pt-0 pb-2 font-medium text-surface-700 dark:border-surface-700
  368. dark:bg-surface-900 dark:text-surface-0`,
  369. title: tw`flex items-center justify-between gap-2 font-medium`,
  370. selectMonth: tw`m-0 cursor-pointer rounded-md border-none bg-transparent px-2 py-1 font-medium
  371. text-surface-700 transition-colors duration-200 focus-visible:outline
  372. focus-visible:outline-1 focus-visible:outline-offset-2
  373. focus-visible:outline-primary enabled:hover:bg-surface-100
  374. enabled:hover:text-surface-800 dark:text-surface-0
  375. dark:enabled:hover:bg-surface-800 dark:enabled:hover:text-surface-0`,
  376. selectYear: tw`m-0 cursor-pointer rounded-md border-none bg-transparent px-2 py-1 font-medium
  377. text-surface-700 transition-colors duration-200 focus-visible:outline
  378. focus-visible:outline-1 focus-visible:outline-offset-2
  379. focus-visible:outline-primary enabled:hover:bg-surface-100
  380. enabled:hover:text-surface-800 dark:text-surface-0
  381. dark:enabled:hover:bg-surface-800 dark:enabled:hover:text-surface-0`,
  382. decade: tw`white-space-nowrap`,
  383. dayView: tw`mx-0 mt-2 mb-0 w-full border-collapse text-base`,
  384. tableHeader: tw``,
  385. tableHeaderRow: tw``,
  386. weekHeader: tw`p-1`,
  387. weekHeaderLabel: tw`font-medium text-surface-700 opacity-60 dark:text-surface-0`,
  388. tableHeaderCell: tw``,
  389. weekDayCell: tw`p-1`,
  390. weekDay: tw`font-medium text-surface-700 dark:text-surface-0`,
  391. tableBody: tw``,
  392. weekNumber: tw``,
  393. weekLabelContainer: tw`flex h-8 w-8 justify-center p-1 opacity-60`,
  394. weekLabel: tw``,
  395. dayCell: tw`p-1`,
  396. day: tw`relative mx-auto my-0 flex h-8 w-8 cursor-pointer items-center justify-center
  397. overflow-hidden rounded-full border border-transparent p-1 text-surface-700
  398. transition-colors duration-200 hover:bg-surface-100 hover:text-surface-800
  399. focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
  400. focus-visible:outline-primary dark:text-surface-0 dark:hover:bg-surface-800
  401. dark:hover:text-surface-0 p-disabled:pointer-events-none p-disabled:opacity-60
  402. p-selected:bg-primary p-selected:text-primary-contrast p-today:bg-surface-200
  403. p-today:text-surface-900 p-today:hover:bg-surface-100
  404. p-today:hover:text-surface-800 dark:p-today:bg-surface-700
  405. dark:p-today:text-surface-0 dark:p-today:hover:bg-surface-800
  406. dark:p-today:hover:text-surface-0 p-today:p-selected:bg-primary
  407. p-today:p-selected:text-primary-contrast`,
  408. monthView: tw`mx-0 mt-2 mb-0`,
  409. month: tw`relative inline-flex w-1/3 cursor-pointer items-center justify-center
  410. overflow-hidden rounded-md p-[0.375rem] text-surface-700 transition-colors
  411. duration-200 hover:bg-surface-100 hover:text-surface-800 focus-visible:outline
  412. focus-visible:outline-1 focus-visible:outline-offset-2
  413. focus-visible:outline-primary dark:text-surface-0 dark:hover:bg-surface-800
  414. dark:hover:text-surface-0 p-selected:bg-primary p-selected:text-primary-contrast`,
  415. yearView: tw`mx-0 mt-2 mb-0`,
  416. year: tw`relative inline-flex w-1/2 cursor-pointer items-center justify-center
  417. overflow-hidden rounded-md p-[0.375rem] text-surface-700 transition-colors
  418. duration-200 hover:bg-surface-100 hover:text-surface-800 focus-visible:outline
  419. focus-visible:outline-1 focus-visible:outline-offset-2
  420. focus-visible:outline-primary dark:text-surface-0 dark:hover:bg-surface-800
  421. dark:hover:text-surface-0 p-selected:bg-primary p-selected:text-primary-contrast`,
  422. timePicker: tw`flex items-center justify-center gap-2 border-t border-surface-200 p-0
  423. not-p-time-only:px-0 not-p-time-only:pt-2 not-p-time-only:pb-0
  424. dark:border-surface-700`,
  425. hourPicker: tw`flex flex-col items-center gap-1`,
  426. hour: tw`text-base`,
  427. separatorContainer: tw`flex flex-col items-center gap-1`,
  428. separator: tw`text-base`,
  429. minutePicker: tw`flex flex-col items-center gap-1`,
  430. minute: tw`text-base`,
  431. secondPicker: tw`flex flex-col items-center gap-1`,
  432. second: tw`text-base`,
  433. ampmPicker: tw`flex flex-col items-center gap-1`,
  434. ampm: tw`text-base`,
  435. buttonbar: tw`flex items-center justify-between border-t border-surface-200 px-0 pt-2 pb-0
  436. dark:border-surface-700`,
  437. transition: {
  438. enterFromClass: tw`scale-y-75 opacity-0`,
  439. enterActiveClass: tw`transition duration-120 ease-[cubic-bezier(0,0,0.2,1)]`,
  440. leaveActiveClass: tw`transition-opacity duration-100 ease-linear`,
  441. leaveToClass: tw`opacity-0`
  442. }
  443. },
  444. dialog: {
  445. root: tw`max-h-full max-w-screen rounded-xl border border-surface-100 bg-surface-200
  446. text-surface-700 shadow-lg dark:border-surface-800 dark:bg-surface-700
  447. dark:text-surface-0 p-maximized:start-0 p-maximized:top-0 p-maximized:h-screen
  448. p-maximized:max-h-[90%] p-maximized:w-screen p-maximized:rounded-none`,
  449. header: tw`flex shrink-0 items-center justify-between p-5`,
  450. title: tw`text-xl font-semibold`,
  451. headerActions: tw`flex items-center gap-2`,
  452. content: tw`overflow-y-auto px-5 pt-0 pb-5 p-maximized:grow`,
  453. footer: tw`flex shrink-0 justify-end gap-2 px-5 pt-0 pb-5`,
  454. mask: tw`p-modal:fixed p-modal:start-0 p-modal:top-0 p-modal:h-full p-modal:w-full
  455. p-modal:bg-black/50`,
  456. transition: {
  457. enterFromClass: tw`scale-75 opacity-0`,
  458. enterActiveClass: tw`transition-all duration-150 ease-[cubic-bezier(0,0,0.2,1)]`,
  459. leaveActiveClass: tw`transition-all duration-150 ease-[cubic-bezier(0.4,0,0.2,1)]`,
  460. leaveToClass: tw`scale-75 opacity-0`
  461. }
  462. },
  463. inplace: {
  464. root: tw``,
  465. display: tw`inline-block cursor-pointer rounded-md border border-transparent px-3 py-2
  466. transition-colors duration-200 hover:bg-surface-100 hover:text-surface-800
  467. focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
  468. focus-visible:outline-primary dark:hover:bg-surface-800
  469. dark:hover:text-surface-0 p-disabled:pointer-events-none`,
  470. content: tw`block`
  471. },
  472. inputtext: {
  473. root: tw`appearance-none rounded-md border border-surface-300 bg-surface-0 px-3 py-2
  474. text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] outline-hidden
  475. transition-colors duration-200 placeholder:text-surface-500
  476. enabled:hover:border-surface-400 enabled:focus:border-primary
  477. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  478. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  479. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  480. dark:disabled:text-surface-400 p-invalid:border-danger-400
  481. p-invalid:placeholder:text-danger-600 dark:p-invalid:border-danger-300
  482. dark:p-invalid:placeholder:text-danger-400 p-small:px-[0.625rem]
  483. p-small:py-[0.375rem] p-small:text-sm p-large:px-[0.875rem]
  484. p-large:py-[0.625rem] p-large:text-lg p-fluid:w-full p-filled:bg-surface-50
  485. dark:p-filled:bg-surface-800`
  486. },
  487. listbox: {
  488. root: tw`group rounded-md border border-surface-300 bg-surface-0 text-sm text-surface-700
  489. shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] transition-colors duration-200
  490. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  491. p-invalid:border-danger-400 dark:p-invalid:border-danger-300
  492. p-disabled:pointer-events-none p-disabled:bg-surface-200
  493. p-disabled:text-surface-500 dark:p-disabled:bg-surface-700
  494. dark:p-disabled:text-surface-400`,
  495. header: tw`px-4 pt-2 pb-1`,
  496. pcFilterContainer: {
  497. root: tw`relative`
  498. },
  499. pcFilter: {
  500. root: tw`w-full appearance-none rounded-md border border-surface-300 bg-surface-0 py-2
  501. ps-3 pe-10 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  502. outline-hidden transition-colors duration-200 placeholder:text-surface-500
  503. enabled:hover:border-surface-400 enabled:focus:border-primary
  504. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  505. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  506. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  507. dark:disabled:text-surface-400 p-fluid:w-full`
  508. },
  509. pcFilterIconContainer: {
  510. root: tw`absolute end-3 top-1/2 z-1 -mt-2 leading-none`
  511. },
  512. filterIcon: tw`text-surface-400`,
  513. listContainer: tw`overflow-auto`,
  514. virtualScroller: tw``,
  515. list: tw`m-0 flex list-none flex-col gap-[2px] p-0 outline-none`,
  516. optionGroup: tw`m-0 px-3 py-2 font-semibold text-surface-500 dark:text-surface-400`,
  517. option: tw`relative flex cursor-pointer items-center overflow-hidden rounded-sm border-none
  518. px-1 py-0.75 text-surface-700 transition-colors duration-200
  519. group-p-disabled:pointer-events-none group-p-disabled:text-surface-500
  520. hover:not-p-selected:bg-surface-100 hover:not-p-selected:text-surface-800
  521. dark:text-surface-0 dark:group-p-disabled:text-surface-400
  522. dark:hover:not-p-selected:bg-surface-800
  523. dark:hover:not-p-selected:text-surface-0 p-disabled:pointer-events-none
  524. p-disabled:opacity-60 p-selected:bg-highlight
  525. p-focus:not-p-selected:bg-surface-100 p-focus:not-p-selected:text-surface-800
  526. dark:p-focus:not-p-selected:bg-surface-800
  527. dark:p-focus:not-p-selected:text-surface-0
  528. p-selected:p-focus:bg-highlight-emphasis`,
  529. optionCheckIcon: tw``,
  530. optionBlankIcon: tw``,
  531. emptyMessage: tw`px-3 py-2`
  532. },
  533. menu: {
  534. root: tw`min-w-52 rounded-md bg-primary-50 text-primary dark:bg-primary-900
  535. p-popup:shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]`,
  536. list: tw`mx-1 mb-1 flex list-none flex-col gap-0.5 outline-none`,
  537. item: tw`p-disabled:pointer-events-none p-disabled:opacity-60`,
  538. itemContent: tw`group hover:bbg-primary-50 rounded-sm transition-colors duration-200
  539. hover:text-primary dark:hover:bg-primary/5 dark:hover:text-primary
  540. p-focus:bg-primary-50 p-focus:text-primary dark:p-focus:bg-primary/5
  541. dark:p-focus:text-primary`,
  542. itemLink: tw`relative flex cursor-pointer items-center gap-2 overflow-hidden px-4 py-2
  543. text-inherit no-underline outline-none select-none`,
  544. itemIcon: tw`text-primary group-hover:text-primary p-focus:text-primary`,
  545. itemLabel: tw``,
  546. submenuLabel: tw`bg-transparent px-4 py-2 font-semibold text-primary`,
  547. separator: tw`border-t border-primary dark:border-primary`,
  548. transition: {
  549. enterFromClass: tw`scale-y-75 opacity-0`,
  550. enterActiveClass: tw`transition duration-120 ease-[cubic-bezier(0,0,0.2,1)]`,
  551. leaveActiveClass: tw`transition-opacity duration-100 ease-linear`,
  552. leaveToClass: tw`opacity-0`
  553. }
  554. },
  555. message: {
  556. root: tw`dark: rounded-md outline outline-1 p-secondary:bg-surface-100
  557. p-secondary:text-surface-600 p-secondary:outline-surface-200
  558. dark:p-secondary:bg-surface-800 dark:p-secondary:text-surface-300
  559. dark:p-secondary:outline-surface-700 p-contrast:bg-surface-900
  560. p-contrast:text-surface-50 p-contrast:outline-surface-950
  561. dark:p-contrast:bg-surface-0 dark:p-contrast:text-surface-950
  562. dark:p-contrast:outline-surface-100 p-success:bg-success-50/95
  563. p-success:text-success-600 p-success:outline-success-200
  564. dark:p-success:bg-success-500/15 dark:p-success:text-success-500
  565. dark:p-success:outline-success-700/35 p-info:bg-info-50/95 p-info:text-info-600
  566. p-info:outline-info-200 dark:p-info:bg-info-500/15 dark:p-info:text-info-500
  567. dark:p-info:outline-info-700/35 p-warn:bg-warn-50/95 p-warn:text-warn-600
  568. p-warn:outline-warn-200 dark:p-warn:bg-warn-500/15 dark:p-warn:text-warn-500
  569. dark:p-warn:outline-warn-700/35 p-error:bg-danger-50/95 p-error:text-danger-600
  570. p-error:outline-danger-200 dark:p-error:bg-danger-500/15
  571. dark:p-error:text-danger-500 dark:p-error:outline-danger-700/35
  572. p-outlined:bg-transparent p-outlined:outline p-outlined:outline-1
  573. p-secondary:p-outlined:text-surface-500
  574. p-secondary:p-outlined:outline-surface-500
  575. dark:p-secondary:p-outlined:text-surface-400
  576. dark:p-secondary:p-outlined:outline-surface-400
  577. p-contrast:p-outlined:text-surface-950 p-contrast:p-outlined:outline-surface-950
  578. dark:p-contrast:p-outlined:text-surface-0
  579. dark:p-contrast:p-outlined:outline-surface-0
  580. p-success:p-outlined:text-success-500 p-success:p-outlined:outline-success-500
  581. dark:p-success:p-outlined:text-success-600
  582. dark:p-success:p-outlined:outline-success-600 p-info:p-outlined:text-info-500
  583. p-info:p-outlined:outline-info-500 dark:p-info:p-outlined:text-info-600
  584. dark:p-info:p-outlined:outline-info-600 p-warn:p-outlined:text-warn-500
  585. p-warn:p-outlined:text-warn-600 p-warn:p-outlined:outline-warn-500
  586. dark:p-warn:p-outlined:outline-warn-600 p-error:p-outlined:text-danger-500
  587. p-error:p-outlined:outline-danger-500 dark:p-error:p-outlined:text-danger-600
  588. dark:p-error:p-outlined:outline-danger-600 p-simple:bg-transparent
  589. p-simple:outline-none p-secondary:p-simple:text-surface-500
  590. dark:p-secondary:p-simple:text-surface-400 p-contrast:p-simple:text-surface-950
  591. dark:p-contrast:p-simple:text-surface-0 p-success:p-simple:text-success-500
  592. dark:p-success:p-simple:text-success-600 p-info:p-simple:text-info-500
  593. dark:p-info:p-simple:text-info-600 p-warn:p-simple:text-warn-500
  594. dark:p-warn:p-simple:text-warn-600 p-error:p-simple:text-danger-500
  595. dark:p-error:p-simple:text-danger-600`,
  596. content: tw`flex h-full items-center gap-2 px-3 py-2 p-small:px-2.5 p-small:py-[0.375rem]
  597. p-large:px-3.5 p-large:py-2.5 p-simple:p-0`,
  598. icon: tw`h-[1.125rem] w-[1.125rem] flex-shrink-0 text-lg p-small:h-[0.875rem]
  599. p-small:w-[0.875rem] p-small:text-sm p-large:h-5 p-large:w-5 p-large:text-xl`,
  600. text: tw`text-base font-medium p-small:text-sm p-large:text-xl`,
  601. closeButton: tw`p:warn:hover:bg-warn-100 p:warn:focus-visible:outline-warn-600
  602. dark:p:warn:hover:bg-white/5 dark:p:warn:focus-visible:outline-warn-500 relative
  603. ms-auto flex h-7 w-7 flex-shrink-0 cursor-pointer items-center justify-center
  604. overflow-hidden rounded-full border-none bg-transparent p-0 text-inherit
  605. transition-colors duration-200 select-none focus-visible:outline
  606. focus-visible:outline-1 focus-visible:outline-offset-2
  607. p-secondary:hover:bg-surface-200 p-secondary:focus-visible:outline-surface-600
  608. dark:p-secondary:hover:bg-surface-700
  609. dark:p-secondary:focus-visible:outline-surface-300
  610. p-contrast:hover:bg-surface-800 p-contrast:focus-visible:outline-surface-50
  611. dark:p-contrast:hover:bg-surface-100
  612. dark:p-contrast:focus-visible:outline-surface-950 p-success:hover:bg-success-100
  613. p-success:focus-visible:outline-success-600 dark:p-success:hover:bg-white/5
  614. dark:p-success:focus-visible:outline-success-500 p-info:hover:bg-info-100
  615. p-info:focus-visible:outline-info-600 dark:p-info:hover:bg-white/5
  616. dark:p-info:focus-visible:outline-info-500 p-error:hover:bg-danger-100
  617. p-error:focus-visible:outline-danger-600 dark:p-error:hover:bg-white/5
  618. dark:p-error:focus-visible:outline-danger-500 p-outlined:hover:bg-transparent
  619. p-simple:hover:bg-transparent`,
  620. closeIcon: tw`h-4 w-4 text-base p-small:h-3.5 p-small:w-3.5 p-small:text-sm
  621. p-large:h-[1.125rem] p-large:w-[1.125rem] p-large:text-xl`,
  622. transition: {
  623. enterFromClass: tw`opacity-0`,
  624. enterActiveClass: tw`transition-opacity duration-300`,
  625. leaveFromClass: tw`max-h-40`,
  626. leaveActiveClass: tw`overflow-hidden transition-all duration-300 ease-in`,
  627. leaveToClass: tw`!m-0 max-h-0 opacity-0`
  628. }
  629. },
  630. multiselect: {
  631. root: tw`relative inline-flex cursor-pointer rounded-md border border-surface-300
  632. bg-surface-0 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] transition-colors
  633. duration-200 select-none hover:border-surface-400 dark:border-surface-600
  634. dark:bg-surface-950 dark:hover:border-surface-700 p-invalid:border-red-400
  635. dark:p-invalid:border-red-300 p-fluid:flex p-filled:bg-surface-50
  636. dark:p-filled:bg-surface-800 p-disabled:pointer-events-none
  637. p-disabled:bg-surface-200 p-disabled:text-surface-500
  638. dark:p-disabled:bg-surface-700 dark:p-disabled:text-surface-400
  639. p-focus:border-primary`,
  640. labelContainer: tw`flex-auto overflow-hidden`,
  641. label: tw`flex items-center gap-1 overflow-hidden px-3 py-2 text-ellipsis
  642. whitespace-nowrap text-surface-700 dark:text-surface-0 p-small:px-[0.625rem]
  643. p-small:py-[0.375rem] p-small:text-sm p-large:px-[0.875rem]
  644. p-large:py-[0.625rem] p-large:text-lg p-disabled:text-surface-500
  645. dark:p-disabled:text-surface-400 p-empty:overflow-hidden p-empty:opacity-0
  646. p-placeholder:text-surface-500 dark:p-placeholder:text-surface-400
  647. p-has-chip:px-[0.375rem] p-has-chip:py-1`,
  648. chipItem: tw``,
  649. pcChip: {
  650. root: tw`inline-flex items-center gap-2 rounded-sm bg-surface-100 px-3 py-1
  651. text-surface-800 has-[img]:pt-1 has-[img]:pb-1 dark:bg-surface-800
  652. dark:text-surface-0 p-removable:pe-2`,
  653. removeIcon: tw`h-4 w-4 cursor-pointer rounded-full text-base text-surface-800
  654. dark:text-surface-0`
  655. },
  656. dropdown: tw`flex w-10 shrink-0 items-center justify-center rounded-e-md bg-transparent
  657. text-surface-400`,
  658. overlay: tw`absolute top-0 left-0 rounded-md border border-surface-200 bg-surface-0
  659. text-surface-700
  660. shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
  661. dark:border-surface-700 dark:bg-surface-900 dark:text-surface-0
  662. p-portal-self:min-w-full`,
  663. header: tw`flex items-center gap-2 px-4 pt-2 pb-1`,
  664. pcHeaderCheckbox: {
  665. root: tw`relative inline-flex h-5 w-5 align-bottom select-none`,
  666. input: tw`peer absolute start-0 top-0 z-10 m-0 h-full w-full cursor-pointer
  667. appearance-none rounded-xs border border-transparent p-0 opacity-0
  668. disabled:cursor-default`,
  669. box: tw`flex h-5 w-5 items-center justify-center rounded-sm border border-surface-300
  670. bg-surface-0 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  671. transition-colors duration-200 peer-focus-visible:outline
  672. peer-focus-visible:outline-1 peer-focus-visible:outline-offset-2
  673. peer-focus-visible:outline-primary peer-enabled:peer-hover:border-surface-400
  674. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  675. dark:peer-enabled:peer-hover:border-surface-600 p-checked:border-primary
  676. p-checked:bg-primary p-checked:text-primary-contrast
  677. peer-enabled:peer-hover:p-checked:border-primary-emphasis
  678. peer-enabled:peer-hover:p-checked:bg-primary-emphasis
  679. p-disabled:border-surface-300 p-disabled:bg-surface-200
  680. p-disabled:text-surface-700 dark:p-disabled:border-surface-700
  681. dark:p-disabled:bg-surface-400 dark:p-disabled:text-surface-400`,
  682. icon: tw`h-[0.875rem] w-[0.875rem] text-sm transition-none`
  683. },
  684. pcFilterContainer: {
  685. root: tw`relative flex-auto`
  686. },
  687. pcFilter: {
  688. root: tw`w-full appearance-none rounded-md border border-surface-300 bg-surface-0 py-2
  689. ps-3 pe-10 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  690. outline-hidden transition-colors duration-200 placeholder:text-surface-500
  691. enabled:hover:border-surface-400 enabled:focus:border-primary
  692. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  693. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  694. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  695. dark:disabled:text-surface-400 p-fluid:w-full`
  696. },
  697. pcFilterIconContainer: {
  698. root: tw`absolute end-3 top-1/2 z-1 -mt-2 leading-none`
  699. },
  700. listContainer: tw`overflow-auto`,
  701. virtualScroller: tw``,
  702. list: tw`m-0 flex list-none flex-col gap-[2px] p-1`,
  703. optionGroup: tw`m-0 bg-transparent px-3 py-2 font-semibold text-surface-500
  704. dark:text-surface-400`,
  705. option: tw`relative flex cursor-pointer items-center gap-2 overflow-hidden rounded-sm
  706. border-none bg-transparent px-3 py-2 font-normal whitespace-nowrap
  707. text-surface-700 transition-colors duration-200 dark:text-surface-0
  708. p-focus:bg-surface-100 p-focus:text-surface-800 dark:p-focus:bg-surface-800
  709. dark:p-focus:text-surface-0`,
  710. optionLabel: tw``,
  711. pcOptionCheckbox: {
  712. root: tw`relative inline-flex h-5 w-5 align-bottom select-none`,
  713. input: tw`peer absolute start-0 top-0 z-10 m-0 h-full w-full cursor-pointer
  714. appearance-none rounded-xs border border-transparent p-0 opacity-0
  715. disabled:cursor-default`,
  716. box: tw`flex h-5 w-5 items-center justify-center rounded-sm border border-surface-300
  717. bg-surface-0 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  718. transition-colors duration-200 peer-focus-visible:outline
  719. peer-focus-visible:outline-1 peer-focus-visible:outline-offset-2
  720. peer-focus-visible:outline-primary peer-enabled:peer-hover:border-surface-400
  721. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  722. dark:peer-enabled:peer-hover:border-surface-600 p-checked:border-primary
  723. p-checked:bg-primary p-checked:text-primary-contrast
  724. peer-enabled:peer-hover:p-checked:border-primary-emphasis
  725. peer-enabled:peer-hover:p-checked:bg-primary-emphasis
  726. p-disabled:border-surface-300 p-disabled:bg-surface-200
  727. p-disabled:text-surface-700 dark:p-disabled:border-surface-700
  728. dark:p-disabled:bg-surface-400 dark:p-disabled:text-surface-400`,
  729. icon: tw`h-[0.875rem] w-[0.875rem] text-sm transition-none`
  730. },
  731. emptyMessage: tw`px-3 py-2`,
  732. transition: {
  733. enterFromClass: "opacity-0 scale-y-75",
  734. enterActiveClass:
  735. "transition duration-120 ease-[cubic-bezier(0,0,0.2,1)]",
  736. leaveActiveClass: "transition-opacity duration-100 ease-linear",
  737. leaveToClass: "opacity-0"
  738. }
  739. },
  740. panel: {
  741. root: tw`rounded-md border border-surface-200 bg-surface-0 text-surface-700
  742. dark:border-surface-700 dark:bg-surface-900 dark:text-surface-0`,
  743. header: tw`flex items-center justify-between p-[1.125rem] p-toggleable:px-[1.125rem]
  744. p-toggleable:py-[0.375rem]`,
  745. title: tw`leading-none font-semibold`,
  746. headerActions: tw`flex items-center gap-1`,
  747. contentContainer: tw``,
  748. content: tw`px-[1.125rem] pt-0 pb-[1.125rem]`,
  749. footer: tw`px-[1.125rem] pt-0 pb-[1.125rem]`,
  750. transition: {
  751. enterFromClass: tw`max-h-0`,
  752. enterActiveClass: tw`overflow-hidden transition-[max-height] duration-1000
  753. ease-[cubic-bezier(0.42,0,0.58,1)]`,
  754. enterToClass: tw`max-h-[1000px]`,
  755. leaveFromClass: tw`max-h-[1000px]`,
  756. leaveActiveClass: tw`overflow-hidden transition-[max-height] duration-[450ms]
  757. ease-[cubic-bezier(0,1,0,1)]`,
  758. leaveToClass: tw`max-h-0`
  759. }
  760. },
  761. password: {
  762. root: tw`relative inline-flex p-fluid:flex`,
  763. pcInputText: {
  764. root: tw`appearance-none rounded-md border border-surface-300 bg-surface-0 px-3 py-2
  765. text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] outline-hidden
  766. transition-colors duration-200 placeholder:text-surface-500
  767. enabled:hover:border-surface-400 enabled:focus:border-primary
  768. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  769. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  770. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  771. dark:disabled:text-surface-400 p-invalid:border-danger-400
  772. p-invalid:placeholder:text-danger-600 dark:p-invalid:border-danger-300
  773. dark:p-invalid:placeholder:text-danger-400 p-small:px-[0.625rem]
  774. p-small:py-[0.375rem] p-small:text-sm p-large:px-[0.875rem]
  775. p-large:py-[0.625rem] p-large:text-lg p-fluid:w-full p-filled:bg-surface-50
  776. dark:p-filled:bg-surface-800 p-has-e-icon:pe-10`
  777. },
  778. overlay: tw`rounded-md border border-surface-200 bg-surface-0 p-3 text-surface-700
  779. shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
  780. dark:border-surface-700 dark:bg-surface-900 dark:text-surface-0
  781. p-portal-self:min-w-full`,
  782. content: tw`flex flex-col gap-2`,
  783. meter: tw`h-3 rounded-md bg-surface-200 dark:bg-surface-700`,
  784. meterLabel: tw`h-full w-0 rounded-md transition-[width] duration-1000 ease-in-out
  785. p-weak:bg-red-500 dark:p-weak:bg-red-400 p-medium:bg-amber-500
  786. dark:p-medium:bg-amber-400 p-strong:bg-green-500 dark:p-strong:bg-green-400`,
  787. meterText: tw``,
  788. transition: {
  789. enterFromClass: tw`scale-y-75 opacity-0`,
  790. enterActiveClass: tw`transition duration-120 ease-[cubic-bezier(0,0,0.2,1)]`,
  791. leaveActiveClass: tw`transition-opacity duration-100 ease-linear`,
  792. leaveToClass: tw`opacity-0`
  793. }
  794. },
  795. select: {
  796. root: tw`relative inline-flex cursor-pointer rounded-md border border-surface-300
  797. bg-surface-0 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] transition-colors
  798. duration-200 select-none hover:border-surface-400 dark:border-surface-700
  799. dark:bg-surface-950 dark:hover:border-surface-600 p-invalid:border-red-400
  800. dark:p-invalid:border-red-300 p-fluid:flex p-filled:bg-surface-50
  801. dark:p-filled:bg-surface-800 p-disabled:pointer-events-none
  802. p-disabled:bg-surface-200 p-disabled:text-surface-500
  803. dark:p-disabled:bg-surface-700 dark:p-disabled:text-surface-400
  804. p-focus:border-primary`,
  805. label: tw`block w-[1%] flex-auto overflow-hidden border-none bg-transparent px-3 py-2
  806. overflow-ellipsis whitespace-nowrap text-surface-700 outline-none
  807. dark:text-surface-0 p-small:px-[0.625rem] p-small:py-[0.375rem] p-small:text-sm
  808. p-large:px-[0.875rem] p-large:py-[0.625rem] p-large:text-lg
  809. p-disabled:text-surface-500 dark:p-disabled:text-surface-400
  810. p-empty:overflow-hidden p-empty:opacity-0 p-placeholder:text-surface-500
  811. dark:p-placeholder:text-surface-400 p-clearable:pe-7 p-editable:cursor-default`,
  812. dropdown: tw`hidden`,
  813. overlay: tw`absolute top-0 left-0 rounded-md border border-surface-200 bg-surface-50
  814. text-surface-700
  815. shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
  816. dark:border-surface-700 dark:bg-surface-950 dark:text-surface-0
  817. p-portal-self:min-w-full`,
  818. header: tw`px-4 pt-2 pb-1`,
  819. pcFilterContainer: {
  820. root: tw`relative`
  821. },
  822. pcFilter: {
  823. root: tw`w-full appearance-none rounded-md border border-surface-300 bg-surface-0 py-2
  824. ps-3 pe-10 text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
  825. outline-hidden transition-colors duration-200 placeholder:text-surface-500
  826. enabled:hover:border-surface-400 enabled:focus:border-primary
  827. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  828. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  829. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  830. dark:disabled:text-surface-400 p-fluid:w-full`
  831. },
  832. pcFilterIconContainer: {
  833. root: tw`absolute end-3 top-1/2 z-1 -mt-2 leading-none`
  834. },
  835. listContainer: tw`overflow-auto`,
  836. list: tw`m-0 flex list-none flex-col gap-[2px] p-1`,
  837. optionGroup: tw`m-0 bg-transparent px-3 py-2 font-semibold text-surface-500
  838. dark:text-surface-400`,
  839. optionGroupLabel: tw``,
  840. option: tw`relative flex cursor-pointer items-center overflow-hidden rounded-sm border-none
  841. bg-transparent px-3 py-2 font-normal whitespace-nowrap text-surface-700
  842. transition-colors duration-200 dark:text-surface-0 p-selected:bg-highlight
  843. p-focus:bg-surface-100 p-focus:text-surface-800 dark:p-focus:bg-surface-800
  844. dark:p-focus:text-surface-0 p-focus:p-selected:bg-highlight-emphasis`,
  845. optionLabel: tw``,
  846. optionCheckIcon: tw`relative -ms-[0.375rem] me-[0.375rem] text-surface-700 dark:text-surface-0`,
  847. optionBlankIcon: tw``,
  848. emptyMessage: tw`px-3 py-2`,
  849. virtualScroller: tw``,
  850. transition: {
  851. enterFromClass: "opacity-0 scale-y-75",
  852. enterActiveClass:
  853. "transition duration-120 ease-[cubic-bezier(0,0,0.2,1)]",
  854. leaveActiveClass: "transition-opacity duration-100 ease-linear",
  855. leaveToClass: "opacity-0"
  856. }
  857. },
  858. selectbutton: {
  859. root: tw`inline-flex rounded-md select-none p-invalid:outline p-invalid:outline-offset-0
  860. p-invalid:outline-red-400 dark:p-invalid:outline-red-300`,
  861. pcToggleButton: {
  862. root: tw`relative inline-flex grow cursor-pointer items-center justify-center
  863. overflow-hidden rounded-none border border-surface-100 bg-surface-100 p-1
  864. text-base font-medium text-surface-500 transition-colors duration-200
  865. select-none first:rounded-s-md last:rounded-e-md focus-visible:relative
  866. focus-visible:z-10 focus-visible:outline focus-visible:outline-1
  867. focus-visible:outline-offset-2 focus-visible:outline-primary
  868. disabled:cursor-default disabled:border-surface-200 disabled:bg-surface-200
  869. disabled:text-surface-500 dark:border-surface-950 dark:bg-surface-950
  870. dark:text-surface-400 disabled:dark:border-surface-700
  871. disabled:dark:bg-surface-700 disabled:dark:text-surface-400
  872. p-invalid:border-red-400 dark:p-invalid:border-red-300 p-small:text-sm
  873. p-large:text-lg p-checked:text-surface-700 dark:p-checked:text-surface-0 `,
  874. content: tw`relative inline-flex flex-auto items-center justify-center gap-2 rounded-md px-3
  875. py-1 transition-colors duration-200 p-checked:bg-surface-0
  876. p-checked:shadow-[0px_1px_2px_0px_rgba(0,0,0,0.02),0px_1px_2px_0px_rgba(0,0,0,0.04)]
  877. dark:p-checked:bg-surface-800`,
  878. icon: tw``,
  879. label: tw``
  880. }
  881. },
  882. skeleton: {
  883. root: tw`overflow-hidden rounded-md bg-surface-200 dark:bg-surface-700
  884. p-circle:rounded-full`
  885. },
  886. textarea: {
  887. root: tw`appearance-none rounded-md border border-surface-300 bg-surface-0 px-3 py-2
  888. text-surface-700 shadow-[0_1px_2px_0_rgba(18,18,23,0.05)] outline-hidden
  889. transition-colors duration-200 placeholder:text-surface-500
  890. enabled:hover:border-surface-400 enabled:focus:border-primary
  891. disabled:bg-surface-200 disabled:text-surface-500 dark:border-surface-700
  892. dark:bg-surface-950 dark:text-surface-0 dark:placeholder:text-surface-400
  893. dark:enabled:hover:border-surface-600 dark:disabled:bg-surface-700
  894. dark:disabled:text-surface-400 p-invalid:border-red-400
  895. p-invalid:placeholder:text-red-600 dark:p-invalid:border-red-300
  896. dark:p-invalid:placeholder:text-red-400 p-small:px-[0.625rem]
  897. p-small:py-[0.375rem] p-small:text-sm p-large:px-[0.875rem]
  898. p-large:py-[0.625rem] p-large:text-lg p-fluid:w-full p-filled:bg-surface-50
  899. dark:p-filled:bg-surface-800`
  900. },
  901. toast: {
  902. root: tw`w-96 rounded-md break-words whitespace-pre-line p-center:min-w-[20vw]
  903. p-center:-translate-x-1/2 p-center:-translate-y-1/2
  904. p-top-center:-translate-x-1/2 p-bottom-center:-translate-x-1/2`,
  905. message: tw`group mb-4 not-p-custom:rounded-md not-p-custom:border
  906. not-p-custom:backdrop-blur-sm dark:not-p-custom:backdrop-blur-md
  907. p-secondary:border-secondary-200 p-secondary:bg-secondary-50/95
  908. p-secondary:text-secondary-600 dark:p-secondary:border-secondary-700/35
  909. dark:p-secondary:bg-secondary-500/15 dark:p-secondary:text-secondary-500
  910. p-contrast:border-surface-950 p-contrast:bg-surface-900
  911. p-contrast:text-surface-50 dark:p-contrast:border-surface-100
  912. dark:p-contrast:bg-surface-0 dark:p-contrast:text-surface-950
  913. p-success:border-success-200 p-success:bg-success-50/95
  914. p-success:text-success-600 dark:p-success:border-success-700/35
  915. dark:p-success:bg-success-500/15 dark:p-success:text-success-500
  916. p-info:border-info-200 p-info:bg-info-50/95 p-info:text-info-600
  917. dark:p-info:border-info-700/35 dark:p-info:bg-info-500/15
  918. dark:p-info:text-info-500 p-warn:border-warn-200 p-warn:bg-warn-50/95
  919. p-warn:text-warn-600 dark:p-warn:border-warn-700/35 dark:p-warn:bg-warn-500/15
  920. dark:p-warn:text-warn-500 p-danger:border-danger-200 p-danger:bg-danger-50/95
  921. p-danger:text-danger-600 dark:p-danger:border-danger-700/35
  922. dark:p-danger:bg-danger-500/15 dark:p-danger:text-danger-500
  923. p-error:border-danger-200 p-error:bg-danger-50/95 p-error:text-danger-600
  924. dark:p-error:border-danger-700/35 dark:p-error:bg-danger-500/15
  925. dark:p-error:text-danger-500`,
  926. messageContent: tw`flex items-start gap-2 p-3`,
  927. messageIcon: tw`mt-1 h-[1.125rem] w-[1.125rem] flex-shrink-0 text-lg`,
  928. messageText: tw`flex flex-auto flex-col gap-2`,
  929. summary: tw`text-base font-medium`,
  930. detail: tw`text-sm font-medium text-surface-700 dark:text-surface-0
  931. p-contrast:text-surface-0 dark:p-contrast:text-surface-950`,
  932. buttonContainer: tw``,
  933. closeButton: tw`relative -end-1/4 -mt-[25%] flex h-7 w-7 cursor-pointer items-center
  934. justify-center overflow-hidden rounded-full border-none bg-transparent p-0
  935. text-inherit transition-colors duration-200 select-none focus-visible:outline
  936. focus-visible:outline-1 focus-visible:outline-offset-2
  937. p-secondary:hover:bg-surface-200 p-secondary:focus-visible:outline-surface-600
  938. dark:p-secondary:hover:bg-surface-700
  939. dark:p-secondary:focus-visible:outline-surface-300
  940. p-contrast:hover:bg-surface-800 p-contrast:focus-visible:outline-surface-50
  941. dark:p-contrast:hover:bg-surface-100
  942. dark:p-contrast:focus-visible:outline-surface-950 p-success:hover:bg-success-100
  943. p-success:focus-visible:outline-success-600 dark:p-success:hover:bg-white/5
  944. dark:p-success:focus-visible:outline-success-500 p-info:hover:bg-info-100
  945. p-info:focus-visible:outline-info-600 dark:p-info:hover:bg-white/5
  946. dark:p-info:focus-visible:outline-info-500 p-warn:hover:bg-warn-100
  947. p-warn:focus-visible:outline-warn-600 dark:p-warn:hover:bg-white/5
  948. dark:p-warn:focus-visible:outline-warn-500 p-danger:hover:bg-danger-100
  949. p-danger:focus-visible:outline-danger-600 dark:p-danger:hover:bg-white/5
  950. dark:p-danger:focus-visible:outline-danger-500 p-error:hover:bg-danger-100
  951. p-error:focus-visible:outline-danger-600 dark:p-error:hover:bg-white/5
  952. dark:p-error:focus-visible:outline-danger-500`,
  953. closeIcon: tw`h-4 w-4 text-base`,
  954. transition: {
  955. enterFromClass: tw`translate-y-1/2 opacity-0`,
  956. enterActiveClass: tw`transition-all duration-500`,
  957. leaveFromClass: tw`max-h-[1000px]`,
  958. leaveActiveClass: tw`transition-all duration-500`,
  959. leaveToClass: tw`mb-0 max-h-0 overflow-hidden opacity-0`
  960. }
  961. },
  962. togglebutton: {
  963. root: tw`relative inline-flex cursor-pointer items-center justify-center overflow-hidden
  964. rounded-md border border-surface-100 bg-surface-100 p-1 text-base font-medium
  965. text-surface-500 transition-colors duration-200 select-none
  966. focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
  967. focus-visible:outline-primary disabled:cursor-default
  968. disabled:border-surface-200 disabled:bg-surface-200 disabled:text-surface-500
  969. dark:border-surface-950 dark:bg-surface-950 dark:text-surface-400
  970. disabled:dark:border-surface-700 disabled:dark:bg-surface-700
  971. disabled:dark:text-surface-400 p-invalid:border-red-400
  972. dark:p-invalid:border-red-300 p-small:text-sm p-large:text-lg
  973. p-checked:text-surface-700 dark:p-checked:text-surface-0 `,
  974. content: tw`relative inline-flex flex-auto items-center justify-center gap-2 rounded-md px-3
  975. py-1 transition-colors duration-200 p-checked:bg-surface-0
  976. p-checked:shadow-[0px_1px_2px_0px_rgba(0,0,0,0.02),0px_1px_2px_0px_rgba(0,0,0,0.04)]
  977. dark:p-checked:bg-surface-800`,
  978. icon: tw``,
  979. label: tw``
  980. },
  981. toolbar: {
  982. root: tw`flex flex-wrap items-center justify-between gap-2 rounded-md border-0
  983. bg-primary-50 p-0 text-primary dark:bg-primary-900`,
  984. start: tw`flex items-center`,
  985. center: tw`flex items-center`,
  986. end: tw`flex items-center`
  987. }
  988. }
  989. _set(passthrough, "patchedautocomplete", _cloneDeep(passthrough.autocomplete))
  990. export default passthrough