diff --git a/examples/views/file_upload/file_upload.css b/examples/views/file_upload/file_upload.css new file mode 100644 index 0000000..97601b8 --- /dev/null +++ b/examples/views/file_upload/file_upload.css @@ -0,0 +1,145 @@ +.upload-wrapper { + width: 500px; + margin: 0 auto; +} + +.file-item { + display: flex; + padding: 8px; + border: 1px solid #ddd; + border-radius: 8px; + margin-bottom: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} + +.file-thumbnail { + width: 64px; + height: 64px; + border-radius: 4px; + margin-right: 10px; + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; +} + +.file-thumbnail img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.file-info { + flex-grow: 1; +} + +.file-info p { + margin: 0; + font-size: 14px; + color: #333; +} + +.file-item.error { + background-color: #f8d7da; +} + +.file-progress { + height: 6px; + background-color: #e0e0e0; + border-radius: 3px; + overflow: hidden; + margin: 4px 0; +} + +.file-progress-bar { + height: 100%; + background-color: #4caf50; + border-radius: 3px; +} + +.file-cancel { + background-color: transparent; + border: none; + cursor: pointer; + font-size: 18px; + color: #999; + margin-left: 10px; +} + +.uploaded-files { + margin-top: 20px; +} + +.upload-button-container { + text-align: right; +} + +.photo-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); + gap: 10px; +} + +.photo-grid .photo-item { + background: white; + padding: 10px; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + display: flex; + flex-direction: column; + align-items: center; + position: relative; + overflow: hidden; +} + +.photo-grid .photo-item::before { + content: ""; + display: block; + padding-bottom: 100%; +} + +.photo-grid .photo-item img { + width: 100%; + height: 100%; + object-fit: cover; + position: absolute; + top: 0; + left: 0; +} + +.photo-caption { + margin-top: auto; + padding: 5px 0; + font-size: 12px; + color: #333; + background-color: white; + width: 100%; + text-align: center; + border-top: 1px solid #ddd; + position: absolute; + bottom: 0; +} + +.error-text { + color: #721c24; + font-size: 12px; +} + +.error-message { + background-color: #f8d7da; + color: #721c24; + border: 1px solid #f5c6cb; + padding: 10px; + border-radius: 4px; + margin-bottom: 20px; +} + +button { + margin-right: 0; +} + +.upload-instructions { + font-size: 0.9em; + font-style: oblique; + color: #999; +} \ No newline at end of file diff --git a/examples/views/file_upload/file_upload.html b/examples/views/file_upload/file_upload.html index c17996d..b1a1832 100644 --- a/examples/views/file_upload/file_upload.html +++ b/examples/views/file_upload/file_upload.html @@ -1,151 +1,3 @@ - -
Add up to {{upload_config.constraints.max_files}} photos (max - {{upload_config.constraints.max_file_size | readable_size}})
+ {{upload_config.constraints.max_file_size | readable_size}}) + {{upload_config | live_file_input}} ... or drag and drop files here diff --git a/examples/views/kanban/kanban.css b/examples/views/kanban/kanban.css new file mode 100644 index 0000000..c8e2b9f --- /dev/null +++ b/examples/views/kanban/kanban.css @@ -0,0 +1,169 @@ +main { + margin: 0; + padding: 20px; + display: flex; + justify-content: center; + align-items: start; + height: 100vh; +} + +h1 { + margin-top: 12px; + text-align: center; +} + +.kanban-board { + display: flex; + gap: 20px; +} + +.kanban-list { + background-color: #f0f2f5; + border-radius: 8px; + width: 300px; + padding: 15px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); + display: flex; + flex-direction: column; +} + +.kanban-list h3 { + margin: 0; + padding: 0; + font-weight: 700; + display: flex; + align-items: center; + color: #333; + font-size: 16px; + justify-content: space-between; +} + +.kanban-list h3 .status-container { + display: flex; + align-items: center; +} + +.kanban-list h3 .status-circle { + width: 12px; + height: 12px; + border-radius: 50%; + margin-right: 8px; +} + +.kanban-list h3 .item-count { + background-color: #E0E0E0; + border-radius: 12px; + padding: 2px 6px; + font-size: 12px; + color: #555; + margin-left: 8px; +} + +.kanban-list h3 .item-count.error { + background-color: #FFE5E5; + color: #D32F2F; +} + +.kanban-list h3 .add-button { + background-color: #EDEDED; + border: none; + border-radius: 50%; + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + font-size: 18px; + line-height: 18px; + color: #555; + transition: background-color 0.2s ease; + padding: 0; + box-sizing: content-box; +} + + +.kanban-list h3 .add-button:hover { + background-color: #D0D0D0; +} + + +.kanban-cards { + flex-grow: 1; + margin-top: 10px; +} + +.kanban-card { + background-color: #fff; + border-radius: 10px; + margin-bottom: 15px; + padding: 15px; + display: flex; + flex-direction: column; + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1); + cursor: pointer; + transition: box-shadow 0.2s; +} + +.kanban-card:hover { + box-shadow: 0 3px 15px rgba(0, 0, 0, 0.2); +} + +.kanban-card .card-header { + display: flex; + justify-content: space-between; + margin-bottom: 10px; +} + +.kanban-card .card-header span { + font-size: 14px; + font-weight: 700; + color: #757575; +} + +.kanban-card .card-title { + font-size: 18px; + font-weight: 700; + margin: 0 0 10px; + color: #333; +} + +.kanban-card .card-description { + font-size: 14px; + color: #757575; + margin: 0 0 15px; +} + +.kanban-card .card-footer { + display: flex; + align-items: center; + justify-content: space-between; +} + +.kanban-card img { + border-radius: 50%; + width: 32px; + height: 32px; +} + +.kanban-card .priority { + width: 24px; + height: 24px; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 50%; + color: #fff; +} + +.kanban-card .priority.high { + background-color: rgba(161, 39, 39, 0.2); +} + +.kanban-card .priority.mid { + background-color: rgba(243, 168, 59, 0.2); +} + +.kanban-card .priority.low { + background-color: rgba(54, 114, 184, 0.2); +} \ No newline at end of file diff --git a/examples/views/kanban/kanban.html b/examples/views/kanban/kanban.html index 80a436d..2bb7f75 100644 --- a/examples/views/kanban/kanban.html +++ b/examples/views/kanban/kanban.html @@ -1,175 +1,3 @@ - -