No more Bulma module.
This commit is contained in:
		
							parent
							
								
									ca708999fc
								
							
						
					
					
						commit
						a3114ed235
					
				
					 10 changed files with 92 additions and 71 deletions
				
			
		| 
						 | 
				
			
			@ -22,7 +22,6 @@ import Data.Tuple (Tuple(..))
 | 
			
		|||
 | 
			
		||||
import Web as Web
 | 
			
		||||
import Web.Button as Button
 | 
			
		||||
import Bulma as Bulma
 | 
			
		||||
import Halogen.HTML as HH
 | 
			
		||||
import Halogen.HTML.Properties as HP
 | 
			
		||||
import Data.String.CodePoints as CP
 | 
			
		||||
| 
						 | 
				
			
			@ -96,7 +95,7 @@ shared_domains domains_i_share action_enter_domain action_unshare_domain action_
 | 
			
		|||
 | 
			
		||||
-- | Render all Resource Records.
 | 
			
		||||
resource_records :: forall w i. Array ResourceRecord -> (Int -> i) -> (Int -> i) -> (Int -> i) -> HH.HTML w i
 | 
			
		||||
resource_records [] _ _ _ = Web.box [Bulma.zone_rr_title "Resource records", Bulma.subtitle "No records for now"]
 | 
			
		||||
resource_records [] _ _ _ = Web.box [Web.title "Resource records", Web.subtitle "No records for now"]
 | 
			
		||||
resource_records records action_create_or_update_rr action_delete_rr action_new_token
 | 
			
		||||
  = HH.div_ $
 | 
			
		||||
         (rr_box [bg_color_ro] tag_soa      soa_table_header       table_content        all_soa_rr)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,57 +0,0 @@
 | 
			
		|||
-- | The `Bulma` module is a wrapper around the BULMA css framework.
 | 
			
		||||
module Bulma where
 | 
			
		||||
import Prelude (map, ($), (<>))
 | 
			
		||||
 | 
			
		||||
import Halogen.HTML as HH
 | 
			
		||||
import Halogen.HTML.Properties as HP
 | 
			
		||||
import Halogen.HTML.Events as HE
 | 
			
		||||
 | 
			
		||||
import CSSClasses as C
 | 
			
		||||
 | 
			
		||||
import Halogen.HTML.Core (AttrName(..))
 | 
			
		||||
-- import Web.Event.Event (type_, Event, EventType(..))
 | 
			
		||||
-- import Web.UIEvent.MouseEvent (MouseEvent) -- package web-uievents
 | 
			
		||||
 | 
			
		||||
outside_link :: forall w i. Array HH.ClassName -> String -> String -> HH.HTML w i
 | 
			
		||||
outside_link classes url title = HH.a [ HP.classes classes, HP.target "_blank", HP.href url ] [ HH.text title ]
 | 
			
		||||
 | 
			
		||||
zone_rr_title :: forall (w :: Type) (a :: Type). String -> HH.HTML w a
 | 
			
		||||
zone_rr_title title
 | 
			
		||||
  = HH.h3 [ HP.classes [C.title, C.has_text_light, C.has_background_dark] ]
 | 
			
		||||
          [ HH.text title ]
 | 
			
		||||
 | 
			
		||||
subtitle :: forall (w :: Type) (a :: Type). String -> HH.HTML w a
 | 
			
		||||
subtitle title = HH.h2 [ HP.classes [C.subtitle, C.is4] ] [ HH.text title ]
 | 
			
		||||
 | 
			
		||||
-- | Create a `level`, different components that should appear on the same horizontal line.
 | 
			
		||||
-- | First argument, elements that should appear on the left, second on the right.
 | 
			
		||||
level :: forall w i. Array (HH.HTML w i) -> Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
level left right = HH.nav [ HP.classes [C.level] ]
 | 
			
		||||
                          [ HH.div [ HP.classes [C.level_left]  ] $ itemize left
 | 
			
		||||
                          , HH.div [ HP.classes [C.level_right] ] $ itemize right
 | 
			
		||||
                          ]
 | 
			
		||||
   where itemize = map (\v -> HH.div [ HP.classes [C.level_item] ] [v])
 | 
			
		||||
 | 
			
		||||
