Skip to content

Commit fb0d390

Browse files
committed
fix: suppress ruler 0
1 parent e0982da commit fb0d390

3 files changed

Lines changed: 8 additions & 9 deletions

File tree

packages/layout-engine/painters/dom/src/ruler/ruler-renderer.test.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,13 @@ describe('createRulerElement', () => {
8888
expect(allTicks[4].style.left).toBe('48px'); // Half tick
8989
});
9090

91-
it('adds labels to main ticks', () => {
91+
it('adds labels to main ticks but skips the leading zero', () => {
9292
const ruler = createRulerElement({ definition, doc });
9393

9494
const labels = ruler.querySelectorAll(`.${RULER_CLASS_NAMES.label}`);
95-
expect(labels.length).toBe(2); // Two main ticks with labels
95+
expect(labels.length).toBe(1); // Label 0 is hidden to prevent overflow clipping
9696

97-
expect(labels[0].textContent).toBe('0');
98-
expect(labels[1].textContent).toBe('1');
97+
expect(labels[0].textContent).toBe('1');
9998
});
10099

101100
it('does not add labels to non-main ticks', () => {
@@ -264,16 +263,16 @@ describe('createRulerElement', () => {
264263
expect(labels.length).toBe(0);
265264
});
266265

267-
it('handles tick with label value of 0', () => {
266+
it('does not render label for tick with label value of 0', () => {
268267
const singleTickDefinition: RulerDefinition = {
269268
...definition,
270269
ticks: [{ size: 'main', height: '20%', label: 0, x: 0 }],
271270
};
272271

273272
const ruler = createRulerElement({ definition: singleTickDefinition, doc });
274273

275-
const label = ruler.querySelector(`.${RULER_CLASS_NAMES.label}`);
276-
expect(label?.textContent).toBe('0');
274+
const labels = ruler.querySelectorAll(`.${RULER_CLASS_NAMES.label}`);
275+
expect(labels.length).toBe(0);
277276
});
278277
});
279278

packages/layout-engine/painters/dom/src/ruler/ruler-renderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ function createTickElement(tick: RulerTick, doc: Document): HTMLElement {
155155
`;
156156

157157
// Add label for main ticks
158-
if (tick.label !== undefined) {
158+
if (tick.label !== undefined && tick.label !== 0) {
159159
const label = doc.createElement('span');
160160
label.className = RULER_CLASS_NAMES.label;
161161
label.textContent = String(tick.label);

packages/super-editor/src/components/rulers/Ruler.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ onUnmounted(() => {
459459
:class="['ruler-tick', `ruler-tick--${tick.size}`]"
460460
:style="getTickStyle(tick)"
461461
>
462-
<span v-if="tick.label !== undefined" class="numbering">{{ tick.label }}</span>
462+
<span v-if="tick.label !== undefined && tick.label !== 0" class="numbering">{{ tick.label }}</span>
463463
</div>
464464
</template>
465465
</div>

0 commit comments

Comments
 (0)