
    h"              	          d dl m Z  d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 ddlmZ ddlmZmZmZmZ dd	lmZmZmZmZmZ dd
lmZmZ ddlmZ ddlmZ ddlmZ ddl m!Z!m"Z"m#Z# ej                  d ed      ffz   Z$e	d ed      ffz   Z% ejL                  e      Z' G d d e'd      e      Z(i Z)ej                  D ](  Z* ejV                  e*dk(  rdnde* dde      e)de* <   *  e,de(f e e)            Z-e-j\                  j^                  dxx   e)ja                         z  cc<    G d d  e'd!      eeee      Z1 G d" d# e'd$      eeee      Z2 G d% d&e      Z3i Z4e
D ](  Z* ejV                  e*dk(  rd'nd(e* dde      e4e* d)<   *  e,d&e3f e e4            Z5e5j\                  j^                  dxx   e4ja                         z  cc<   y*)+    )copy)forms)gettext_lazy)EntangledModelForm)COLOR_STYLE_CHOICESDEVICE_SIZES   )settings)BackgroundFormMixinMarginFormMixinPaddingFormMixinResponsiveFormMixin)AttributesFormFieldButtonGroupColoredButtonGroup	IconGroupTagTypeFormField)first_choicelink_to_framework_doc)FrontendUIItem   )card)	GRID_SIZE   )CARD_ALIGNMENT_CHOICESCARD_INNER_TYPE_CHOICESCARD_LAYOUT_TYPE_CHOICEStransparentTransparentwhiteWhitec            	           e Zd ZdZ G d d      Z ej                   ed       ed      ddd	      Z ej                   ed
      e
 ee
       edd            Z e       Z e       Zy)CardLayoutBaseForm[
    Components > "Card" Plugin
    https://getbootstrap.com/docs/5.0/components/card/
    c                   8    e Zd ZeZdddgiZdZej                  Z	y)CardLayoutBaseForm.Metaconfig	card_type
attributes)tag_typecreateN
__name__
__module____qualname__r   modelentangled_fieldsuntangled_fieldsr
   	ADMIN_CSScss     U/home/dcms/DCMS/lib/python3.12/site-packages/djangocms_frontend/contrib/card/forms.pyMetar&       s2    

   r6   r8   zCreate cardsz&Number of cards to create when saving.Fr   d   )label	help_textrequired	min_value	max_valuez	Card type
CardLayoutcard_type_link)r:   choicesinitialr;   N)r-   r.   r/   __doc__r8   r   IntegerField_r+   ChoiceFieldr   r   r   r(   r   r)   r   r*   r5   r6   r7   r#   r#      s    
! !  U<=F "!!n(56'6FG	I %&J!Hr6   r#   r?   xszrow-colsz	row-cols-F)r:   r<   r=   r>   	row_cols_r'   c                      e Zd ZdZ G d d      Z ej                   ed      ej                  d   d   ej                  e
z   d ed      d eed	d
      v r ej                         n e             Z ej                   ed      ej                  ez   dd eed	d
      v r ej                         n e             Z ej                   ed      ej                  ez   dd eed	d
      v r ej                         n e             Z ej(                   ed      dd ed      d eed	d
      v r ej                         nej*                        Z e       Z e       Zy)CardFormr$   c                   8    e Zd ZeZdg diZdZej                  Z	y)CardForm.Metar'   )card_alignmentcard_outlinecard_text_colorcard_full_heightr)   r*   Nr,   r5   r6   r7   r8   rL   ]   s*     
 )  r6   r8   zCard outline contextr   Fz$Uses the border to indicate context.rN   EXCL_CARD_PROPr5   )r:   rB   rA   r<   r;   widget	AlignmentrM   r:   rA   r<   rS   zText contextrO   zFull heightzMIf checked cards in one row will automatically extend to the full row height.rP   )r:   rB   r<   r;   rS   N)r-   r.   r/   rC   r8   r   rF   rE   r
   EMPTY_CHOICECARD_COLOR_STYLE_CHOICESgetattrHiddenInputr   rN   r   r   rM   CARD_TEXT_STYLESrO   BooleanFieldCheckboxInputrP   r   r)   r   r*   r5   r6   r7   rJ   rJ   Q   s   
! ! %5$$&'%%a(+%%(@@:;WX/?DD !u  "!	L 'U&&n%%(>>&6'(L\^`:a&a u  "gpgr	N (e''%%(882BB GG !u  "!O *u))cd3CR!HH !u  "   %&J!Hr6   rJ   Cardc                   X   e Zd ZdZ G d d      Z ej                   ed      e e	e       ed       e
 ed            	      Z ej                   ed
      ej                  ej                  z   dd eedd      v r ej"                         n e             Z e       Z e       Zy)CardInnerFormzz
    Components > "Card - Inner" Plugin (Header, Footer, Body)
    https://getbootstrap.com/docs/5.0/components/card/
    c                        e Zd ZeZdg diZdZy)CardInnerForm.Metar'   )
inner_typetext_alignmentr)   rQ   Nr-   r.   r/   r   r0   r1   r2   r5   r6   r7   r8   ra      s     
 )r6   r8   z
Inner typez#Define the structure of the plugin.zbtn-secondary)label_class)attrs)r:   rA   rB   r;   rS   zContent alignmentFrc   rR   r5   rU   N)r-   r.   r/   rC   r8   r   rF   rE   r   r   r   dictrb   r
   rV   ALIGN_CHOICESrX   rY   r   rc   r   r)   r   r*   r5   r6   r7   r_   r_      s    
	) 	) #""o'459:/!BCJ 'U&&#$%%(>(>>&6'(L\^`:a&a u  "gpgr	N %&J!Hr6   r_   	CardInnerc                   <    e Zd Z G d d      Z e       Z e       Zy)CardDeckBaseFormc                       e Zd ZeZddgiZdZy)CardDeckBaseForm.Metar'   r)   rQ   Nrd   r5   r6   r7   r8   rm      s"    

 )r6   r8   N)r-   r.   r/   r8   r   r)   r   r*   r5   r6   r7   rk   rk      s    ) ) %&J!Hr6   rk   colzcol-_cardsN)6r   djangor   django.utils.translationr   rE   entangled.formsr   djangocms_frontend.settingsr   r    r
   commonr   r   r   r   fieldsr   r   r   r   r   helpersr   r   modelsr   r   grid.constantsr   	constantsr   r   r   rW   rZ   	get_formsmixin_factoryr#   extra_fields_row_colssizerD   typeCardLayoutForm_metar1   keysrJ   r_   rk   extra_fields_columnCardDeckFormr5   r6   r7   <module>r      s     6 . I  a a g g : $  & ` ` $77M1]K[;\:^^ &7AgJ*?)AA """4(""|46H ""J  !! D0B0B0B DLj	$.@	1IdV,- 	    % %h /3H3M3M3O O /<"&<"~%"+%"P") "   D+=5+=+=t|e4v	,4&( 	    # #H -1D1I1I1K K -r6   