hr_lite 0.35.0 → 0.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b89cc7943db74414a4d788a6455c972cbc114f786a1f4f9441908dba5fe9a0a4
|
|
4
|
+
data.tar.gz: 7a80d0e103a2dab3720ba5b3f3abbc861e1b0133d85edd20035314667b325928
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5b0d4fa99d60e1c3b4d15275ab7309032922c384d64aaa9af950980427ade931dc91c369f78b8870708f04b1284cedbe89c990a9705a4b28c22fd74a0ffa7ca9
|
|
7
|
+
data.tar.gz: 17f0cacac2684fd53c56d2faffb8846531529e3e97f723cd4d9845eb78ed1bc5d687dfd1116b2aeda08dc3c30faf36cfdd1e5a42b976fd3593595817330c15b6
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.35.1] - 2026-10-13
|
|
11
|
+
|
|
12
|
+
- Spacing: forms, buttons and expandable sections stacked in a card no longer touch (only form fields carried spacing, so "Set a status" sat on "Change my mode", "Save status" on "Check in", "Out of office" on "Check out"). One card-level rule gives them a 12px gap. The emoji grid, lead picker, check-in badges, punch-card links (now wrapping as whole items, no dangling dots) and the admin month's In/Out map links all keep at least the 8px gap between touch targets. Measured at 360 px and 1280 px across Home, Attendance, WFH, WFH locations, My work time, Team and the HR work-mode, WFH, locations, work-time, attendance, holidays and employee screens: no stacked targets closer than 8px, no horizontal scroll.
|
|
13
|
+
|
|
10
14
|
## [0.35.0] - 2026-10-13
|
|
11
15
|
|
|
12
16
|
- Today's check-ins on Home: everyone in today, split into on time, late and not in yet (leave, holidays and weekends left out). "On time" uses each person's own slot plus their HR buffer and the grace minutes, the same rule as the late penalty. Hover or tap a person for their check-in, how late, check-out and hours worked (or hours so far).
|
|
@@ -234,6 +234,18 @@ html:has(.hrl-body) { scroll-padding-top: 4rem; scroll-padding-bottom: calc(4.4r
|
|
|
234
234
|
.hrl-card--empty { text-align: center; color: var(--hrl-muted); padding: 1.8rem 1rem; }
|
|
235
235
|
.hrl-card--warn { background: var(--hrl-warn-bg); border-color: transparent; }
|
|
236
236
|
.hrl-card > p:first-child { margin-top: 0; }
|
|
237
|
+
/* Vertical rhythm: forms, buttons and disclosures stacked in a card never
|
|
238
|
+
touch (only .hrl-field carried spacing, so a button above a form, or an
|
|
239
|
+
open disclosure above the next control, sat flush). 12px >= the 8px
|
|
240
|
+
minimum gap between touch targets. */
|
|
241
|
+
.hrl-card > :is(form, details, .button_to) + *,
|
|
242
|
+
.hrl-card > * + :is(form, details, .button_to) { margin-top: .75rem; }
|
|
243
|
+
details[open] > summary.hrl-btn { margin-bottom: .75rem; }
|
|
244
|
+
.hrl-links { display: flex; flex-wrap: wrap; gap: var(--hrl-gap-target) 1rem; margin-bottom: var(--hrl-gap-target); }
|
|
245
|
+
[data-hrl-crm] select { margin-top: var(--hrl-gap-target); }
|
|
246
|
+
.hrl-checkins + .hrl-card__link { margin-top: var(--hrl-gap-target); }
|
|
247
|
+
.hrl-punch-line + .hrl-punch-line { margin-top: var(--hrl-gap-target); }
|
|
248
|
+
details > form > button[type=submit], details > form > .hrl-btn { margin-top: .25rem; }
|
|
237
249
|
.hrl-card__link, .hrl-backlink { display: inline-flex; gap: var(--hrl-s-1); align-items: center; min-height: var(--hrl-target); min-width: var(--hrl-target); font-size: var(--hrl-t-small); font-weight: 600; }
|
|
238
250
|
.hrl-listrow { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: var(--hrl-s-1) var(--hrl-s-3); padding: var(--hrl-s-3) 0; border-bottom: 1px solid var(--hrl-line); min-height: var(--hrl-target); color: var(--hrl-ink); overflow-wrap: anywhere; }
|
|
239
251
|
.hrl-listrow:last-child { border-bottom: 0; }
|
|
@@ -608,7 +620,7 @@ a.hrl-tree__name { display: inline-flex; align-items: center; min-height: var(--
|
|
|
608
620
|
.hrl-chart-tip { position: absolute; z-index: 30; max-width: 16rem; padding: .4rem .6rem; border-radius: var(--hrl-radius-sm); background: var(--hrl-ink); color: var(--hrl-card); font-size: var(--hrl-t-small); pointer-events: none; }
|
|
609
621
|
[data-hrl-tip]:focus { outline: 2px solid var(--hrl-accent); outline-offset: 1px; }
|
|
610
622
|
.hrl-custom-status { display: inline-flex; gap: .3rem; align-items: center; overflow-wrap: anywhere; }
|
|
611
|
-
.hrl-emoji-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(2.75rem, 1fr)); gap:
|
|
623
|
+
.hrl-emoji-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(2.75rem, 1fr)); gap: var(--hrl-gap-target); margin-top: var(--hrl-gap-target); }
|
|
612
624
|
.hrl-emoji { min-height: var(--hrl-target); border: 1px solid var(--hrl-line); border-radius: var(--hrl-radius-sm); background: var(--hrl-card); font-size: 1.25rem; cursor: pointer; }
|
|
613
625
|
/* Today's check-ins: one initials badge per person; hover/tap shows times. */
|
|
614
626
|
.hrl-checkins + .hrl-checkins { margin-top: .6rem; }
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<% [ [ "In", record.check_in_at, record.check_in_lat, record.check_in_lng ],
|
|
40
40
|
[ "Out", record.check_out_at, record.check_out_lat, record.check_out_lng ] ].each do |label, at, lat, lng| %>
|
|
41
41
|
<% next unless at %>
|
|
42
|
-
<div><%= label %> <%= at.strftime("%H:%M") %> · <%= record.remote? ? record.work_mode_label : (HrLite::OfficeLocation.place(lat, lng, @offices) || "No GPS") %>
|
|
42
|
+
<div class="hrl-punch-line"><%= label %> <%= at.strftime("%H:%M") %> · <%= record.remote? ? record.work_mode_label : (HrLite::OfficeLocation.place(lat, lng, @offices) || "No GPS") %>
|
|
43
43
|
<% if lat && lng %>
|
|
44
44
|
· <a class="hrl-card__link" href="https://www.google.com/maps?q=<%= lat %>,<%= lng %>" target="_blank" rel="noopener noreferrer">Map<span class="hrl-sr-only"> of <%= label.downcase %> <%= record.date.strftime("%-d %b") %></span></a>
|
|
45
45
|
<% end %>
|
|
@@ -91,12 +91,15 @@
|
|
|
91
91
|
</div>
|
|
92
92
|
<% end %>
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
<%# Links wrap as whole items; no separator dots left dangling at a line end. %>
|
|
95
|
+
<div class="hrl-links">
|
|
96
|
+
<a class="hrl-card__link" href="<%= hr_lite.attendance_path %>">View my month</a>
|
|
97
|
+
<% if HrLite.config.office_geofence %>
|
|
98
|
+
<a class="hrl-card__link" href="<%= hr_lite.wfh_requests_path %>">Work from home</a>
|
|
99
|
+
<a class="hrl-card__link" href="<%= hr_lite.work_locations_path %>">WFH locations</a>
|
|
100
|
+
<a class="hrl-card__link" href="<%= hr_lite.work_time_path %>">My work time</a>
|
|
101
|
+
<% end %>
|
|
102
|
+
</div>
|
|
100
103
|
|
|
101
104
|
<% if local_assigns.key?(:attention) %>
|
|
102
105
|
<div class="hrl-row">
|
data/lib/hr_lite/version.rb
CHANGED