-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-- Copyright 2026 Shota FUJI
--
-- This Source Code Form is subject to the terms of the Mozilla Public
-- License, v. 2.0. If a copy of the MPL was not distributed with this
-- file, You can obtain one at https://mozilla.org/MPL/2.0/.
--
-- SPDX-License-Identifier: MPL-2.0
module Template.Layout exposing (render)
import Svg exposing (..)
import Template.Layout.Coordinate exposing (..)
import Template.Layout.Item exposing (Item)
render : Size -> Item msg -> Svg msg
render size item =
let
width =
case item.size.width of
Exactly w ->
min w size.width
AtLeast _ ->
size.width
height =
case item.size.height of
Exactly h ->
min h size.height
AtLeast _ ->
size.height
in
item.element (Point2D 0 0) (Size width height)