section_small :: forall w i. Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
section_small = HH.section [ HP.classes [C.section, C.is_small] ]
 | 
			
		||||
 | 
			
		||||
section_medium :: forall w i. Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
section_medium = HH.section [ HP.classes [C.section, C.medium] ]
 | 
			
		||||
 | 
			
		||||
data_target :: forall r i. String -> HP.IProp r i
 | 
			
		||||
data_target = HP.attr (AttrName "data-target")
 | 
			
		||||
 | 
			
		||||
tile :: forall w i. Array HH.ClassName -> Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
tile classes = HH.div [HP.classes ([C.tile] <> classes)]
 | 
			
		||||
 | 
			
		||||
tile_ :: forall w i. Array (HH.HTML w i) ->  HH.HTML w i
 | 
			
		||||
tile_ = tile []
 | 
			
		||||
 | 
			
		||||
tile_danger :: forall w i. Array HH.ClassName -> Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
tile_danger classes = tile $ [C.is_danger, C.notification] <> classes
 | 
			
		||||
 | 
			
		||||
tile_warning :: forall w i. Array HH.ClassName -> Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
tile_warning classes = tile $ [C.is_warning, C.notification] <> classes
 | 
			
		||||
 | 
			
		||||
tag_light_info :: forall w i. String -> HH.HTML w i
 | 
			
		||||
tag_light_info str = HH.span [HP.classes [C.tag, C.is_info, C.is_light]] [HH.text str]
 | 
			
		||||
							
								
								
									
										23
									
								
								src/Web.purs
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								src/Web.purs
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,36 +1,41 @@
 | 
			
		|||
-- | `Web` module is an abstraction over most HTML-related code in order
 | 
			
		||||
-- | to have a consistent style through all the website.
 | 
			
		||||
module Web
 | 
			
		||||
  ( module Bulma
 | 
			
		||||
  , module Web.Basics
 | 
			
		||||
  ( module Web.Basics
 | 
			
		||||
  , module Web.Box
 | 
			
		||||
  , module Web.Button
 | 
			
		||||
  , module Web.Checkbox
 | 
			
		||||
  , module Web.Column
 | 
			
		||||
  , module Web.Data
 | 
			
		||||
  , module Web.Field
 | 
			
		||||
  , module Web.Header
 | 
			
		||||
  , module Web.Hero
 | 
			
		||||
  , module Web.Input
 | 
			
		||||
  , module Web.Level
 | 
			
		||||
  , module Web.Modal
 | 
			
		||||
  , module Web.Notification
 | 
			
		||||
  , module Web.Section
 | 
			
		||||
  , module Web.Tab
 | 
			
		||||
  , module Web.Table
 | 
			
		||||
  , module Web.Tag
 | 
			
		||||
  , module Web.Tile
 | 
			
		||||
  ) where
 | 
			
		||||
 | 
			
		||||
import Web.Basics
 | 
			
		||||
import Web.Box
 | 
			
		||||
import Web.Basics (article, article_, code, container, div_content, div_large_content, error_message, explanation, hdiv, hr, p, p_, quote, simple_quote, strong, text, textarea, textarea_, outside_link)
 | 
			
		||||
import Web.Box (box, box_, box_with_tag)
 | 
			
		||||
import Web.Button (alert_btn, alert_btn_abbr, btn, btn_, btn_abbr, btn_abbr_, btn_add, btn_delete, btn_delete_ro, btn_modify, btn_modify_ro, btn_readonly, btn_ro, btn_save, btn_validation, btn_validation_, cancel_button, delete_btn)
 | 
			
		||||
import Web.Checkbox (checkbox)
 | 
			
		||||
import Web.Column (column, column_, columns, columns_)
 | 
			
		||||
import Web.Data (data_target)
 | 
			
		||||
import Web.Field (btn_labeled, div_field, div_field_, div_field_content, div_field_label, error_field_entry, field_entry, new_domain_field, option, select, selection, selection', selection_field, selection_field', selection_field'', side_text_above_input)
 | 
			
		||||
import Web.Header (h1, h3, h4)
 | 
			
		||||
import Web.Header (h1, h3, h4, title, subtitle)
 | 
			
		||||
import Web.Hero (hero, hero_danger, hero_danger_txt, small_hero)
 | 
			
		||||
import Web.Input (box_input, box_input_, box_password, box_password_, email_input, field_inner, input_classes, input_with_side_text, password_input, password_input_confirmation, password_input_new, render_input, token_input, username_input)
 | 
			
		||||
import Web.Level (level)
 | 
			
		||||
import Web.Modal (modal, modal_, modal_background, modal_body, modal_card_large, modal_foot, modal_header)
 | 
			
		||||
import Web.Notification (error_box, notification, notification', notification_block', notification_danger, notification_danger', notification_danger_block', notification_primary, notification_primary', notification_success, notification_warning, notification_warning')
 | 
			
		||||
import Web.Table (table, table_)
 | 
			
		||||
import Web.Section (section_medium, section_small)
 | 
			
		||||
import Web.Tab (fancy_tabs, tab_entry, tabs)
 | 
			
		||||
import Web.Tag (tag, tag_ro, tags)
 | 
			
		||||
 | 
			
		||||
import Bulma
 | 
			
		||||
import Web.Table (table, table_)
 | 
			
		||||
import Web.Tag (tag, tag_ro, tags, tag_light_info)
 | 
			
		||||
import Web.Tile (tile, tile_, tile_danger, tile_warning)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -70,3 +70,6 @@ textarea_ classes placeholder value action
 | 
			
		|||
 | 
			
		||||
textarea :: forall w i. String ->  String -> (String -> i) -> HH.HTML w i
 | 
			
		||||
textarea placeholder value action = textarea_ [] placeholder value action
 | 
			
		||||
 | 
			
		||||
outside_link :: forall w a. Array HH.ClassName -> String -> String -> HH.HTML w a
 | 
			
		||||
outside_link classes url str = HH.a [ HP.classes classes, HP.target "_blank", HP.href url ] [ HH.text str ]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										7
									
								
								src/Web/Data.purs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/Web/Data.purs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
module Web.Data where
 | 
			
		||||
 | 
			
		||||
import Halogen.HTML.Properties as HP
 | 
			
		||||
import Halogen.HTML.Core (AttrName(..))
 | 
			
		||||
 | 
			
		||||
data_target :: forall r i. String -> HP.IProp r i
 | 
			
		||||
data_target = HP.attr (AttrName "data-target")
 | 
			
		||||
| 
						 | 
				
			
			@ -6,10 +6,18 @@ import Halogen.HTML.Properties as HP
 | 
			
		|||
import CSSClasses as C
 | 
			
		||||
 | 
			
		||||
h1 :: forall (w :: Type) (a :: Type). String -> HH.HTML w a
 | 
			
		||||
h1 title = HH.h1 [ HP.classes [C.title] ] [ HH.text title ]
 | 
			
		||||
h1 str = HH.h1 [ HP.classes [C.title] ] [ HH.text str ]
 | 
			
		||||
 | 
			
		||||
h3 :: forall (w :: Type) (a :: Type). String -> HH.HTML w a
 | 
			
		||||
h3 title = HH.h3 [ HP.classes [C.title] ] [ HH.text title ]
 | 
			
		||||
h3 str = HH.h3 [ HP.classes [C.title] ] [ HH.text str ]
 | 
			
		||||
 | 
			
		||||
h4 :: forall (w :: Type) (a :: Type). String -> HH.HTML w a
 | 
			
		||||
h4 title = HH.h4 [ HP.classes [C.title] ] [ HH.text title ]
 | 
			
		||||
h4 str = HH.h4 [ HP.classes [C.title] ] [ HH.text str ]
 | 
			
		||||
 | 
			
		||||
title :: forall w a. String -> HH.HTML w a
 | 
			
		||||
title title_str
 | 
			
		||||
  = HH.h3 [ HP.classes [C.title, C.has_text_light, C.has_background_dark] ]
 | 
			
		||||
          [ HH.text title_str ]
 | 
			
		||||
 | 
			
		||||
subtitle :: forall w a. String -> HH.HTML w a
 | 
			
		||||
subtitle str = HH.h2 [ HP.classes [C.subtitle, C.is4] ] [ HH.text str ]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										20
									
								
								src/Web/Level.purs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								src/Web/Level.purs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
module Web.Level where
 | 
			
		||||
 | 
			
		||||
import Prelude (map, ($))
 | 
			
		||||
 | 
			
		||||
import Halogen.HTML as HH
 | 
			
		||||
import Halogen.HTML.Properties as HP
 | 
			
		||||
 | 
			
		||||
import CSSClasses as C
 | 
			
		||||
 | 
			
		||||
-- import Web.Event.Event (type_, Event, EventType(..))
 | 
			
		||||
-- import Web.UIEvent.MouseEvent (MouseEvent) -- package web-uievents
 | 
			
		||||
 | 
			
		||||
-- | Create a `level`, different components that should appear on the same horizontal line.
 | 
			
		||||
-- | First argument, elements that should appear on the left, second on the right.
 | 
			
		||||
level :: forall w a. Array (HH.HTML w a) -> Array (HH.HTML w a) -> HH.HTML w a
 | 
			
		||||
level left right = HH.nav [ HP.classes [C.level] ]
 | 
			
		||||
                          [ HH.div [ HP.classes [C.level_left]  ] $ itemize left
 | 
			
		||||
                          , HH.div [ HP.classes [C.level_right] ] $ itemize right
 | 
			
		||||
                          ]
 | 
			
		||||
   where itemize = map (\v -> HH.div [ HP.classes [C.level_item] ] [v])
 | 
			
		||||
							
								
								
									
										12
									
								
								src/Web/Section.purs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/Web/Section.purs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
module Web.Section where
 | 
			
		||||
 | 
			
		||||
import Halogen.HTML as HH
 | 
			
		||||
import Halogen.HTML.Properties as HP
 | 
			
		||||
 | 
			
		||||
import CSSClasses as C
 | 
			
		||||
 | 
			
		||||
section_small :: forall w i. Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
section_small = HH.section [ HP.classes [C.section, C.is_small] ]
 | 
			
		||||
 | 
			
		||||
section_medium :: forall w i. Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
section_medium = HH.section [ HP.classes [C.section, C.medium] ]
 | 
			
		||||
| 
						 | 
				
			
			@ -13,3 +13,6 @@ tag str = HH.span [HP.classes [C.tag, C.is_dark]] [HH.text str]
 | 
			
		|||
 | 
			
		||||
tag_ro :: forall w i. String -> HH.HTML w i
 | 
			
		||||
tag_ro str = HH.span [HP.classes [C.tag, C.is_warning]] [HH.text str]
 | 
			
		||||
 | 
			
		||||
tag_light_info :: forall w i. String -> HH.HTML w i
 | 
			
		||||
tag_light_info str = HH.span [HP.classes [C.tag, C.is_info, C.is_light]] [HH.text str]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										21
									
								
								src/Web/Tile.purs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/Web/Tile.purs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
module Web.Tile where
 | 
			
		||||
 | 
			
		||||
import Prelude (($), (<>))
 | 
			
		||||
 | 
			
		||||
import Halogen.HTML as HH
 | 
			
		||||
import Halogen.HTML.Properties as HP
 | 
			
		||||
 | 
			
		||||
import CSSClasses as C
 | 
			
		||||
 | 
			
		||||
tile :: forall w i. Array HH.ClassName -> Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
tile classes = HH.div [HP.classes ([C.tile] <> classes)]
 | 
			
		||||
 | 
			
		||||
tile_ :: forall w i. Array (HH.HTML w i) ->  HH.HTML w i
 | 
			
		||||
tile_ = tile []
 | 
			
		||||
 | 
			
		||||
tile_danger :: forall w i. Array HH.ClassName -> Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
tile_danger classes = tile $ [C.is_danger, C.notification] <> classes
 | 
			
		||||
 | 
			
		||||
tile_warning :: forall w i. Array HH.ClassName -> Array (HH.HTML w i) -> HH.HTML w i
 | 
			
		||||
tile_warning classes = tile $ [C.is_warning, C.notification] <> classes
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue